DistroWatch Weekly, Issue 723, 31 July 2017

Feature Story (by Jesse Smith)

Set up web services quickly with UBOS 11 UBOS is a rolling release distribution based on Arch Linux.  The project produces an operating system for servers with the intent of making it a very quick and easy process to set up web-based services.  The project's website states: We created UBOS, a new Linux distro, in order to make it simple to set up and maintain a Linux server that runs common web applications and keeps data under control of the owner of the server.  Using a friendly command line utility called ubos-admin, it is possible for the user to install new web applications, create backups, install free security certificates from Let's Encrypt and keep the system up to date.  The UBOS website mentions a few other useful features: • [UBOS] pre-installs and pre-configures networking and other infrastructure, so it is ready to be used as soon as it has booted. 



• Systems that have two Ethernet interfaces can be turned into a home router/gateway with a single command.  In this gateway configuration, UBOS automatically sets up network masquerading, a firewall, a local DNS and DHCP server. 



• UBOS can backup or restore all, or any subset of installed applications on a device, including their entire configuration (like TLS) in a single command.  Each of these features can be accessed using a single, short command from the console.  I will come back to specific examples of UBOS's convenient functions later. 



Installing



UBOS is available in a variety of builds.  We can download disk images for Raspberry Pi, BeagleBone Black and Marvell EspressoBIN computers.  There are also installation images for 64-bit x86 personal computers and virtual machine disk images.  These downloads range in size from about 410MB to 530MB.  The downloads are compressed and, when decompressed, the disk images are approximately 3GB in size. 



When installing UBOS on a personal computer or server, we can boot the installation media to a text console and run a single command to launch an automated install process.  We need only to provide the name of the disk where UBOS is to be installed. 



First impressions



The installed copy of UBOS boots to a text console where we can sign into the root account without needing a password.  By default the UBOS environment is fairly minimal.  We are given just a command line environment without many utilities and no manual pages.  In the background, UBOS runs the OpenSSH secure shell service.  With the default settings, the root user cannot login to UBOS remotely and there are no other user accounts we can use to sign in.  Later, if we like, we can set up a regular user account and use it to access UBOS from another computer. 



The operating system uses about 100MB of RAM and takes up 1GB of disk space.  Later, as we add more services, these resource requirements climb a bit.  I found running a few web applications used just over 1GB of disk space and about 200MB of RAM. 



UBOS, being based on Arch Linux, runs cutting edge software.  At the time of writing, this includes systemd 232 and version 4.11.3 of the Linux kernel.  I was surprised to discover UBOS uses the advanced Btr file system for its root partition.  Btrfs is not commonly used yet by many Linux distributions, but it offers a number of intriguing features such as file system snapshots. 



Using UBOS



Most of UBOS's features are accessed through a command line utility called ubos-admin.  This tool assists us in installing software updates, setting up new services, checking the status of running services, performing backups and restoring the system from a backup archive.  Tutorials on how to use each of the ubos-admin features can be found in the UBOS documentation.  Most of these functions are summarized in the UBOS Quick-Start guide. 



The ubos-admin utility can help us set up eight different web-based services, which we can see listed on the project's website or by running the "pacman -Sl hl" command.  When we want to install and configure a new service we can run the command "ubos-admin createsite".  This launches a command line wizard where we are asked to provide the name of a service we wish to install.  The wizard asks us to provide a username and password we will use to access the new web-app service.  We are then asked to provide a URL where we will be able to access the new service.  The wizard downloads the packages we need and performs the necessary configuration steps.  The ubos-admin tool then offers to set up another service. 



When the tool is finished running, we have the requested chat client, Wordpress installation, Nextcloud and/or wiki running on our computer.  The entire process for each set up generally takes less than a minute.  This makes setting up new web services much faster than it would be to configure these services and their web server entries by hand.  Visiting our computer's URL in a web browser lists the available applications we are running and we can alternately link directly to each service using the URL we selected when running "ubos-admin createsite". 





UBOS 11 -- Listing installed services

(full image size: 59kB, resolution: 1055x798 pixels)



I tried setting up a couple of services and had mixed results.  For example, the Wordpress blogging software worked perfectly and the wiki software seems to work well.  However, when I installed the NextCloud file synchronization application the software installed, but produced errors whenever I tried to access the NextCloud front page. 



The ubos-admin utility can perform a number of other useful tasks, including listing installed web applications and showing us the status of each service.  Perhaps one of the more impressive features is the ability to backup all of our web services and data with a single command. 



Running "ubos-admin backup --out my-archive" creates an archive file with all of our web applications and data.  The my-archive file can be transferred to another server or disk for safe keeping.  We can then restore our web services from the backup by running "ubos-admin restore --in my-archive".  I was pleased to find that the restore feature works on clean installations of UBOS.  This means if our server completely fails, we can install UBOS on another computer and restore all of our web services to working order by running the restore command on an existing archive. 



Other observations



For the most part UBOS and its utilities worked well for me.  The ubos-admin tool works as advertised and I found the speed and ease of use impressive.  I did, however, run into a couple of problems during my time with UBOS. 



One of the bigger issues I ran into was that, once I had set up a couple of services with "ubos-admin createsite", I was unable to add new services later.  For example, at one point I set up an installation of UBOS running Wordpress and NextCloud.  This initial configuration went smoothly.  Later, I tried to run "ubos-admin createsite" again in order to add the Mattermost application and the ubos-admin tool informed me I could not add new services as the server had already been set up.  It appears that appending new services to an existing installation of UBOS will not work.  This seems to me to be a severe limitation as it means we cannot extend an existing server's functionality the way we would with other common server distributions. 



Another problem I ran into was with getting UBOS to shut down.  When no web applications were installed, I was able to power down or reboot the computer without any problem.  However, as soon as I installed a web service, the shutdown and reboot commands no longer worked.  The system would start to shut down and then freeze.  I was able to use the poweroff command to shut down the system, but could not find a way to reboot.  This meant that remotely upgrading and restarting the server was not possible; maintenance requiring a reboot would need to be performed while physically sitting at the computer.  For UBOS users at home this would not be much of an issue, but it would be a notable limitation for people working remotely. 



Conclusions



Some people might think that UBOS is targeting less experienced users with its talk of quickly and easily setting up popular web services at home.  At least that was my initial impression of the project's mission.  However, I came to realize that UBOS makes certain admin tasks very fast and convenient, but not necessarily beginner friendly.  Running UBOS means using the command line and being comfortable with the Linux command line tools.  The UBOS project does provide us with documentation for using the ubos-admin software which is very useful, but we are not given manual pages or guides for other commands.  This means UBOS users should already be comfortable working from a terminal, but do not necessarily need to know anything about setting up an Apache web server or web applications. 



For the most part, UBOS does a good job of making it quick and easy to set up a handful of web services.  What would usually take me twenty minutes to install, configure and test takes less than five minutes with UBOS and I appreciate this time saving technology.  The ability to backup multiple websites and their databases in seconds with one command is also a very welcome feature. 



There were downsides to using UBOS I ran into.  One was the distribution refusing to reboot after services were installed.  The second was the issue I ran into where I could not install new services once web applications had already been installed.  This seems like a restriction which would get in the way in any situation where we want to experiment with new applications. 



A final issue I ran into was UBOS currently does not offer many pre-packaged services.  There are, at the time of writing, eight available web services we can install and configure with a single command.  This is a good start, but I hope more services are added later, perhaps for other blogging software, development tools and other common web services.  The basics many home users are likely to want are already in UBOS's inventory and I hope the selection is expanded to appeal to a wider audience in the future. * * * * *  Visitor supplied rating



UBOS has a visitor supplied average rating of: 4/10 from 1 review(s). 

Have you used UBOS?  You can leave your own review of the project on our ratings page. 





Miscellaneous News (by Jesse Smith)

Korora provides list of popular applications, Ubuntu MATE seeks user feedback and unveils HUD, GNUstep releases first update in seven years, OpenBSD to use Clang by default When new users first try a Linux distribution one major challenge is discovering which applications they should use to perform tasks.  To save their users from digging through a long list of applications in search of the right one the Korora team has put together a quick guide that matches popular applications to specific tasks. "  One of the core aims of the Korora Project is to provide an out-of-box Linux experience that can take care of the average user's daily needs with entirely free software.  To save you the trouble of digging through every pre-installed application, we have compiled a list of the prepackaged applications within each version of Korora that fulfill a specific purpose.  This will hopefully save you some trouble from immediately downloading more software when the right tool may already be installed. "  The guide is divided into five separate sections, one for each desktop edition Korora offers. * * * * *  The Ubuntu MATE team is seeking feedback from the community as to which media player people would like to see installed by default.  The project has set up a poll and invited people to vote on whether they think VLC, MPV or Totem would be the best default video player for the distribution.  The winner of the poll will likely become the default player in the upcoming release of Ubuntu MATE 17.10. 



One of the new features Ubuntu MATE is experimenting with for the upcoming 17.10 release is a global menu with HUD support.  The HUD, which was a popular feature of the Unity 7 desktop, allows users to search quickly through an application's menu without taking their hands off the keyboard.  The user can tap a short-cut key and type the name of the function they wish to use.  A demonstration of the HUD at work can be found in the release announcement for Ubuntu MATE 17.10 Alpha 2. "  This is something we started during Ubuntu MATE 16.10 and never perfected, but is now ready for prime time.  A favourite of Unity 7 users is the Heads-Up Display (HUD) which provides a way to search for and run menu-bar commands without your fingers ever leaving the keyboard.  So if you're trying to find that single filter in GIMP but can't remember which filter category it fits into or if you can't recall if Preferences sits under File, Edit or Tools on your favourite browser, you can just search for it rather than hunting through the menus. " * * * * *  GNUstep Live CD is a Debian-based live disc which features the GNUstep software.  The GNUstep Live CD distribution had been dormant for approximately seven years, but has since been updated with a new release.  The new version runs on 64-bit x86 computers and brings many major version bumps to installed packages.  More information can be found on the project's website. * * * * *  The OpenBSD project has traditionally shipped with the GNU Compiler Collection (GCC) as the operating system's default compiler.  While the GNU compiler will continue to be available to developers, the OpenBSD project is switching to using the Clang compiler as the default compiler on the x86 and x86_64 architectures.  Clang has been gaining adoption, particularly in the BSD community, due to its clear error messages and liberal license. * * * * *  These and other news stories can be found on our Headlines page. 





Questions and Answers (by Jesse Smith)

Transferring a list of installed packages



Taking-my-packages-with-me asks: Is there a way to transfer the list of installed packages from one computer to another?  Like if I am setting up a new computer with Ubuntu 17.04 can I transfer the list of installed packages from my old Ubuntu 16.04 system? 



DistroWatch answers: Yes, there are a few ways to transfer a list of installed packages from one computer to another and optionally install the same packages on the new system.  However, when switching between two separate distributions (or different versions of the same distribution) it is possible to run into incompatibilities.  Distributions sometimes name their packages differently and packages may disappear from one version of an operating system to the next. 



With Ubuntu, and other members of the Debian family, it is possible to get a list of installed (also referred to as selected) packages on the first computer by running the command dpkg --get-selections The above command will display a list of software components and their status.  To save this information to a file we can redirect the output to a text file: dpkg --get-selections > package-list The package-list file can be transferred to another computer and then used to select/install the same software on the second computer.  This is done by first transferring the list to the new computer and then using a utility called dselect to help install the software on your new computer. 



First we need to make sure the dselect utility is present on the new computer: sudo apt-get update

sudo apt-get install dselect Then we import the list of packages we saved from the old computer and install them.  sudo dselect update

sudo dpkg --set-selections < package-list

sudo apt-get dselect-upgrade I also recommend making sure any non-standard repositories you have enabled on your old computer you also enable on your new computer.  If you have set up a third-party repository for installing Chrome, for example, then that repository should be enabled prior to performing the above steps to install your software on the new computer.  You can usually find a list of enabled repositories in the /etc/apt/sources.list.d directory. 



When setting up repositories on the new computer, I do not recommend simply copying the repository files from your old computer's /etc/apt/sources.list directory as they may contain version-specific information.  In other words, we do not want the new version of your operating system to try to install software from repositories containing packages for older versions of your distribution.  It is better to set up your repositories fresh, following instructions from the upstream website to avoid version conflicts. 



Different distributions use different package managers and the above steps will only work on the Debian family of distributions.  If you are using a distribution in the Fedora family then it will be necessary to perform similar steps using the RPM and DNF software utilities.  On the older computer you could use RPM to get a list of installed packages: rpm -qa --qf "%{NAME}

" > package-list Then, transfer the package-list file to the newer computer and run the DNF command to import the list of packages: sudo dnf install $(cat package-list | tr '

' ' ') Each package manager has its own methods for providing a list of installed packages and for importing a list of software to install.  For distributions not in the Fedora or Debian families, I recommend reading your operating system's documentation on exporting and importing lists of installed packages. * * * * *  More answers can be found in our Questions and Answers archive. 





Released Last Week

Torrent Corner

Upcoming Releases and Announcements

Opinion Poll

Installing applications on a new computer



When installing a new operating system or moving to another computer, it is convenient to be able to transfer the applications we usually use from our old operating system to the new one.  In this week's Questions and Answers article we discussed ways to get a list of installed packages to move to another operating system.  We would like to find out how our readers transfer their software between systems.  Feel free to provide your own tips for taking applications with you between computers in the comments. 



You can see the results of our previous poll on monitoring system logs in last week's edition.  All previous poll results can be found in our poll archives. 



Installing applications on a new computer



I export/import package lists: 89 (6%) I use a sync service: 9 (1%) I manually track software and install it myself: 598 (37%) I only install new applications as I need them on the new OS: 858 (53%) Other: 57 (4%)

DistroWatch.com News