Backup Linux distro thoughts

The search continues for a backup distro in case my main distro Linux Mint Cinnamon ceases to be or has some catastrophe. Linux Mint has served me well for many years. However people just love to say it a distro for noobs. I frequently (although not lately) have used VM’s to test other distros. But I want a backup distro that doesn’t require another distro to work, so it needs to be standalone boot-able. A distro that I actually use from time to time to stay somewhat familiar with it. Also my backup distro should be fundamentally different than my main distro. So not Ubuntu (and hence probably debian) based. So for the last few years I wanted that distro to be Manjaro [Arch based] KDE. It seemed to offer me the best hope. However I’ve found it to be unreliable due to updates hosing it. Perhaps that has been solved.

I’ve also recently thought about changing my main distro from Linux Mint to the recently offered Ubuntu Cinnamon. I’ve also thought about using Fedora as my backup distro. I used Fedora for a few years, maybe version 5, during my kids early school years, meaning they also used it for school projects. Also using Fedora would perhaps help in working in a corporate environment.

Manjaro

I recently installed Manjaro 18.0.2 LTS. And decided to apply the reported 700+ MB of updates. I’ve said before that Manjaro is a distribution I really want to like. But just like in the past, updates killed it. Then I remembered a Chris Titus YouTube video where he talks about this very problem. I was literally doing what he warned not to do as I was watching the video. And sure enough it got hosed! However I first clonezilled it, which enabled me to recover quickly. The solution? Don’t use their stupid GUI updater. Simply open a terminal and type sudo pacman -Syu. This has been a long time problem. Why don’t they remove this package from the KDE spin? Why whammy…why? Manjaro…Manjaro…Manjaro is good enough for me : )

UNPK and ED

After reviewing the above two S/370 Assembler instructions. I guess I’m wondering why you would use UNPK which unpacks packed numbers into zoned decimal digits which aren’t necessarily printable. ED on the other hand can also can also unpack packed numbers into zoned decimal…but these are printable. I guess I knew at one time but today I’m drawing a blank.

Assembler MVC basics

Playing with S/370 assembler specifically the simple MVC instruction. Realized I’d forgotten basics by examining storage with the SNAP macro, after trying various moves. Came to realize that the length is only determined by the first operand. Verified this later by looking at yellow card. Figured out one way to move values to a 80 byte CARD storage. If I have 50 bytes of ‘X’ in STUFF. Then I can initialize the 1st 50 bytes by “MVC CARD(50),STUFF” and the rest by “MVC CARD+50(30),STUFF” I guessed at that, probably an educated guess from stuff in the recesses of my mind. (it didn’t look right but CARD(30)+50 looked worse. Below is an explanation of the assembly on the left of that code in the listing. Also if memory serves I believe there was some trick to initialize storage.

From Assembly Listing
00006C D21D C1FD C190 00203 00196 117     MVC  CARD+50(30),STUFF
Since Op Code D2 is MVC..we know this is a SS Instruction with Operands D1(L,B1),D2(b2)
So SS instruction is 6 bytes [S/370 instructions can be 2,4 or 6 bytes]
D21D C1FD C190

D2 – Op Code MVC
1D – Length=29 zero based
C – Base Reg #1=12
1FD – Displacement #1=509
C – Base Reg #2=12
190 – Displacement #2=400

Docker problem solved!

Finally got the dockerfile from the Linux Academy to successfully run on my Linux Mint computer by…Uninstalling the old then reinstalling docker. Followed this guide https://gist.github.com/dweldon/39ca0536168a92815a56df44eb55a337 which managed to accomplish the task in far fewer words than others I saw. Now at Docker version 19.03.5, build 633a0ea838! Wow that little diversion really slowed my Docker progress. However as usual solving problems causes you to dig deeper onto a subject!

Although upgrading fixed the problem I somehow feel there must have been some other underlying reason for the failure.

Docker problem!

I first played with docker in 2016. And created my 1st container in 2018. Very basic stuff and no claim to great Docker understanding. Because if I had a better understanding I’m sure I would have used it more. Anywho, started a Linux Academy course called Docker Quick Start. This 2hr course has so far taken me a few days, because of other things I’m working on and because I got sidetracked (as I often do) trying to apply Docker into potential future personal projects…so much for quick start. This isn’t a knock against the course, because if you take it using their cloud server it probably would fall somewhere in that time frame.

I could easily envision using Docker with Python. So I attempted to do one of the early exercises on my personal Linux distribution. Without going into every detail, it was necessary to install python3 into a container running Ubuntu 16.04. In the lecture you did this within the dockerfile using the commands

RUN apt-get update
RUN apt-get -y install python3

However running this on my Docker returns “E: Unable to locate package python3”

How can this be…I ask in my early days of docker usage?
At first I started googling for solutions to this problem. And I would see answers such as make sure you apt-get update first which of course I did. I also saw references to your etc/apt/sources.list file.

Then I realized why am I searching for an answer. I’m using the exact same dockerfile as in the lecture. Easy to double check because it’s only 4 lines. What follows is my assumptions of Docker. I’m pulling the exact same Ubuntu 16.04 image, from Docker Hub, used successfully in the lecture. So in theory it should have the exact same sources.list file. In fact everything should be exactly the same.

Isn’t this Dockers main claim to fame…containing the exact environment for everyone?

Ultimately I updated my backup distro…Manjaro to the latest version, then installed docker there. Which by the way was very easy in Manjaro. And it successfully ran the same exact dockerfile installing Python3 without any problems!

I should point out that my unsuccessful docker run used version 18.09.7, build 2d0083d and my successful Manjaro docker run used version 19.03.5, build 633a0ea. As of today, Linux Academy’s Cloud server also uses Docker version 19.03.5, build 633a0ea. However this wasn’t some weird, obscure command, it was apt-get install, which I assume many other people have successfully used on this older docker version.

So what am I not understanding about the containment aspect of Docker?

Perhaps docker should provide a more comprehensive tests than they do in their hello-world docker image program which tells me (on my older version) This message shows that your installation appears to be working correctly. Because it obviously doesn’t!

Celestia

My beloved Celestia astronomy program has been missing from my Linux distribution for a few years. I never dug into how much effort it would take to reinstall. So I thought I might look into it today and found it’s back and easy to install. This program was one of the programs I’d use many years ago when I wanted to show off Linux. It looked cool then…and still does!


Wikipedia says “Well over 10 GB of extensions are available in addition to the base program, produced by an active user community.”

Back on my desktop!

Another nice hi-res demo with music…
https://www.youtube.com/watch?v=yGXBElz_qZk

WordPress auto update

Got email saying…My WordPress has been updated automatically to 5.3.2.

Automatically? Um…OK, I guess.
Previously on 12/09, I Upgraded WordPress from 5.2 to 5.3 manually via Softaculous in cPanel

I read…Since WordPress 3.7 was released automatic updates for minor and security releases have become standard.

MVS 370 Assembler & Docker


More work on understanding MVS 370 Assembler. Realize I’ve forgot much. Such as there’s no Divide Halfword and with divide [D] the dividend requires even(Reminder)/odd(Quotient) pair of registers. If not for the SNAP macro, I would have probably spent way too much time trying to find out why “PACK PACK01,=P’67890′” doesn’t work, “PACK PACK01,=C’67890′” is obviously correct…in hindsight. Now trying to remember how numeric overflows are handled.

If you can load F’32768′ in a register it will show X’00008000′
If you can load H’32767′ in a register then add H’1′ it will show X’00008000′
If you can load H’32768′ in a register it will show X’FFFF8000′

Started a LA Docker course.