
Ubuntu 19.10 was released on October 17th, which means it's time to upgrade Ubuntu on my Dell XPS laptop. Please note this is NOT a long-term support (LTS) release, so 19.10 will only be supported until July 2020.
[Read more…] about Ubuntu 19.10Unix/Linux tutorials for beginners
Ubuntu 19.10 was released on October 17th, which means it's time to upgrade Ubuntu on my Dell XPS laptop. Please note this is NOT a long-term support (LTS) release, so 19.10 will only be supported until July 2020.
[Read more…] about Ubuntu 19.10Debian 10 Buster got released a while back and this means it should be possible to upgrade Raspbian OS on Rasberry Pi devices to the Raspbian Buster as well. Raspbian OS is based on Debian as you remember.
Always a good step: confirm Raspbian version and check your current Linux Kernel version:
greys@s7:~ $ uname -a
Linux s7 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux
greys@s7:~ $ cat /etc/debian_version
9.9
Just like in the upgrade Jessie to Stretch procedure, we start with using apt-get command to upgrade existing packages available for the current release.
The reason it's recommended to do this is by moving to the latest available version in your current release you are minimising the changes required for the upgrade to the next release. Changes and configuration file syntax are not likely to be as dramatic between last version in current release and first version in the next release.
We refresh list of available updates:
greys@s7:~ $ sudo apt-get update
and install these updates:
greys@s7:~ $ sudo apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages will be upgraded:
cups-browsed cups-filters cups-filters-core-drivers dbus dbus-x11 fonts-opensymbol libcupsfilters1 libdbus-1-3 libexpat1 libexpat1-dev
libfontembed1 libraspberrypi-bin libraspberrypi-dev libraspberrypi-doc libraspberrypi0 libreoffice libreoffice-avmedia-backend-gstreamer
libreoffice-base libreoffice-base-core libreoffice-base-drivers libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw
libreoffice-gtk libreoffice-gtk2 libreoffice-impress libreoffice-java-common libreoffice-librelogo libreoffice-math libreoffice-nlpsolver
libreoffice-ogltrans libreoffice-pdfimport libreoffice-report-builder libreoffice-report-builder-bin libreoffice-script-provider-bsh
libreoffice-script-provider-js libreoffice-script-provider-python libreoffice-sdbc-hsqldb libreoffice-sdbc-postgresql libreoffice-style-galaxy
libreoffice-style-tango libreoffice-systray libreoffice-wiki-publisher libreoffice-writer libssl-dev libssl-doc libssl1.0.2 libssl1.1 libzmq5
nodered omxplayer openssl patch python3-uno raspberrypi-bootloader raspberrypi-kernel rpi-chromium-mods uno-libs3 ure vim vim-common vim-runtime
vim-tiny xxd
65 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 176 MB of archives.
After this operation, 9,103 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
...
Run apt-get dist-upgrade too, in my case it shows zero packages:
greys@s7:~ $ sudo apt-get dist-upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Three elements to this step:
First, let's edit /etc/apt/sources.list file:
greys@s7:~ $ sudo vi /etc/apt/sources.list
I changed this:
to this:
Now we can refresh information about available package updates:
greys@s7:~ $ sudo apt-get update
And, finally, we're ready to…
greys@s7:~ $ sudo apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
...
… and finish it off with apt dist-upgrade:
greys@s7:~ $ sudo apt-get dist-upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages were automatically installed and are no longer required:
...
The following packages will be REMOVED:
gnome-themes-standard-data gstreamer1.0-omx gstreamer1.0-omx-rpi gstreamer1.0-omx-rpi-config idle-python3.5 libcupscgi1 libcupsmime1 libcupsppdc1
libcurl3 libgles1-mesa libllvm3.9 libmariadbclient18 libreoffice-gtk libreoffice-style-galaxy libreoffice-systray libsensors4 libservlet2.5-java
libtirpc1 netsurf-gtk python3-spidev raspi-copies-and-fills xserver-xorg-video-fbturbo
The following NEW packages will be installed:
...
533 upgraded, 459 newly installed, 22 to remove and 0 not upgraded.
Need to get 861 MB/862 MB of archives.
After this operation, 1,045 MB of additional disk space will be used.
Do you want to continue? [Y/n]
We need to reboot the Raspberry Pi now:
greys@s7:~ $ sudo shutdown -r now
…and run uname -a command and inspect the /etc/debian_version file to confirm that our Raspberry Pi is indeed running the latest version of Raspbian OS now:
Wow, demand for the latest and greatest Raspberry Pi 4 is bigger than I thought! I didn't want to order it right when Raspberry Pi 4 was announced, and will have to wait a few weeks now until all the pre-orders are fulfilled.
I belive Raspberry Pi 4 with 4GB RAM is the closest yet to a fully functional desktop system: you can develop software, test and host websites, setup your own cloud systems and even play games like Minecraft with the smoothest experience.
I also think Raspberry Pi 4 is still pretty cheap, so the extra eur10-20 you will pay to get more powerful model is well worth the relatively dramatic gains from such an upgrade.
Finally, dual monitor setup with 4K resolutions is another very tempting feature of the Raspberry Pi 4 – and while it's available on all the latest models, I think the 4GB version is most popular because users plan to run more applications and more advanced software development setups with extra memory available.
ModMyPi, the vendor I used to get everything Raspberry Pi from, has just been purchased by ThePiHut company – and their website shows Raspberry Pi 4 with 4GB out of stock. Hope this is not for long as I really want to get the latest model for some experiements in my Unix Tutorial Hardware Lab.
See Also
cowsay is a comman line tool that you can install on any Linux or Unix distro to render funny text updates as if they're told by a cute text mode cow. There are lots of options to customise the look of both the cow and the text message.
I decided to install cowsay on one of my Raspberry Pi systems at home:
greys@becky:~ $ sudo apt install cowsay Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: lxkeymap python-cairo python-gtk2 python-xklavier Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: cowsay-off Suggested packages: filters The following NEW packages will be installed: cowsay cowsay-off 0 upgraded, 2 newly installed, 0 to remove and 182 not upgraded. Need to get 27.9 kB of archives. After this operation, 114 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ftp.heanet.ie/mirrors/raspbian/raspbian stretch/main armhf cowsay all 3.03+dfsg2-3 [20.1 kB] Get:2 http://ftp.heanet.ie/mirrors/raspbian/raspbian stretch/main armhf cowsay-off all 3.03+dfsg2-3 [7,816 B] Fetched 27.9 kB in 0s (60.1 kB/s) Selecting previously unselected package cowsay. (Reading database ... 211819 files and directories currently installed.) Preparing to unpack .../cowsay_3.03+dfsg2-3_all.deb ... Unpacking cowsay (3.03+dfsg2-3) ... Selecting previously unselected package cowsay-off. Preparing to unpack .../cowsay-off_3.03+dfsg2-3_all.deb ... Unpacking cowsay-off (3.03+dfsg2-3) ... Setting up cowsay (3.03+dfsg2-3) ... Setting up cowsay-off (3.03+dfsg2-3) ... Processing triggers for man-db (2.7.6.1-2) ...
Just type "cowsay" followed by a few words and you'll get something like this:
From the cowsay man page:
There are several provided modes which change the appearance of the cow depending on its particular emotional/physical state. The -b option initiates Borg mode; -d causes the cow to appear dead; -g invokes greedy mode; -p causes a state of paranoia to come over the cow; -s makes the cow appear thoroughly stoned; -t yields a tired cow; -w is somewhat the opposite of -t, and initiates wired mode; -y brings on the cow's youthful appearance.
Here's an example of one of these options:
It's also possible to just specify the charecters to be used for the eyes of the cow, -e option needs to be followed by the two characters you want to see:
That's it for today, it's been fun!
I've just learned about a really cool command for Raspbian OS, available in recent (Debian 9.0 based and later) Raspbian OS releases: pinout command shows you a visual presentation of what hardware configuration your Raspberry Pi has.
Simply type pinout, you don't even need to use sudo. You'll see output consisting of 3 parts that are so visual that I'll screenshot two of them to show you exactly what to expect.
First part of the otuput looks really cool – it shows you the model name and the system board layout – where power and HDMI connections, where Ethernet port is and where to plug in USB:
Then you get the second part of the output, which is additional hardware info about your Raspberry Pi:
Revision : a01041 SoC : BCM2836 RAM : 1024Mb Storage : MicroSD USB ports : 4 (excluding power) Ethernet ports : 1 Wi-fi : False Bluetooth : False Camera ports (CSI) : 1 Display ports (DSI): 1
Finally, the last part of the output of the pinout command is actually the pinouts layout for the GPIO part of Raspberry Pi plaform: