Resources that help you to master GNU/Linux -- all the way from Australia ! |
Linux Supporters Group |
Home | Blog | Interest | Tutorials |
I revisited the venerable astronomical program 'xephem' recently, and learnt some skills that I would like to pass on for their wider application under Linux.
Install 'xephem' on MX or Devuan Linux (if you have mislaid it between distro updates) by executing:
$ wget http://e2rd.piekielko.pl/debian/binary-amd64/xephem_3.7.7-4_amd64.deb
$ wget http://e2rd.piekielko.pl/debian/binary-amd64/xephem-catalogs_0.0.20161106-1_all.deb
# apt install libmotif
# apt install libxm4
# dpkg -i xephem_3.7.7-4_amd64.deb
# dpkg -i xephem-catalogs_0.0.20161106-1_all.deb
$ xephem
I aimed to automatically generate a 2-dimensional plot from the output of 'xephem', showing the direction of each star and how high in the sky it is. The output from 'xephem' at a given time and place includes the azimuth (bearing from north) and altitude (angle up from horizontal) to each astro-body of interest. I convert these numbers into a point on a 2-dimensional graph, a line from the origin to that point showing the body direction, and the length of line proportional to the angle up to the body.
>>> Useful skill number 1 ... the korn shell <<<
There are simple trigonometrical equations for calculating these plotted star positions. Unfortunately, the bourne-again shell has no native maths functions, thus forcing use of external functions such as 'bc -l', with its limited trigonometric expressions. The programming is messy to read and so hard to debug. On the other hand, the korn shell has all the native maths functions you could reasonably want. The equations are written in exactly the way they occur in normal algebra -- easy to read and debug. So I adopted 'ksh' instead of 'bash' for this whole project.
>>> Useful skill number 2 ... the gnuplot program <<<
I chose the powerful 'gnuplot' program for plotting the positions thus calculated. Start gnuplot by typing "gnuplot", and then execute a heuristic sequence of gnuplot commands; when happy with them, put them in a file that can be automatically run by gnuplot. I want the plot to comprise the star positions, along with their names and directions. It turns out that I can kill two birds with one stone right here. In gnuplot there are two commands: "plot ... with labels", which writes the text that is next to the position in the data file, and "plot ... with lines" which draws a straight line between successive data points in the file.
So I put (only some shown) the star x,y coordinates in the file "plot.xy" like this:
44 25 Spica
21 -6 Antares
-26 -25 Canopus
-14 37 Regulus
and I insert a line with just '0 0' in it before every data line, using this script:
rm -f plot.dat
(while read line
do
echo "0 0" >> plot.dat
echo "$line" >> plot.dat
done ) < plot.xy
which produces the new file "plot.dat" which looks like this:
0 0
44 25 Spica
0 0
21 -6 Antares
0 0
-26 -25 Canopus
0 0
-14 37 Regulus
Now, if I start gnuplot and run the command "plot 'plot.dat' with labels" I get the text "Spica" centered on the point (44,25), no text at (0,0), the text "Antares" around the point (21,-6), etc, shown here with labels. However, if I run the command "plot 'plot.dat' with lines" I get a straight line from (0,0) out to (44,25), then a straight line back to (0,0), then a straight line out to (21,-6), and so on, which produces direction lines from me (the observer at (0,0)) to every star position, shown here with lines. These are distinct plots. To get the "lines" plot on top of the "labels" plot, you add the extra " 'plot.dat' with lines" to the 'plot' command; this shows the final result.
>>> Useful skill number 3 ... /bin/date -d <<<
I ultimately want a printable star chart. In gnuplot you can specify that the output goes to pdf by the command "set term pdf size 7,7" (giving a 7 inch x 7inch area on an A4 page for the plot) followed by the command "set output 'plot.pdf'" (to define the output filename). Note that the date-stamp of the observations produced by 'xephem' (4/2/2023) is not very descriptive; if I want it in the title of the plot it needs a bit of massaging. The '/bin/date' program, run as '/bin/date -d "4/2/2023"', gives me the more useful form 'Sun 2 Apr 2023' instead. To get a title on the plot, use the command "set title '22:45 Sun 2 Apr 2023'".
The interactive gnuplot commands so far look like this:
$ gnuplot
gnuplot> set term pdf size 7,7
gnuplot> set output 'plot.pdf'
gnuplot> set title "22:45 Sun 2 Apr 2023"
gnuplot> plot 'plot.dat' with labels, 'plot.dat' with lines
gnuplot> quit
and if these commands (to the right of each '>' prompt) are written to a file called 'gnuplot.in', the whole lot can be executed automatically by running: "gnuplot gnuplot.in". Instead of printing it with 'lpr plot.pdf', I just display the 'plot.pdf' on the computer (using 'xpdf' or 'evince'), photograph it on my phone, and take that outside to identify everything in the sky. I have included that star plot here produced by this system.
There are advanced configuration options available to all of these programs; I have been able to survive on their simplest defaults.
This item came into my possession recently -- it was born in 2009, according to the BIOS, and looks like my old, dead iMac, which is why I got very interested.
Power up, press F2 for the BIOS, shove in Knoppix 7.2 on DVD, see what the hardware is.
Nice. It has an Atheros wireless chipset, a traditional BIOS, built-in speakers, and can boot from CDROM. So it is clearly time to rip off the Windows sticker and install Devuan 'ascii'.
The installation goes without a hitch, and I reboot into Devuan. Something flashes across the screen too fast to read. What is it? I take a movie and discover it is just an old-fashioned BIOS message, "copyright 1984-2007 phoenix technologies ltd" etc. But why does that not stay on the screen a bit longer?
The booting continues OK, and I browse the web for an answer to the BIOS message problem, but now I am told that ordinary sites are suddenly dangerous to continue with, because of out-of-date certificates! Clearly a clock problem, from my previous experience. And indeed, the date has reverted to 1 Jan 2009.
So the CMOS battery needs replacing. I do it, after noting how the existing battery was installed. That battery only had 0.04 Volts left in it.
Power up and reboot into the BIOS, set the correct date, and reboot: the date is now OK. Power down for the day. But the next day, power up and boot ... and the date is back to 2009! WTF!?
... Is the CMOS battery around the wrong way? I open it up and decide to reverse the CMOS battery, which I had replaced the same way around as the one that was in there already, but if that was back-to-front then this is worth trying. Rebooted and it now holds the correct CMOS date. Phew!
I then examined the output of 'dmesg' and found lines like this one:
ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Pm1aEventBlock: 32/8 (20160831/tbfadt-603) [etc]
which the web suggested was due to it being in an old format, not expected by a modern linux kernel. After all, the Phoenix BIOS was made in 2007, this NEC in 2009, and it is 2019 already.
Suggested fixes on the 'web to some seemingly-random problems that might arise from this were: in /etc/default/grub, change the relevant line
to ---> GRUB_CMDLINE_LINUX_DEFAULT="noapic nolapic"
or to ---> GRUB_CMDLINE_LINUX_DEFAULT="acpi=off"
With nothing to lose, I tried both and the first worked better. I also altered some BIOS options so I could see the Phoenix notice for a few seconds. I set:
no exec page protect ---> enable
speed step ---> disable
silent boot ---> disable
media instant ---> disable
power off usb ---> disable
I turned off the power and went to bed. The next day it all booted normally.
And so far it remains totally tamed --- and I love it!
I have been using the Korn Shell on OpenBSD recently, and being forced to consult some excellent resources on it, have come across some things I did not know, that I can apply to the Bourne Again Shell when I get back to Devuan Linux.
One mistake that bit me for a few puzzling hours was the 'read' function used within a 'while read line do' loop.
Here is the failed script portion:
(while read line
do
subject=$(echo $line|awk -F / '{print $1}')
movie=$(echo $line|awk -F / '{print $2}')
echo -n "ENTER ($subject) or q=quit < "
read ans
[ "$ans" == "q" ] && exit 0
mpv $movie
done)<play-order
Very amusing. It took about three hours to eventually dawn on me that the 'read ans' command within the brackets READS FROM THE SAME STREAM as the file 'play-order', and thus never reads the actual response typed in from the keyboard.
Barry Rosenberg's book 'Hands-On KornShell93 Programming', full of engaging examples, gives me the commands
exec 3< play-order
to open an input stream from the file 'play-order' using file ID '3', and then the command
read -u0 ans
to get the typed-in response 'ans' from the keyboard.
Here is the working script portion:
exec 3< play-order
while read -u3 line
do
subject=$(echo $line|awk -F / '{print $1}')
movie=$(echo $line|awk -F / '{print $2}')
echo -n "ENTER ($subject) or q=quit < "
read -u0 ans
[ "$ans" == "q" ] && exit 0
mpv $movie
done
Straightforward. No more confusion. No extra process. Variables recognised script-wide. Simplicity. Easily debugged. All the good things.
So I now program to the 'ksh' standard from the start, knowing that the resulting script will run on OpenBSD (under ksh) and on Linux (under bash) without modification.
Not a headline that we in Australia are likely to see any time soon; it comes from the U.S. And for the record, I quote the article here, which is by the Electronic Freedom Foundation.
The ENCRYPT Act Protects Encryption from U.S. State Prying
It’s not just the Department of Justice and the FBI that want to undermine your right to private communications and secure devices—some state lawmakers want to weaken encryption, too. In recent years, a couple of state legislatures introduced bills to restrict or outright ban encryption on smartphones and other devices. Fortunately, several Congress members recently introduced their own bill to stop this dangerous trend before it goes any further.
The bill is called the ENCRYPT Act. EFF gladly supports it and thanks Representatives Ted Lieu (D-CA), Mike Bishop (R-MI), Suzan DelBene (D-WA), and Jim Jordan (R-OH) for sponsoring and co-sponsoring the bill.
Encryption—the technology used to secure data on phones and computers and keep digital messages safe from eavesdroppers—is under threat around the world. In the U.S., some of those threats have come from the Department of Justice and FBI, which want technology companies to purposefully and irresponsibly weaken encryption so that law enforcement can more easily get their hands on the contents of encrypted data and messages.
But the threats have come from individual U.S. states, too.
Two years ago, lawmakers in California and New York introduced statewide legislation that would’ve significantly limited their residents’ access to encrypted devices and services. In California, for example, Assembly Bill 1681 would have originally required that any smartphone sold in the state be “capable of being decrypted and unlocked by its manufacturer or its operating system provider.” To help compel this, manufacturers could have been subject to fines of $2,500 for every non-compliant device sold in the state.
This piecemeal approach to encryption is not just wrong-headed, it simply won’t work. If state legislatures individually meddle with encryption policy, we could see a landscape where Illinois residents can buy the latest iPhone and download messaging apps like Signal and WhatsApp, but Californians can’t. But the California and New York state bills, intended to help law enforcement catch criminals, ignored the reality that people could still cross into states where the technology is unrestricted to purchase encrypted devices. What’s more, it would be trivially easy for anyone to download encrypted messaging apps online, regardless of state laws.
The ENCRYPT Act would make sure this scenario doesn’t come to pass. In fact, the bill was originally introduced in 2016 as a bulwark against the California and New York state bills—both of which failed on their own.
The ENCRYPT Act would prevent U.S. states and local governments from compelling companies to weaken their encrypted products or store decryption keys for use on demand by law enforcement. It would also prevent states from prohibiting the sale and offering of certain devices and services based solely on their encryption capabilities. That means everyone across the United States, no matter what state they live in, could have equal access to strong encryption.
Of course, there are threats to encryption at the federal level as well, which is why EFF also [110]supports the Secure Data Act. The Secure Data Act, which also has bipartisan sponsorship, would act as a perfect complement to the ENCRYPT Act by prohibiting courts and federal agencies from mandating weakened encryption or otherwise intentionally introducing security vulnerabilities. Together, the two bills would go a long way toward ensuring that strong encryption remains free of government interference in the United States.
In the meantime, the ENCRYPT Act gets encryption policy right. Your zip
code shouldn't determine your digital security.
Security software for ordinary users can be overly-complex. Even a graphical interface can be daunting to navigate, if the underlying principle of operation of the software is convoluted.
Here at the LSGA we consider 'gpg' too confusing for beginners' use. This has been borne out by many years of independant research. You also need to appreciate that in the long term it is vulnerable to a breakthrough in the algorithm for factoring large numbers into primes. We do not do GUIs. We develop simple commandline interfaces for a restricted set of practical requirements. If your requirements match, you can use the program.
For example, we have 'lsga-secure' for protecting a set of files and folders on your PC using AES via the LibreSSL program.
For example, we are developing 'lsga-private' for sending a one-time encrypted file to another person, avoiding the gpg system.
In all cases, we aim at: simple installation as a normal user (not root); simple commands, at most two words; fail-safe operation (everything anticipated).
The so-called Next Unit of Computing comprises a range of small-form-factor personal computers designed by Intel.
The BOX-NUC-7i3-BNK kit was lying around at the computer shop I was in, noticed whilst I was seeking something similar. Made a few months ago, it is a seventh generation Kaby Lake-U i3-Core system in a box about 4 inches square and an inch high, perfect for portable and headless operation.
I stuck 4GB of RAM into it, along with a 250GB SSD --- and installed Devuan 2.0 ASCII, which proceeded happily, uneventfully and successfully.
The wireless NIC (an Intel Dual Band Wireless AC 8265) was useable straight away, as was the ethernet. There shall be more on this later as I explore this device further.
This device appeared at our Linux Learners Lounge recently. I stuck it into a Samsung notebook on which we had just installed Mint 18.3 ... and waited ... but could not detect evidence that it was working.
Why not?
Because I'm so old fashioned -- I have not dealt with these creatures since the Optus E160/E1762 USB dongle. In those days it was clear to us. They were detected after being plugged in to the USB port; devices at /dev/ttyUSB0 and /dev/ttyUSB1 created; their mode switched, configured as a serial modem, run by the point-to-point daemon; and the ppp0 interface created to manage connections.
Nothing at all like that happened. Complete silence, from my point of view. No 'mobile-broadband' entry in the network manager, either.
I was quite stuck for inspiration.
Trusting Knoppix to deal with most hardware, I booted Knoppix 8.1 on a Lenovo laptop, and stuck in the dongle. It was seen by 'dmesg'. But the really weird thing was that the interface 'eth0' was created, even though this laptop has no ethernet NIC.
Did this come from the dongle? An IP address was handed out, too, at 192.168.1.100, and 'ping' saw linuxlsga.net and browsing worked! /sbin/route showed eth0 as the only way out, so it doesn't create /dev/ttyUSB0 or ppp0. So which program was handling the connection? 'ps ax' returned 'dhclient'. All so odd to me.
OK. Try one more computer ... Devuan 2.0 on a Macbook with eth0 and wlan0 NICs.
Boot; insert; eth1 created. But this time I had wicd in control, not network-manager. And there, amongst the other wireless-access points, was one I had not seen before at home, but that had been present at the Lounge: named like TWD4G_ABC. I clicked on 'connect' --- and it said:
This device needs a WPA2 encryption key (!)
Oh, well ... RTFM. Onto another computer, internet, download the manual, which explains that a 'wingle' is a 'dongle' with the added ability to be connected by wifi from other computers. It suggests pulling off the cover of the dongle, which reveals ... the SSID (like TWD4G_ABC) and the WPA2 key (like 98543322).
So ... typed in the number, clicked connect, and ... it associated, authenticated, and got an IP address (192.168.1.100), but this time it created the interface 'wlan0' instead. And now 'ps ax' showed that 'wpa_supplicant' was running the session. Aha!
It all worked perfectly! Despite the three distros slightly different methods, the procedure is straightforward. And at last I understood that the older method of treating it like a dial-up modem has now been replaced by the newer method of treating it as a wireless access point.
Both have their logic ... but a 'wingle' ain't a 'dongle'. Old habits die hard, but I am now one happy chappy again!
It is mid-June, 2018, and I am happily typing the command:
$ lsb_release -a
into my laptop and receiving the surprising response:
Distributor ID: Devuan
Description: Devuan GNU/Linux 2.0 (ascii)
Release: 2.0
Codename: ascii
I have decided, after 20 years with Debian, to switch all my computer systems to Devuan GNU+Linux, thus abandoning Debian New/Linux completely.
Why?
This line greeted me a week ago at the start of an email:
"Dear Init Freedom Lovers: Once again the Veteran Unix Admins salute you!"
Of course, I was intrigued. I had long ago subscribed to the Devuan announcements, but without much hope, just keeping abreast of things.
But this time was different. Version 2.0 was ready for download! Version 2.0 already!
Up until then, I had just noticed some straws in the wind, in both Jessie and Stretch: the sudden disappearance of "CTRL+ALT+BKSP" as default to kill the X Server; the loss of "/etc/rc.local" as default for your own post-boot commands; the weird failure as default to name single interfaces "eth0" and "wlan0"; the occasional and inexplicable lockups; and most recently, the strange 3 minute wait when my "/etc/network/interfaces" entry was ignored.
This reminded me of what the young Bob Dylan once sang: "A lot of people don't have much food on their table -- But they got a lot of forks and knives -- And they gotta cut something ..."
None-the-less, these niggles did not add up to action on my part, until a day after that email. I was tidying up, and found an old book (published in 2008) called "Linux in Easy Steps" by Mike McGrath. I re-read it, and as I did so, it made me see the Linux landscape freshly for the first time in ages.
So I opened another one of my old books (published in 2001): "Debian GNU/Linux Bible" by Steve Hunger, and re-discovered Ian Murdock's foreword ...
As I read, there were other things that I realised we had lost bit by bit: - "Run levels obsolete ..."; - "CTRL+ALT+F1-6" not always enabled in many distros; - (etc). And a certain nostalgia for those good old days started to well up inside me.
So I suddenly thought: F**k It! --- I owe it to them to try it out.
And I did. On three computers: an old BIOS and two UEFI.
Devuan installed in a straight-forward way (even though the questions seemed slightly unusual and a little unfamiliar to a debian guy).
And when I booted Devuan and played with it, I felt that I could breath again ... Fast. Solid. /etc/rc2.d and friends. Sane defaults. Backward-compatible. All the things we always took for-granted. Lots of little things came flooding back.
And it turns out that for those of us fortunate enough to have jettisoned Gnome on the first whiff of Gnome3, we now have our reward: migrating from both Debian Jessie and Debian Stretch to Devuan ASCII is without drama!
I decided to risk this migration on my main UEFI computer.
There were two delightful 'gotchas' which were easily circumvented.
First: not enough space for the upgrade. Fixed by making a soft link for /var/cache/apt on an external USB stick.
Second: all my openssl-encrypted files would not decrypt. Fixed by some RTFM, i.e., the message digest default changed from md5 to sha256 after the upgrade.
Finally, there was a small glitch whilst configuring the init scripts, which was solved by removing the file /etc/init.d/runmbbservice, and then it all worked.
I ran this at the end of the procedure:
$ pidof systemd
$ /bin/ls -l /sbin/init
-rwxr-xr-x 1 root root 37064 Jun 15 2017 /sbin/init
$ pidof init
1
But there shall be more to come later, after I familiarise myself with this thing.
And ... Veteran Unix Admins: I salute you!
I was well and truly pinged by RTFM today!
Adding a postinst to a .deb package, I wrote a 'here document':
cat << EOF > postinst
#!/bin/bash
[ -z "$(which gpg)" ] && su -c "apt-get install gnupg"
exit 0
EOF
But it simply would not work.
What I wanted was:
[ -z "$(which gpg)" ] && su -c "apt-get install gnupg"
but what I got was the interpretation on this computer (which already had gpg):
[ -z /usr/bin/gpg ] && su -c "apt-get install gnupg"
whereas the other computer, where the .deb was installed, had no gpg but this statement always thinks it has!
Eventually, I twigged to it. I first tried the reasonable kludge (\$):
cat << EOF > postinst
#!/bin/bash
[ -z "\$(which gpg)" ] && su -c "apt-get install gnupg"
exit 0
EOF
which worked, but later, after exploring the 'net (and, as a last resort, 'RTFM bash'), I got it (single quotes around the delimiter inhibit the expression expansion):
cat << 'EOF' > postinst
#!/bin/bash
[ -z "$(which gpg)" ] && su -c "apt-get install gnupg"
exit 0
EOF
which finally gives the required:
#!/bin/bash
[ -z "$(which gpg)" ] && su -c "apt-get install gnupg"
exit 0
Beautiful!
Just for fun, I tried booting Tails (The Amnesic Incognito Live System) on my HP-Stream-11.
Very informative.
I download the .iso for Tails-2.12 and dd it onto a USB stick.
It fails to boot --- of course.
RTFM: https://tails.boum.org/install/expert/usb/index.en.html
You need to use the tails-installer to properly format and copy this.
$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 9.0 (stretch)
Release: 9.0
Codename: stretch
# apt-get install tails-installer
No! You are meant to use the jessie backports ... Done.
And then where is it?
# tails-installer
bash: tails-installer: command not found
# which tails-installer
# find / -type f -name tails-installer
/usr/lib/tails_installer/tails-installer
So it is hiding; in fact hiding in the menu:
Applications
-->System
-->Tails Installer
OK. Click on it. Supply a USB stick with no partitions, all free space. Fine.
Then boot the USB in the HP-Stream, expecting to provide the Intel 3165 Wireless chip microcode on a separate USB stick ...
Imagine my suprise when it recognises the chip and all the wireless networks and connects straight away via WPA2.
Thus I have to REMEMBER that TND ('Tails is not Debian'), so it has all the non-free stuff in it already.
After that, no surprises ... except for the searches.
Search for linuxlsga.net using Google.
"Our systems have detected unusual traffic from your computer network.
Please try your request again later ..."
"This page appears when Google automatically detects requests coming from your computer network which appear to be in violation of the Terms of Service."
There are barely-tolerable reasons for this.
So --> Search for linuxlsga.net using DuckDuckGo.
Straight there.
Upgraded my search engine in my Firefox ...
We'll do a bit on Tails at our monthly meeting later this year.
Very informative!
I got a cheap $A200 HP Stream Notebook, manufactured after April 2016, that had been returned for some reason, and installed Mint 18 on it for our U3A Course Workshop. It has storeage of 32GB SSD (flash/eMMC), 2GB ram, and a wireless-only network interface.
That worked fine.
However, I also wanted to try out Debian 9 'Stretch', which is in testing at present, so I installed that alongside Mint.
Wow! That was a little frustrating! But Debian aficionados have an amazingly high tolerance of frustration -- otherwise we'd just use Mint and be done with it!
The problem is this: the Stream only has a wireless network interface, not a wired one, and it is unsupported by free software in Debian terms, so the installer asks you to provide it separately later on.
This is a tricky -- and undocumented in detail -- procedure. I have encountered this situation before and I have failed every time to get it to work. Many others on the web report just this failure as well. It took me a couple of lazy days, but I discovered a reliable procedure in the Debian bug blogs!
Let's go!
First, prepare the UEFI:
power on
spam esc key
f10 into bios
across to system configuration
down to boot options
....legacy support disabled
....secure boot disabled
....clear all secure boot keys
down to uefi boot order
....os boot manager
....usb diskette on key/usb hard disk
save and exit
Then I chose a version of Debian 9 'Stretch', kernel 4.9.0:
debian-testing-amd64-xfce-CD-1.iso
from
http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/
and shoved it on a USB stick like this:
# dd if=debian-testing-amd64-xfce-CD-1.iso of=/dev/sdb bs=1M; sync
and obtained the extra wireless firmware:
firmware-iwlwifi_20161130-2_all.deb
from
https://packages.debian.org/uk/sid/all/firmware-iwlwifi/download
I found that the bug blogs at:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740503
report that it seems check-missing-firmware does not work with a USB drive that contains a partition table, so to be on the safe side in future they
recommend a basic FAT filesystem on a partitionless USB stick to hold the firmware package, thus:
# cfdisk /dev/sdc (delete all partitions so it is all free space)
# mkfs.vfat -I /dev/sdc (for -I switch see manual for mkfs.vfat)
# mount -t vfat /dev/sdc /mnt/
# cp firmware-iwlwifi_20161130-2_all.deb /mnt/
# umount /dev/sdc
Now insert the USB containing debian-testing-amd64-xfce-CD-1.iso
power on
spam the 'esc' key
Startup Menu appears
select and press 'F9 Boot Device Options'
scroll down to
....USB Hard Drive (UEFI) - USB Disk 2.0
select: press ENTER
get Debian splash screen
....Debian GNU/Linux testing
....Debian GNU/Linux UEFI Installation menu
scroll down to Install and press ENTER
determine language, time zone, keymap.
When it comes to configuring the network, the installer asks for extra files on USB; lucky that the Stream has two USB ports!
"Some of your hardware needs non-free firmware files to operate."
"The missing firmware files are:"
"iwlwifi-7265D-17.ucode iwlwifi-7265D-18.ucode iwlwifi-7265D-19.ucode iwlwifi-7265D-20.ucode iwlwifi-7265D-21.ucode iwlwifi-7265D-22.ucode iwlwifi-7265D-23.ucode iwlwifi-7265D-24.ucode iwlwifi-7265D-25.ucode iwlwifi-7265D-26.ucode"
"Load missing firmware from removeable media?"
Insert USB stick containing firmware.
Wait until light on stick stops flashing
YES
Press ENTER
Five seconds later the installer comes back and asks again for this subset:
"iwlwifi-7265D-23.ucode iwlwifi-7265D-24.ucode iwlwifi-7265D-25.ucode iwlwifi-7265D-26.ucode"
"Load missing firmware from removeable media?"
YES (ENTER)
Another nail-biting ten seconds ... and ...
Select the wireless network to use during the installation process
Select security of WPA/WPA2 PSK
Enter passphrase for WPA authentication
"Network autoconfiguration has succeeded!"
... and you are up and running!
The rest is uneventful, except to note that during the manual partitioning, we select and tell Debian to use the existing EFI System Partition on the SSD.
By the way, after you boot Stretch, you shall look in vain for /sbin/ifconfig because it ain't there. This is Debian's way of persuading you to learn the ip suite of programs. If, like me, you are not quite ready for that, just run # apt-get install net-tools.
Great!
Our group is conducting a public course: 'Learn Linux: Intro. to Linux' at the Digital Hub in Adelaide during September. As part of it we demonstrate a suitable Linux distro. to the participants. Normally that would be the most popular one, Linux Mint.
The latest and 'greatest' is Linux Mint 18 (codename 'Sarah'), but because you cannot imagine it, we shall describe our surprise when we tried it out like a newbie (which it is aimed at).
Grab the 64-bit (UEFI-enabled) 'Cinnamon' flavour, which boots OK [F12] from USB on the ACER Aspire e3-112 laptop. Delicate music. Elegant desktop. Nice. So let's road test it. Insert USB stick. Play a movie.
... Utter silence --- utter darkness --- no codecs, it seems.
Oh, dear! Linux Mint 17 never did this! At least we have the internet and a whole lot of experience; but what would a newbie make of this failure in a 'user-friendly' distro?
Suppose I am clairvoyant, and discover Menu -> Sound and Video -> Install Multimedia Codecs?
Right. It gets half way through and then emits an unintelligible raft of error messages:
"Could not download all respository indexes ... Data from such a repository can't be authenticated and is therefore potentially dangerous to use ... [etc.]"
It gets worse. If I idly click on the Bluetooth icon, a window comes up asking:
"Do you want to download mint-meta-codecs?"
and if I say 'yes', 5 minutes of download ends with the cryptic:
"An error occurred. W: Can't drop privileges for downloading as file ... Permission denied"
WTF?
So: scour the web ... Aaagh! Just as any newbie could figure out, we 'get up a terminal' and type:
$ sudo apt-get install mint-meta-codecs
and download another 124 unfamiliar packages ... and what happens?
"E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing"
This is pretty well gibberish to a novice, even though it eventually works if the advice is followed properly.
Such a strange and avoidable regression! Mint used to work out of the box; now this behaviour deliberately cripples it in a way that is designed to puzzle, irritate and possibly repel newbies by the barrelful; --- windows 10 anyone? ... macOSX? ... puppy?
So what's the best distro. around? Well, there are so many of them that it is hard to know. | But before you make up your mind, check out this great summary about why Linux is better. |
Love this ! from The Bizarre Cathedral at freesoftwaremagazine.com! | See it at the original site and size. |
When security is important, you really need software that has been thoroughly checked-out for holes. | This is not a Linux distro., but OpenBSD might be a better bet to have between your distro. and the Web. Check it out sometime soon. |
GNU/Linux is great, no doubt about it; that's why this site exists. But that does not mean you should force your mother to use it! | Have a look here to learn why Linux is not Windows and adjust your advocacy to suit. And did I forget to mention that I love this guy's attitude! |
Tux is somewhat lovable, of course, but ... Linux developed from Unix, which, not so long ago, was viewed by many as being quite unlovable indeed! | Have a look here to discover if you are already a Unix-Hater or to see how you could become one without too much effort. |
This is what the command line feels like when you first try it out (and for some time after that, too!). | Peek at this if you still want to try the command line using bash, the Bourne-Again Shell. And here is an excellent command-line tutorial. |
There are so many Linux shells, and yet so little time to gather them all, let alone try them out. | So here is a quick comparison of various Linux shells and even more Linux shells just so that you know what is around. |
There are some really good courses on Linux on the web, and here are some links to them. | For an easy-reading and very comprehensive overview, try this as an introduction to begin with. |