Back In Time for Data Backups on openSUSE | Retrospective

Backup-02

The lack of data security is something that has recently affected some municipal governments in a negative way. Atlanta in 2018 was attacked with a ransomware and demanded $51,000 before they would unlock it. Baltimore was hit a second time this past May [2019]. I am not a security expert but in my non-expert opinion, just keeping regular backups of your data would have prevented needing to spend a ransom to get your data back. It would also help to run openSUSE Linux or one of the many other Linux options on the desktop to reduce the impact of a user induced damage due to wayward link-clicking.

If you are interested in keeping your personal data “safe,” offline backups are an absolute requirement. Relying only on Google Drive, Dropbox, Nextcloud or whatever it may be is just not not adequate. Those are a synchronizing solution and can be a part of your data-safekeeping strategy but not the entirety of it.

I have been using Back In Time as my backup strategy, in this time, I have only had to restore a backup once but that was an elected procedure. Back In Time is great because it is a Qt based application so it looks good in KDE Plasma

Installation

For openSUSE users, getting the software is an easy task. The point and click method can be done here:

https://software.opensuse.org/package/backintime-qt

The more fun and engaging method would be to open a terminal and run:

sudo zypper install backintime-qt

It is, after all, in the main openSUSE repository and not playing in the terminal when the opportunity presents itself is a missed opportunity.

How it has been going

Since this is a retrospective on using Back In Time, you can find more about usage and other options backing up your system hereI am not going to claim that I was 100% disciplined performing weekly backups like I suggested. The sad reality is, I got busy and sometimes it was every other week… I may have forgotten to do it entirely in April… but for the most part, I was pretty good about keeping my system backed up.

Since Back In Time is really quite easy to use it is as simple as connecting a specially designated USB drive into my computer and I start “Back In Time”. Yes, in that order because I don’t I get a rather angry message.

BackInTime 04-Snapshots folder.png

Something else you have to do is either manually or automatically remove old snapshots. I didn’t pay attention and some of the snapshots completed “WITH ERRORS!” I am sharing this as a cautionary tale to pay closer attention to your backup medium, whatever that may be, to ensure you have enough space.

From there, all I would have to do is click the Save Snapshots Icon.

BackInTime 05-Take Snapshot Icon-box

The application will evaluate the last snapshot against your filesystem and create an incremental snapshot. The first snapshot is the most time consuming, the subsequent snapshots don’t take nearly as much time.

BackInTime 01-Main Screen.png

With Back In Time, there is a feature to adjust how many snapshots it keeps. I ultimately decided to have it automatically delete snapshots older than 6 months (26 Weeks). For my purposes, anything older than 6 months is likely useless. I could probably reduce the length of time that I keep. I really just need the data should something catastrophic happen to all the machines that I keep synchronized.  Your requirements may vary, of course.

BackInTime 03-Auto-remove

I have been told that I should do a separate monthly and weekly offline updates but it is my opinion that for my personal usage, weekly is fine. I would also say that if you are responsible for an organization or business data, doing the separate monthly and weekly backups, maybe even daily would be better. I am not a professional here, nor should you take my advice on what is best practice for your organization. I do recommend that you do backups at some interval and find out what is best for you.

Final Thoughts

After fumbling my way through Back In Time a bit, adjusting it’s settings for my purposes, this has proven itself to be a fantastic application I can count on to keep my data “safe.” I can personally attest to the ease of backing up and restoring data. The way I use it isn’t necessarily the best way for you. Back In Time can do a LOT more than the limited way I am using it.

Even if you don’t use Back In Time, find an application that will help you make backups that is easy to do and sustainable enough to stay consistent. There isn’t a single downside to it.

References

Data Back Up | Better to Prevent than to Regret

Back In Time on GitHub

Back In Time Documentation

Back In Time from openSUSE

Atlanta Ransomware Attack from SecurityMagazine.com

Baltimore Ransomware Attack Article

Advertisements

Wavebox | Chat Unification Snap Application on openSUSE Tumbleweed

Wavebox on openSUSE

From time to time, I like to play around with the universal packaging available in Linux. It has mostly been AppImages and Flatpak but I wanted to Snap something into my system. After working out an AppArmor issue. Snaps were working fantastically well once again. The application I wanted to try was another Chat Message Unification Application. I had heard wonderful things about Wavebox so it was time to try it out. It’s described as, “A clever new home for cloud apps on your desktop bringing Gmail, Inbox, Outlook, O365, Trello, Slack & over 1000 more apps into a configurable client.”

You can look at the details here on the SnapCraft store.

Wavebox Snap 19

In a terminal I installed Wavebox from the Snap Store:

sudo snap install wavebox

Installation was a snap (haha) and it created an entry in the application menu of KDE Plasma, just as one would expect. It should also be noted that the system tray icon also looks great next to the rest of the icons sitting there too.

Wavebox Snap 20 System Tray.png

When the Application started up, I didn’t notice any lengthy start up time that has been complained about in the past with Snaps. It was delightfully… snappy… and when it settled I was greeted with a pleasant interface. There was no question as to what I needed to do, create an account.Wavebox Snap 2

Going through the process was really quite trivial. You begin by entering your name, email and password. I elected to setup two-factor authentication which did require me to install an application on my phone…

After you have logged in, you can add your first application. I went with Slack, specifically the Bad Voltage slack group. There is a convenient search box right at the top of the uncluttered interface.

I am not 100% sure what the “Pic a Colour” section does, entirely but it does create a ring around thee account on the side tab of the service. Setting up Slack was trivial and has the same basic feel of what you would have in the web browser.

What I think is interesting is the different customization features you can specify for each module you add. What is interesting to me is the ability to put a tab to sleep and stop it after some time of inactivity. I don’t know exactly what that means and how it is implemented but if that is what I am thinking it is, that should be more kind to your system when on battery power. I find with all the services running in either a browser or other Chat Unification applications, the CPU usage is noticeable.

Wavebox Snap 11

I wanted to install the G-suite of tools and began that process by selecting the Gmail icon when adding an application. There is a similar “Pick a Colour” selection then you can choose which services it loads into this “tab”. I didn’t test all the functions but the ones that did worked as expected. The Hangouts button doesn’t give me the hangouts configuration I prefer but it is functional, none the less.

Wavebox Snap 13

Setting up the account is much like logging in through a browser or even Kmail, for that matter. When you sign in, you then configure the default inbox configuration.

The display of the email is as you would see in a web page but the added benefit is that you have all the other services on a menu bar at the top of the Window. This is, by far, the best implementation of interfacing with the Google Services I have ever seen. It is far more functional than the Google defaults and even nicer than what I have been using on similar services.

Memory Use

It’s very easy to see how much of your drive is taken up by the application

/dev/loop11 156M 156M 0 100% /snap/wavebox/180

I don’t view this as outrageous at all. The application has another 181 MiB of storage on my home directory in the snap folder. I haven’t fully investigated the the contents of the folder but it does keep historical snap version configuration files, which is interesting.

Running the 10 Google Services, Riot and Slack, I am using about 490 MiB of RAM, so, 12 services in all on this so about 40.8 MiB per service. Combine that with the sleep function, this doesn’t feel too bad.

What I like

The way that Wavebox bundles the Google Services into one tab and how integrated and purposeful it feels makes this application really quite special. There is a lot of thought and detail put into it. I would say that this is a far better “Google Experience” than what you would have on a Chromebook. It is, seemingly a much more efficient and integrated experience, really, the best I have ever seen.

The Sleep Tab feature is very interesting and I have not studied it enough to know exactly how it works because I have received email notifications while the tab was sleeping so it must check periodically. somehow. I would really like to run this on a long term basis and determine, or at least, better determine what it is doing. Maybe even do some CPU usage comparisons between Wavebox and similar services but I just don’t have the time for that.

The conveniences of having all the different communication and collaboration services in one window, everything unified, is very conducive to productivity. That feature alone makes this application stand out from others similar to it. I would determine that it is a better experience than what you have in a browser with a string of pinned tabs.

What I Don’t Like

Wavebox does requires a login to an external server someplace to manage your accounts. This is like the Franz application I have also reviewed. It was an area for which I didn’t particularly like. I do see the utility of it and since these are all services you are logging into, one more isn’t that big of a deal… really… but somehow that is still a sticking point for me.

Wavebox isn’t free. Not that I think everything should be free but I would rather spit out a one time payment for this application. It costs $48 per year to use this application. For my purposes, since my efficiency with any of these services is not a part of my job, (arguably maybe Google could be), it isn’t a good value for me to make the investment. However, if your work required you to communicate on numerous  services regularly, I could absolutely see this as being a vital piece for improved quality of [computing] life.

Final Thoughts

Wavebox LogoRambox and Franz are both similar applications I have reviewed, albeit with a slightly different lens, they are all really quite fantastic applications. Any one is a good choice and I am glad that they all exist. There are features from each application that I appreciate so each application has their merit. I would say that of all of them Wavebox does seem to have just a bit more polish than the rest. There are more tools and tweaks with this and the way all the Google Services are rolled up with a very convenient menu makes this the best experience for using G-Suite. Far better than even with Chrome or using a Chromebook. This is so nicely integrated that it makes a mediocre web application experience feel like a real, nicely polished, and purposeful, native application.

Wavebox is, undoubtedly, suited for the professional user, not so much a dude like me that can’t seem to stick with an application like this for more than 6 months or so. This is extremely well thought out and well executed. Features like the Sleep Tab make this stand above other options.

Another final thought, having access to Snaps (along with other universal packages) available on openSUSE Tumbleweed really opens up a very wide array of available applications for my use. Snaps seem to integrate well into openSUSE; just as long as nothing gets messed up with AppArmor again. Snaps are a great choice for application delivery for many cases and I am thankful that I have access to them.

References

Wavebox from the Snap Store Web Frontend

Snapd Resolved bug on Bugzilla

Rambox | Chat Message Unification Application for openSUSE

Franz | Chat Messaging Unification Application on openSUSE

Budgie 10.4 on openSUSE Leap 15.1

In my ongoing mission to ensure that I am keeping up on as many wiki pages for openSUSE as I can, I noticed that the information I put in for the terminal installation process for the Budgie Desktop was not right, I didn’t look through the history but I’m sure it was absolutely my fault. Regardless, I decided to test it out in a VM and see that it installs properly and I could play around in it without crashing. Sure enough, it seems to be working well and after switching things up to a dark them, I thought it looked pretty darn good.

A simple command in the terminal makes the magic happen:

sudo zypper install budgie-desktop

After Zypper does its thing, logging out and logging back in will give you a pretty darn decent implementation of the Budgie-Desktop. There isn’t any openSUSE customization with it, as far as I can tell, it runs well and feels clean.

Oddly, instead of a Budgie Logo for the menu it is a GNOME logo. I am not sure if that is the upstream default or not but it just seems odd to me.

Screenshot_opensuse15.1_2019-07-15_19:08:20

Though, I don’t much care for the light theme, that is easily fixed in the Budgie Settings. I went for Breeze-Dark with everything, just because I think that is the best thing going as of today. I must say that the settings are nice, neat and simple which I think works well for this desktop.

Screenshot_opensuse15.1_2019-07-15_19:10:13.png

I noticed that when I switched the icon theme to Breeze Dark the Plasma logo appeared on the menu icon. I guess if you have Gnome with the Adwaita theme it is only reasonable that you would have the Plasma logo with the Breeze theme. It still seems a bit odd to me.

I hung out here and played around, browsed the web, and tested out a few of the tools. I don’t feel like Budgie is quite right for my “home”. It’s a nice home, very well put together, from what little I experienced hanging out, it is just not one I feel compelled to move into.

Final Thoughts

The ease of installing other Desktop Environments (DEs) in openSUSE is super simple and I truly appreciate it. It is also nice to see that playing with other DEs doesn’t seem to mess things up at all. They all seem to cohabitate quite nicely on a single installation.

I am quite sure this is the vanilla configuration of Budgie that is just how openSUSE does Desktop Environments. I do, however think the Budgie Logo or the openSUSE logo would be preferred on the menu but that would be the only real change I would make.

Budgie is a nice, crisp Desktop Environment but it just isn’t for me. I think KDE Plasma has spoiled me. I also need to do a better job of keeping on top of the different wikis hosted by openSUSE. It is very easy to neglect them. Thankfully, I can play with it all in VMs for testing while I work on other tasks.

Dang openSUSE Linux is awesome!

References

https://en.opensuse.org/
https://en.opensuse.org/Portal:Budgie
https://getsol.us/

SimpleScreenRecorder on openSUSE

A fine tool for which I recently had some use is this very capable application called SimpleScreenRecorder. I used it to create a couple simple videos mostly to see how well it works but mostly for the purpose of creating something useful as a reference.

To install it on openSUSE use the one-click method here:

https://software.opensuse.org/package/simplescreenrecorder

Or, my preferred method, in the terminal, enter:

sudo zypper in simplescreenrecorder

Fantastically, it is built using the Qt toolkit so it looks much better in the KDE Plasma Desktop Environment.

I have used it for a couple videos and have plans for more, mostly as notes to myself but in video form.

Basic Usage

After installing the software, it will sit in the multimedia subsection on the menu. It can be called up in a search as well, at least on Plasma.

SimpleScreenRecorder 1

Select Continue

Next you are presented with your Input Settings. You can create different profiles for different purposes. You can also select if you want to record all the screens, a single screen, a fixed rectaning, follow the cursor or to record OpenGL. I have only used the options to record the entire single screen or a fixed rectangle.

SimpleScreenRecorder 2

You can choose to record the cursor or not and whether or not you want Audio. I have only used PulseAudio and it has seemingly worked just fine.

When you Continue, you will have to select the Output Profile or create your own, set the file name, the video and audio codecs settings. The settings pictured below has worked quite well for me in terms of quality but are a bit excessive in the memory usage.

 

SimpleScreenRecorder 3

After all that is set, you can start recording at anytime. It is also not a bad idea to Start the preview if you want to make sure it looks right before beginning the recording. The information frame on the left side of the window is quite nice. It tells you all kinds of useful information about the process. What is especially good to know is the file size. Depending on your available system resources, this could become somewhat of a concern.

SimpleScreenRecorder 4

Once you have completed the recording, hit Stop Recording along the top of the window and Save Recording if you believe you are satisfied with the results.

And that is it!

How I’ve Used It

I wanted to demonstrate how to set up switching from left-to-right typing to right-to-left typing on LibreOffice

I also did a quick little video just to play with SimpleScreenRecorder and showing how to turn on and off tooltips within KDE Plasma 5.16. I did edit both of these videos with Kdenlive for practice because someday, someday, I might get good at it.

Final Thoughts

SimpleScreenRecorder is a fantastic example of easy to use software to create simple videos for any number of things. This is great for demonstrating how you accomplish something on the desktop, sometimes video is the best way to present it. This is a fine example of easy to use open source and free software that has an incredible value.

Since I am able to install this application from the official repository with my favorite Linux distribution openSUSE Tumbleweed, it is just another straw on my pile of reasons I use it. Additionally, it requires no fancy configuration to get going, there is nothing peculiar about running it and it has been seemingly quite reliable. I have even thought of other fantastic uses besides providing quick little help videos and really, the limits of this application are at the limits of your imagination with this tool.

openSUSE Linux and all it’s fantastic tools add just a bit of happiness to my life, and I am so incredibly grateful to everyone that has had even the smallest part in making this possible.

References

SimpleScreenRecorder from software.opensuse.org
SimpleScreenRecorder Home Page

Blathering | Raspberry Pi to Monitor Air Quality with an Arduino based Thermostat

Arduino Test Board.jpg

I’d like to call myself a tinkerer, but I don’t tinker enough hold that badge. I do like to look at other projects and see what is out there for things to make my life more efficient. My target is to make my home, work for me, to automate every aspect that is feasible that has real value to me that will make life a little more efficient and have a bit better resolution on the control of the world around me. One area that needs some work is the HVAC (Heating, Ventilation and Air Conditioning) controls. I have been pondering this for a while and I think I have a good project plan to make my house work for me just a little bit better.

This is just a blathering of a project to come. If you have any thoughts or suggestions, think that this is ridiculous and a waste of time, fire those off too. I’m open. It may not change my mind but it is always worth listening to a dissenting opinion.

Project Goal

I want a home thermostat and environmental control system that is under my control and doesn’t babble off to a cloud someplace. I want it to be intelligent enough to manage the room temperatures, know if a window is open in the house, adjust the dampers in my ducting to cycle air between the floors differently depending on the time of year. I want it to be aware of the current outdoor weather as well.

Why Weather Aware?

Weather Station.jpgI want the system to know how humid it is inside and outside of the house. Much of the summer in Michigan, I don’t need to have the air conditioning on, but I do want to keep the humidity down inside of the house. I also prefer my windows open to closed, so it would be nice if I could have my thermostat would know if windows are open. There is no reason to dehumidify the house when my windows are open.

Targeted Features

The Arduino portion can handle a lot of the functions I am targeting but there is another angle, I am interested in knowing what the pollution is inside the house. I have only dug into this a little bit but the Enviro Raspberry Pi Accessory is able to measure indoor air quality, humidity, pressure, light and noise levels. This could even tell me how effective my filter is too and find the most cost effective filter that does the job. It would allow me to run a Design of Experiments to test and maximize the cleanliness of the air in my home. I don’t know the extent of the on board air quality sensor but it could really do the job.

The Plan

Thermostat.jpgConfigure and build the Arduino thermostat, that is robust, reliable and extensible to control the HVAC system. Once I can do that reliably, I’ll add more sensors to it, window sensor, temperature sensors of different rooms, duct pressure at the blower, then I can start to add automated dampers in the system to control temperature leveling in the house more precisely. Also, to shunt airflow to unused rooms in the house as well during extreme weather conditions. I want to have all the data, inputs, outputs, status and so forth to be accessible on my network so that at any point in time from any computer terminal, I can look at my “environmental system” status. Of course, it will somehow be running openSUSE Linux, someplace. Either a Raspberry Pi running openSUSE or better yet, something x86 based. It’ll be incredibly, joyously nerdy.

Next Steps

For now, I am still gathering information, parts lists and so forth. The first step in this chain will be to replace the thermostat with an Arduino Smart Thermostat that will have better functionality. Once that is working and I have a good understanding of how to manipulate it. I will start to add sensors to it. From there, I’ll figure out my greatest need to further improve efficiency and add the functionality needed.

References

Enviro Raspberry Pi Accessory to Monitor Air Quality at FOSSBYTES.com

Arduino Smart Thermostat

JohnsonControls.com equipment dampers and louvers

More openSUSE Tumbleweed Awesomeness

cubiclenate-opensuse board campaign-2019

If you haven’t tried openSUSE Tumbleweed in a while, I highly recommend you take it for a spin. I am not using Tumbleweed on the majority of my computers. I have openSUSE Leap on a few but since my experience with Tumbleweed has been so positive it has taken over most of my machines. I will recognize that there can be problems with a rolling model, especially if you have some mission critical requirements with specific pieces of software that are less friendly to the rolling model.

These are features I have known about for a while but I have decided that it should be highlighted again because it is Pure Linux Awesomeness.

Some Cool Things

For the uninitiated on how openSUSE Tumbleweed snapshots work, check out this video. It is less than 2 minutes of information goodness.

 

Before you do a distribution update and are very concerned about the status of the current snapshot you can review it here:

https://review.tumbleweed.boombatower.com/

At the time of writing, the current snapshot, 20190621, has a bending review percentage of 91. You can review the current or older snapshots to see the score status. You know, just for fun.

Another Really Cool Thing

I have been using Tumbleweed for over two years and this is a feature that I haven’t used but wish I would have sooner. I learned on this page that there is a nifty command line tool for examining the Snapshot status and pinning your Tumbleweed system to a specific snapshot. In effect you can dictate when you allow your Tumbleweed to roll to the next snapshot.

To start out, install Tumbleweed CLI

sudo zypper in tumbleweed-cli

Once installed you have to initialize it.

sudo tumbleweed init

To see what your system’s snapshot status

tumbleweed status

This will output

latest   : 20190621
target   : 20190621
installed: 20190621

Or similar based on the date you do this.

Although it seems self evident, I want to explain what this truly means.

Latest – What is the latest snapshot available

Target – If you have switched to a particular target, it would be listed there.

Installed – What you have currently installed.

Lets say you updated and are having problems with a regression in, oh, lets say VirtualBox and you really need VirtualBox to work. Since you are directly managing your snapshot status, you can very easily target the last snapshot which had it working but lets say you don’t remember what that snapshot was because you just… well… don’t remember.

tumbleweed list

This will give you a list of what is available. Keep in mind that due to storage limitations, only 20 or so are listed and presumably available.

20190621
20190617
20190614
20190612
20190607
20190606
20190605
20190604
20190603
20190601
20190529
20190527
20190525
20190524
20190521
20190520
20190517
20190516
20190514
20190512

Lets say you remember that you knew that the 20190603 snapshot was the last one that worked exactly to your needs. After your roll your system snapshot back to that date or approximately that date, you can lock your system on that particular snapshot

sudo tumbleweed switch 20190603

Now if you look at your status,

tumbleweed status

You will get something like this:

latest   : 20190621
target   : 20190603
installed: 20190601

Now you can upgrade to that snapshot

sudo zypper dup

File a bug on whatever is giving you problems

https://bugzilla.opensuse.org/

When you are ready to update to the latest snapshot

sudo tumbleweed switch

That will switch to the latest snapshot. To verify:

tumbleweed status

and get this output (or similar)

latest   : 20190621
target   : 20190621
installed: 20190603

Update to the latest snapshot

sudo zypper dup

Check the status once again

tumbleweed status

Should get you this:

latest   : 20190621
target   : 20190621
installed: 20190621

Should you decide that this method doesn’t work for you, you can revert back to the standard Tumbleweed rolling model.

sudo tumbleweed uninit

Like it never even happened.

Final Thoughts

openSUSE Tumbleweed with full (mostly) control of your snapshots is pretty amazing and adds a whole new depth of control to your computer. This truly is like the best of both worlds between Leap and standard Tumbleweed. It does require a little more work than Leap, and perhaps a bit more work than the standard model but this truly is a fantastic feature that makes openSUSE Tumbleweed the best operating system out there.

Of course… that is my opinion. Your opinions may vary.

References

https://review.tumbleweed.boombatower.com/about.html

https://review.tumbleweed.boombatower.com/

http://release-tools.opensuse.org/2017/11/22/Tumbleweed-Snapshots.html

https://bugzilla.opensuse.org/

openSUSE Leap 15.1 | Upgrade and Fresh Install Successes

openSUSE review titleEvery review I do is from a biased lens as an openSUSE user and this will be no different. I will be taking a biased look openSUSE Leap 15.1. I’d like to say this will be completely objective… but it won’t. openSUSE is the operating system of choice for nearly every aspect of my life for its technical merits as well as the awesome community that supports it.

This is my experience installing and upgrading openSUSE Leap 15.1 on physical hardware and a Virtual Machine. The applications on each machine vary based on their purpose so feel free to look at specific machines I have set up with openSUSE here.

Fresh Installation

I performed one fresh install of openSUSE Leap just to see if the installer has had any noticeable changes. The biggest and most welcome difference I could spot was the side bar installation step. This is something I have seen on many other installation tools and I am quite pleased to see it with openSUSE. It takes the mystery out of where you are in the process.

For a full, step-by-step walk through on installing openSUSE here.

I want to make one other note about a positive, remarkable change in the installer that I appreciated. Before committing to the installation, there is an option to adjust the CPU mitigations based on your needs. I left it at “Auto” to let the smart folks at SUSE and openSUSE determine what is needed for me.

Offline Upgrade

The first and recommended method of performing an upgrade to an existing system. I performed the upgrade on three systems so far without any issue. All of these were upgrading from 15.0 to 15.1. A wonderful trait openSUSE has is that the upgrade process is very straight forward.

On the boot screen, select Upgrade instead of Installation.

openSUSE Leap 15.1 Upgrade 0.png

Upon starting up the installation, you are greeted with the License agreement. Should you agree to it, next will begin the process of System Probing

Next, unless you have a tremendously complex system setup, you will be presented a location to perform the update. The installer will parse through the previously used repositories and give you the option to edit and or toggle the status for the upgrade.

The easy thing to do would be to let it automatically remove the old repositories and start fresh. For one two of the upgrades, I decided to go in there and change out any references in some of the repositories from 15.0 to 15.1 and toggle the repository active.  I had to resolve one set of conflicts that required a change from the Packman repository to the openSUSE official repository. Just reading the prompt will easily guide you through it. It should also be noted, even if you make the “wrong decision” it can easily be fixed at a later time.

If the installer recognizes an active network connection, you will be asked if you want to add online software repositories. No is an option but if you say yes, you will be given a list of suggestion online repositories.

After you select Next you are given a final installation summary with the option to make some tweaks and adjustments and a final opportunity to bail out.

Very nicely, this installer is the most verbose and wonderful output I have ever seen. It gives a fantastic, current status of what exactly is going on and how many packages with an estimated time left broken down by source.

After a reboot all three systems were functioning without a single glitch. It was simply fantastic.

Online Upgrades

I have one machine that I neglected to update to 15.0. It wasn’t a machine that was heavily used. Mostly just for my kids’ education activities that don’t require Internet access. A summer went by and I didn’t really think much about that old laptop. When I turned it on and realized it was still on 42.3 and had NOT been updated, I thought I would do an Online Upgrade. Since I really had nothing to lose and only smiles to gain. I went into the YaST module to manage the Software Repositories to change out any repository references that had “42.3” to “15.1”. Then, I ran the command in terminal

sudo zypper dup

After some time, this crusty 13 year old Dell Latitude D830 completed the Distribution UPdate, I rebooted the computer and it was, without a single glitch. I was rather impressed that it worked so well. I mean, of course it worked well, this is openSUSE but to be without a glitch or having to “faff” with it at all was quite surprising.

What I Like

The sheer durability of Zypper as a package manager and how it handles all the packages is absolutely astounding. I will concede, that APT, DNF or EOPKG may be just as good but that hasn’t been my experience with APT and I haven’t tested DNF or EOPKG as thoroughly. What I can say with the utmost confidence is that Zypper can do pretty amazing things when it comes to system package management. The interactive nature of it allows me to make the best decision upon any conflicts that may arise. Zypper is simply fantastic and has, as of recent become one my favorite applications.

Going from openSUSE Leap 15.0 go 15.1 was nothing special our outstanding. They both look the same, outside of some performance improvements. Visually, it’s the same, it functions the same.

When performing a fresh installation, I appreciate that you can choose your CPU mitigations depending on what you see as your threats. This is of course an expert function and for shlubs like myself, “Auto” is probably the best choice.

What I Don’t Like

Setting up the network with the openSUSE installer for wireless is a bit of a challenge. Not an issue for me because I prefer to plug into a proper Ethernet port. It is becoming more common to buy laptops that do NOT have a proper port due to whatever silly reason like cost reduction. Oh, sure, Ethernet on consumer grade machines is probably a complete waste for most but I am very much a fan of a “hard line” so perhaps I am the minority. I would prefer a more automatic process or something that presents itself for the user more approachable. This would eliminate some complaints I have heard about the installer.

The partitioning tool would be improved if the summary gave you a graphical representation of what was going on along with the written summary and perhaps some sort of easy buttons for new users. It should also be noticed that this is quite possibly the best tool for setting up a more complex arrangement of partitions just not the best for new users.

Final Thoughts

openSUSE 15.1 is an incredibly boring and unremarkable update to 15.1 or even 42.3 for that matter… which is fantastic, absolutely fantastic. True to form of openSUSE, nothing radical happens from version to version, just steady improvements to the underpinnings of the operating system.

The overall experience with installation and upgrades and using openSUSE, in general, is very positive and thanks to the Open Build Service along with the openQA, the experience of installing and upgrading openSUSE uninterestingly consistent. With this fantastically predictable behavior, openSUSE is most certainly where I want to stay. The operating system remains a reliable partner in your computing experience allowing you to do more interesting things on top of it. openSUSE frees you up to make, produce or develop to your hearts content.

References

openSUSE 15.1 Release Notes

Download openSUSE Leap

openSUSE Open Build Service

openQA

 

Virtual Machine Manager with QEMU/KVM on openSUSE Tumbleweed

One of the beauties of a rolling distribution is that sometimes you are forced to use a new piece of software… My regular Virtual Machine application, VirtualBox was non-functional for a few days due to a kernel update and some sort of mismatch with the kernel driver or something… The positive is, I got to know a new Virtual Machine Application, Libvirt with QEMU/KVM. Quite honestly, I am not even sure what to call the application stack. The application is virt-manager which is libvirt and the application title bar is Virtual Machine Manager so maybe it goes by them all or I can’t make heads or tails out of the name.

Installation

I found I had to install a few things to make this work.

sudo zypper install libvirt qemu virt-manager libvirt-daemon-driver-qemu

Setup

Set up my first virtual machine. After doing a little reading and digging to figure out what was the best solution for me in my use case, which is, on a desktop testing other distributions or software in a virtual machine. This is how I set it up.

Initially, you have to Add a connection. Depending on how your system is out of the gate, or if you canceled this operation. Here is how you get back to it.

File > Add Connection…

Virt-Manager-01-Add Connection

For my purposes, I am using the QEMU/KVM user session as the Hypervisor. I also selected the Autoconnect tick box to ensure that when I started Virt-Manager, it would make this connection.

Next step is to create a new virtual machine. Since I am installing from an ISO, I selected the first option. If you are running a 32 bit version of Linux, you can select that architecture instead. Although I have not played with this as much, my understanding is you can use other CPU architectures here as well.

Virt-Manager-02-New VM

Unless you have already selected the media, it is at this point you can Browse to select the ISO you have downloaded.

Virt-Manager-03-New VM

Select the Brows Local button at the bottom of this window to search your file system for the ISO of choice.

Virt-Manager-04-ISO

The application will generally automatically detect the distribution, if it is not detecting it you can manually search or find a “similar” upstream project.

Virt-Manager-05-ISO

Next step is to set the memory and CPU. I elected to use two CPU cores.

Virt-Manager-06-Memory and CPU

The next step is to either select or create a disk image. In this case, I am using the default Create a disk image for the virtual machine of 32 GiB. It should be noted. Unlike VirtualBox, these disk images are static allocations for the size you set. They do not dynamically size based on the amount of used space on the virtual disk.

Virt-Manager-07-Storage Volume

The final step you are ready to begin the installation. Modify the name, customize the configuration and change the network selection if you see fit. I just use the Usermode networking. For my purposes this works fine.

Virt-Manager-08-Summary

Upon selecting finish, a new window will open and the ISO you selected should boot up. Since openSUSE booted just fine, any good operating system will work similarly.

Virt-Manager-08-GRUB Boot

Configuration

When you open but not begin running a Virtual Machine you have the ability to make modifications to the Virtual Machine Hardware. As compared to VirtualBox, it feels like you have a lot more control and also a lot more ways to have the VM misconfigured and not behave as you would like. Your mileage my vary.

 

Should you want to make changes to the number of CPUs, Memory or any of the graphics and network settings can be adjusted to suit your needs. I did not alter much of anything here. In order to make the video adjust as I would like in Plasma, I set the Display Spice type to Spice server and Video model should be set to QXL.

 

This will allow me to take full advantage of whatever screen real estate I have available.

Virt-Manager-16-Adjusting Plasma for monitor.png

This is also the part of the post you can point and laugh at my old, non-high-DPI screens to which I will respond, “my old hardware still works, thank you very much.”

What I Like

Qemu with Libvirt just feels much faster than Virtualbox. It has a kind of raw, running on “bare metal” feel as opposed to that slightly sluggish virtualized feel to which I am more accustomed. I do appreciate this performance enhancement. I do have to preface that this is not the experience I get from all desktop environments but Plasma does run quite well.

The interface, although initially a bit overwhelming, is pretty great. I am not going to go into detail on all the features as most of the time, the defaults work well for my use cases.

I don’t have any issues with any updates that roll down breaking this utility. I am not completely sure of the technical reasons as to why but it seems as though this project is less affected by updates to the Linux Kernel.

What I Don’t Like

Virtual Manager is a GTK application so it is not as nice looking as the Virtualbox Qt, although at the time of writing this, I see there is a project on Github called qt-virt-manager.

There isn’t an option to have a dynamically resizing disk so I have to be more careful with the number of disk images I keep on my primary drive in my /home directory. Thankfully a little bit of symbolic linking to a 3rd, removable, drive and all the qcow2 files are available. It is a bit of extra work but worth it for the reliability and increased performance Virtual Machine Manger provides.

The name of this application stack is a bit confusing. I don’t really know what to call it. I learned of it as Libvirt, libvirt is the name of the directory that houses my virtual machine drives (~/.local/share/libvirt). Just knowing Libvirt didn’t answer how to get it going as it wasn’t called that in the repositories so a bit of searching and reading documentation I was able to get it all together in my head and take some notes. So, I think the confusing name and the barrier to entry did make it a bit challenging but I appreciated the journey to get me to this point.

Final Thoughts

Virtual Machine Manager is a great, reliable tool that appears unaffected by changes of the affects of a rolling distribution. It is, in some ways, a bit more difficult to set up, but once you understand that the “Add Connection” portion and set up the QEMU/KVM user session, the simplest Hypervisor. You are good to go. There is so much more you can do with Libvirt and it’s components. I am only barely scratching the surface of its capabilities.

Although the disk allocation is not as convenient in Virtual Machine Manager, it is easy enough to manage using additional storage and it also keeps me from allowing too many unused machines from littering my computer.

Ultimately, this won’t keep me from using Virtualbox but it does give me another tool to play around with and try stuff out. I am very appreciative of everyone involved in making this tool reliable and easily used for the average Linux user. I am especially grateful that this application stack is more tolerant to the rolling release model that is Tumbleweed.

Reference

Virt-Manager on openSUSE Software

Qt Virt-Manager on Github

KVM/QEMU hypervisor driver

Power Outage Corrupted XFS Filesystem | How I Fixed It

Dell Inspiron 20 3048-07-Calendar

This past Monday, 27 May 2019, there was a somewhat severe storm that rolled through Southwestern Michigan that had a disruption on power. I have numerous computers in the house, most of which run some variation of openSUSE. Most of the computers are also battery backed in some form except for one, my Kitchen Command Center. In many ways, I think it is rather crazy computers don’t now have battery backups by default. Since I didn’t take the time and care to have a UPS (Uninterruptible Power Supply) on this computer, it lost power and so my troubles began.

Post Storm

After the storm was cleared from the skies and the likelihood of another power outage had diminished I felt it was safe to power my devices back on. Upon doing so, the machine booted up like it normally would but logging in and all the applications were dreadfully slow. I must emphasis dreadfully in the slowness of the system, I could see that the disk was thrashing but the RAM was hardly being used. Looking at the System Monitor, my I/O was taking up all the CPU bandwidth. This was most certainly not the normal behavior of this machine and I was becoming a sad “Geeko.” RAM usage was less than 2 GiB and Plasma Desktop kept hanging, a behavior with which I am most certainly not familiar. I was starting to worry that there may have been hardware damage.

After doing a little digging, I was able to determine that it was related to a corrupted file system and in my usage of the computer, my estimation was that it was the /home directory partition and not the root directory. When I looked at the System Activity, whatever application I was trying to use had “disk sleep” next to it in the table. My first course of action was to do a file system repair.

The Fix

I rebooted the machine and instead of logging in to the desktop environment, I dropped down to a terminal (Ctrl + Alt + F2), logged in as root.

I unmounted /home, which, in my case is located at /dev/sda4

umount /dev/sda4

Since the terminal didn’t give me any confirmation the drive was unmounted, I checked

df -h

Looking through the list (You can omit the -h). I saw that there was indeed nothing mounted at /home so I was able to conduct the repair.

xfs_repair /dev/sda4

After several minutes. The process completed and seemingly completed without any errors. I rebooted the system and crossed my fingers.

Post Repair

Seemingly everything is back to normal. Whatever was causing the “Disk Sleep” is not happening anymore. I performed another update on the machine,

sudo zypper dup

rebooted it and it is continuing to function just as it had before. I have not lost any data on the computer and I am using like it all never even happened. I don’t know the exact cause and depth of the corruption but I am just glad to be back to normal.

Final Thoughts

I have had to forcibly shut down systems with XFS before and this is the first time I have had to do a file system repair. I could see that someone without technical expertise could just think their computer was broken and take more intrusive actions. I am also not sure if there was some sort of file system integrity verification that didn’t happen that should have automatically checked and repaired the file system that has normally done so. Regardless, the fix was relatively straight forward and the computer is back to normal. Furthermore, it might also behoove me to gift the machine with a UPS.

After losing a few hours of use out of the computer, I was able to learn another tool in my open source / Linux toolbox. The storm, although inconvenient, has given me further confidence in the technology I have chosen.

Further Reading

https://linux.die.net/man/8/xfs_repair
Dell Inspiron 20 3048 All-In-One Desktop

Distracted by LeoCAD Once Again on openSUSE Linux

LeoCAD-01-Title

LeoCAD is an application that I use somewhat frequently. It is available for Linux, Windows and even Mac but I don’t have a Windows or Mac machine of which to compare to Linux. I have written about the joys of using LeoCAD before if you are interested in that blathering and at that time I used the AppImage to run the application. Now am using the openSUSE community repository instead and I installed it from here:

https://software.opensuse.org/package/leocad

The downside of using this source is, you do have to manually install the parts library to a location on root.

/usr/share/leocad/

The parts library can be found here.

I did have some issue getting LeoCAD to find my library but but naming it library.bin and placing it in the aforementioned location made the parts available.

What I particularly enjoyed about using it from the openSUSE repositories is that LeoCAD now respects my dark desktop theme which is much easier on my eyes and more enjoyable in which to “work.” Okay, I realize, I am “playing” and not “working” but it is also a fantastic teaching tool.

The version of LeoCAD I am using at the time of writing is 18.02. It works very smooth, has yet to crash and is a joy to use.

Designing

Designing my be a stretch, actually, more like modification of existing designs. A little back story, 8 year old me was incredibly enamored with this LEGO space theme called Blacktron. I didn’t like that LEGO considered them the “bad guys” and that idea has perpetuated with, for what I can tell, no variation on that meme. So, I have decided that I wanted to introduce that idea, that they are not still the “bad guys.” I did this by making a couple Rebrickable.com submissions with a different idea, here.

One of my first “designs” was just making this first Blacktron LEGO set the way I wanted it as a kid. It included reversing the connections and modernizing it with the newer small parts to add more interesting detail that is now available.

One of the features of this and the Blacktron vehicle sets was this modularity that was advertised on the back of the instruction manual. I didn’t like that the Invader connectors were “backwards” from the other vehicles so reversing it was a must which also made for some space to add some other details below the wings.

Blacktron Combining Options

In changing the direction of the Technic connectors, I was able to make the interaction with the other models more to my liking. The original intent was fine but I just happen to like my revision better.

Since there is this modularity as part of the design with the Invader it essentially giving you two options of play with this set: with the cargo module and without, a “scout mode,”  I thought, “what if the Invader was a multi-purpose, multi-role craft?”

So, I took another existing design from another space theme and incorporated the elements into the Invader as a module. Another theme I enjoyed as a child was this M:Tron theme. They had all these cool magnet features that I think was far more popular than what the Blacktron Theme had ever been. The process I used to build this was to cobble together the idea with the parts I had than take the design to the CAD to optimize the design and order more appropriate parts.

Invader Crane Mode-17-Module

Upon receiving the parts, I made the adjustments and the final test was giving it to my 4 year old to see how long it would stay together. The good news is, it appears to be a success and brought a lot of smiles to my kids. The Crane portion does seem to get ripped off a bit more than I would like but no more than the original model, perhaps a little less than the original model but not my much.

I have other “designs” that have been inspired by Star Wars but those will have to wait another day. This blathering about playing with children’s toys has gone on long enough.

Final Thoughts

Using LeoCAD and the real thing allows me to teach my kids the product design process but in a much shorter cycle and in a more fun way, with LEGO. We will build an idea, take it to LeoCAD and go back and forth between real LEGO to the CAD and back to the LEGO again to test and refine the design. I can demonstrate what it is like going through a product development cycle but with a much, much shorter design validation cycle. That design validation is, will it hold up long enough in the hands of a 4, 6 or 8 year old.

Further Reading

https://www.leocad.org

LeoCAD Parts Library

LeoCAD | Free LEGO® CAD Software on openSUSE Linux

Rebrickable.com

CubicleNate MOCs

Blacktron on LEGO Fandom.com