DistroWatch Weekly, Issue 675, 22 August 2016

Feature Story (by Joshua Allen Holm)

Gentoo Linux live DVD "Choice Edition"



One of the wonderful things about Linux is the diversity of the distributions available. Some distributions are very beginner friendly with installers that offer only a few basic options. Others are more complex, requiring knowledge of Linux and skills with the command line to install. Gentoo falls into the more complex category. There is no installer per se, the user just needs to follow instructions to perform several steps leading to a fully installed and configured system. This process is certainly harder than using Ubuntu's Ubiquity installer, but it is not that hard. The instructions are clear and do require previous experience with Linux, or the tenacity to keep going (or start over) when things go wrong when Gentoo is used in a "dive in head first" learning experience. Below, I take a look at the latest Gentoo Linux live DVD, the "Choice Edition," and briefly explore how Gentoo gets installed on a system by using a step by step set of instructions instead of an installer that takes care of most of the steps automatically.



The live DVD



There are two download options for the latest Gentoo live DVD. One is a multilib image and the other is a hybrid disc with separate 32-bit and 64-bit environments. I opted for the multilib image, downloading the 3GB ISO. However, I quickly ran into problems when I tried using the ISO in Windows 10. VirtualBox failed to work with the disc at all, even though the hash for my download verified. I could not even get Windows itself to mount the image as a virtual drive. However, I could copy the ISO to a USB flash drive using a variety of tools without problem and the USB drive booted Gentoo with no problems. While I could reproduce this experience with the other Windows computer I have access to, I had zero issues with the ISO in Fedora and Ubuntu. Both live DVD options seem to be affected by this issue, but the minimal install media works just fine. Unfortunately, this issue makes it harder for Windows users who just want to try out the Gentoo live DVD in a virtual environment.





Gentoo Linux 20160514 - running the live desktop environment

(full image size: 1.5MB, resolution: 1366x768 pixels)



Aside from an obnoxiously loud beep from the PC speaker, the Gentoo multilib live DVD booted without other difficulties. For the most part, the boot process was quick, but once the graphical environment started there was a long delay while I stared at a black screen with nothing but a mouse pointer. After a minute of waiting, the KDE Plasma 5 desktop environment loaded and the system was ready to go. On the desktop, there are shortcuts to all the various ways to get more information about Gentoo, converse with developers and other users, and submit bug reports. The Documentation folder on the desktop contains a local copy of the Gentoo wiki's installation instructions and a PDF copy of a book titled Linux Sea, which is a introduction to the ins and outs of Linux using Gentoo as an example. Once up and running, the desktop environment was very responsive and used, with no applications running, approximately 300MB of RAM.





Gentoo Linux 20160514 - reading Linux Sea in Okular

(full image size: 200kB, resolution: 1366x768 pixels)



At 3GB, the live DVD contains far more software than the typical live image. Instead of curating the selection of software included to use the "best" programs or to create a consistent user experience, the Gentoo live DVD includes multiple programs to do just about everything. For web browsing there is Aurora, Chromium, Links, and Otter Browser. For email, the options are Claws Mail, EarlyBird, Evolution, and Slypheed. For editing documents and spreadsheets, LibreOffice is installed, but so are AbiWord and Gnumeric. Other software is featured and this is just a partial list: Blender, Bluefish, GIMP, Inkscape, and VLC media player. If you are looking for a live DVD that has all the major Linux applications, Gentoo's live DVD is it. Having a copy of this disc on hand is a great way to showcase a wide variety of open source applications to users who may not be familiar with the wide variety of open source software that is out there.



As nice as the Gentoo Linux live DVD is, there were a few issues related to the particular hardware I was using, i.e., the Lenovo EasyCamera webcam does not work right, but that is not Gentoo specific, and the wireless card does not work, which actually is Gentoo specific; Gentoo's kernel does not include the drivers for the Realtek RTL8723BE wireless card, even though the card is supported in Fedora just fine. Older distributions do not work with the wireless card, but Fedora 24 and the Gentoo Linux live DVD both use version 4.5 of the Linux kernel, so the lack of enabled support for the BE variant of RTL8723 wireless cards is specific to Gentoo's kernel. Enabling the driver by compiling a custom kernel is an option for a normal install, but for a live DVD it really is not, so the lack of wireless networking was an inconvenience when I was testing the live DVD.



Installing Gentoo





Gentoo Linux 20160514 - the Gentoo Handbook

(full image size: 197kB, resolution: 1366x768 pixels)



The Gentoo install documentation breaks the process down into ten main steps, though the process is broken down into many smaller pieces, so there really is more than ten things to do. Beginning with a working Linux environment, such as the Gentoo install image or the live DVD, users work through all the steps by hand instead of having an installer do it for them. Users have to partition a hard drive, install the base Gentoo software, and configure almost everything themselves, from the boot loader and kernel to the specific software packages they want installed beyond the Gentoo core packages. Suffice it to say this process takes a lot more time than using Ubuntu's Ubiquity or Red Hat's Anaconda installer.





Gentoo Linux 20160514 - managing software with Porthole

(full image size: 128kB, resolution: 1366x768 pixels)



Once the base of the system is installed, installing software on Gentoo is handled by Portage. Using the command line, users can install a program using the emerge command. For users who prefer to work in a GUI, once they have one set up, there is Porthole, a graphical front-end for Portage. Porthole behaves a lot like other graphic package managers in that it provides a categorized list of software available and software can be installed or removed by selecting it from the list. Gentoo provides plenty of choice when it comes to desktop environments and software packages, so users should be happy tweaking their system to their liking. There are packages available for KDE, GNOME, Xfce, MATE, and Cinnamon, plus several other options. Part of Gentoo's appeal is the ability to tweak things for a specific system using a variety of setting flags to configure things and other advanced options. Users who want to try Gentoo should read the documentation about Portage to develop a thorough understanding of how Gentoo's packaging system works and how to make Gentoo run best on their particular hardware.



Final Thoughts



Gentoo is a great choice for users wanting a little more personal control over their system and a more hands on experience. Installing Gentoo is certainly more complex and more time consuming than, for example, Debian, Ubuntu, or the legion of Ubuntu derivatives, but it is not that hard. The documentation is thorough and well written. All one has to do is read and follow the instructions. If something does go wrong, there are plenty of answers in the Gentoo forums. Any user wanting to dig a little deeper into Linux should consider trying out Gentoo. Going through the steps of installing Gentoo is a great way to learn. While the distribution might not be for everyone, it certainly has a place in the Linux ecosystem as a learning tool and as a wonderful, functional, distribution that offers users plenty of choices and options. As for the live DVD, like I stated above, it contains such a wealth of software that is very helpful to have on hand to use to demonstrate open source software to people. However, the time it takes to load to a functional desktop is much longer than the alternatives, so I am not sure about using it on a regular or occasional basis for real work. The live DVD is a great, and positive, introduction to Gentoo, but Gentoo truly shines once it has been installed and tweaked for a particular set of hardware. * * * * * Hardware used in this review



My physical test equipment for this review was a Lenovo Ideapad 100-15IBD laptop with the following specifications: Processor: 2.2GHz Intel Core i3-5020U CPU

Storage: Seagate 500GB 5400 RPM hard drive

Memory: 4GB of RAM

Networking: Realtek RTL8723BE 802.11n Wireless Network Adapter

Display: Intel HD Graphics 5500

Miscellaneous News (by Jesse Smith)

Ubuntu improves terminal convergence, OpenIndiana packages MATE, FreeBSD improves video card support



Canonical has been working toward the idea of convergence for several years now and much of their work on Ubuntu has been to get the interface to work smoothly across multiple devices. The Canonical team is currently trying to make the terminal work better on small devices, such as smart phones. " We have been looking at ways of making the Terminal app more pleasing, in terms of the user experience, as well as the visuals. I would like to share the work so far, invite users of the app to comment on the new designs, and share ideas on what other new features would be desirable. On the visual side, we have brought the app in line with our Suru visual language. We have also adopted the very nice Solarized palette as the default palette - though this will of course be completely customizable by the user. " Some of the new features being proposed include customized keyboard shortcuts, split screen view, custom colours and unlimited history/scrollback. The designers are also looking at making tabs work well across both large screens and small, mobile devices. Mock-ups and a list of proposed features are featured on the Canonical Design blog. * * * * * OpenIndiana is an open source community project which is based on Illumos. OpenIndiana has traditionally used GNOME 2 as the default desktop environment, but that is now changing with the operating system adopting the MATE desktop. " We are pleased to announce that MATE 1.14 is available in OI now. To facilitate installing, we've created pkg:/mate_install meta-package. Unfortunately, when you have both GNOME 2 and MATE installed, both of them try to use the same applications, so you'll have interesting time removing GNOME 2 applications from MATE and vice versa. " The announcement has further details. * * * * * Matthew Macy announced some important work going into the FreeBSD operating system which should improve graphics support for a variety of video cards. " As of this moment sys/dev/drm in the drm-next tree is sync with https://github.com/torvalds/linux drivers/gpu/drm (albeit only for the subset of drivers that FreeBSD supports - i915, radeon, and amdgpu). I feel this is a bit of a milestone as it means that it is possible that in the future graphics support on FreeBSD could proceed in lockstep with Linux. * * * * * These and other news stories can be found on our Headlines page.





Tips and Tricks (by Jesse Smith)

More utilities via moreutils



Most of us are probably familiar with core utilities (coreutils). This is a collection of programs which almost every implementation of Linux, BSD and Unix includes. The core utilities feature such programs as ls, date, cat, cp and rm, among many others. If you pick up any Unix or Linux reference guide or handbook, chances are there will be at least one chapter covering these command line utilities.



Most of the coreutils programs have been around so long we just think of them as part of Linux. They're built in, constant and we may forget that the collection can be expanded, grown to provide additional functionality and solve more problems. The moreutils package builds on the concept of coreutils and extends the power of the command line further. As the project's website states: " moreutils is a growing collection of the Unix tools that nobody thought to write long ago when Unix was young. "



The moreutils package includes 15 new commands which I will summarize below. The package is available on most Linux distributions and FreeBSD. On Debian, the entire moreutils package is just 58kB in size, but it provides valuable tools for anyone who spends a lot of time on the command line. What follows is a list of the 15 programs included in moreutils with usage examples.



chronic: Runs a command quietly unless it fails.



The chronic command is useful for running cron jobs or other scripts where, if everything works, we want no output, but if things go wrong we want a lot of output. For example this backup job will happen quietly, unless something goes wrong and then we will get to see which files did not copy successfully. chronic rsync -av ~/Documents/ ~/Backup * * * * * combine: Combine the lines in two files using boolean operations.



Combine uses logic operators to find and display lines in one or both text files. This allows us to find lines unique to one file, or lines which appear in both files. For example, if I have file1 with the lines Jesse

Bob and file2 which contains the following lines Jesse

Susan then the command below will display "Jesse". combine file1 and file2 * * * * * errno: Look up errno names and descriptions.



Anyone who has done some programming has run into error numbers (errno) and had to look up what the error code or abbreviation meant. The errno command does this instantly. We pass the program either a number or the code abbreviation and it gives us the error number's description. Running the following command returns: "EINTR 4 Interrupted system call" errno eintr * * * * * ifdata: Get network interface information without parsing ifconfig output.



Chances are if you have configured a network interface using the command line you have run the ifconfig command and browsed through its output, looking for specific values. Perhaps you were looking for an IP address or the amount of data flowing in or out of the network. The ifconfig output is usually taken as a whole or parsed, but when running scripts it is better to be able to get just one specific piece of network data. The ifdata (interface data) command looks up and displays just the information we specify. For example, the following command prints our computer's IP address: ifdata -pa eth0 * * * * * ifne: Run a program if the standard input is not empty.



The ifne (if not empty) command is useful if we only want to run a second command if the first command did output something. For example, the following command will search the current directory for files modified within the past week. If matching files are found the ifne program tells the user, otherwise it stays quiet. find . -mtime -7 | ifne echo Found something * * * * * isutf8: Check if a file or standard input is UTF-8.



The isutf8 command simply checks the encoding of a text file (or standard input). The command returns the value of true (zero) when the text it checks is UTF-8 encoded. Otherwise a value of false is returned. The following example checks a text file and reports "Yes, it is UTF8" if the file uses UTF-8 encoding: isutf8 my-text-file.txt && echo Yes, it is UTF8 * * * * * lckdo: Execute a program with a lock held.



The lckdo program blocks a command from running while another program has a lock in place. Alternatively, lckdo can be made to wait for another program to finish. This is useful if we want to run commands at about the same time, but they might conflict with each other.



The lckdo command creates a lock file and, while the lock file exists, other commands checking for that lock file cannot proceed. By default, when the lock file already exists, lckdo will simply quit. In the following example, the do-something script never runs because a lock file blocks it. lckdo mylock sleep 60 &

lckdo mylock do-something In this next example, we launch a backup script in the background. The second lckdo command waits (due to the -w flag) until the backup is finished and then prints "Done backup" to the screen. lckdo mylock backup-script &

lckdo -w mylock echo Done backup * * * * * mispipe: Pipe two commands, returning the exit status of the first.



Usually, when we pipe two commands together, the shell retains the exit status of the last command to run. This is typically what we want, but the mispipe command allows us to get the exit status of the first command in a series of pipes. In this first example, using the shell's default behaviour, the exit status of the whole line is false (or 1). echo hi | false

echo $? Now, using the mispipe command, we can pipe the same two commands and get the exit status of echo which will be true (0). mispipe "echo hi" "false"

echo $? * * * * * parallel: Run multiple jobs at once.



The parallel command operates a lot like running a series of commands in the background in parallel using the & symbol. The nice thing about the parallel program is we can specify options and limit the number of jobs to run at one time. This allows us to run, for example, twenty jobs in the background, but limit the processing to four at a time to avoid overloading the system. I will not go into all the many options and ways we can pass arguments to commands. Instead, here is a very simple command which will print the numbers "one", "two" and "three" in an unknown order. (In my case the output was "two one three". parallel -- "echo one" "echo two" "echo three" * * * * * pee: tee standard input to pipes.



The tee command is used to copy output from a command into two places. This allows us to both print output to the screen and pass it through a pipe to another command. The pee command does something similar with input. This allows us to pipe the same input to multiple commands, as many as we like. The following is a crude example where, if we type various words into standard input, the grep command will search for the text "hello" and, if it is found, print the word on our screen. pee "grep hello" * * * * * sponge: Soak up standard input and write to a file.



The sponge command may be my favourite of the moreutils programs. Using sponge we can collect output from another command and write it to a file. This allows us to nicely side-step the common problem of redirecting output back to the file it came from.



Let us look at a common task which goes horribly wrong because it accidentally wipes out the myfile.txt file, leaving us with a blank and useless file: sort myfile.txt > myfile.txt The problem arises because the > symbol causes the shell to begin by creating an empty file called myfile.txt. This wipes out the file we want to sort before we get to sort it. With sponge we sort the file, soak up all the sorted data and then open a new, empty file with the same name. The following example is the correct way to do what we wanted to do above: sort myfile.txt | sponge myfile.txt Technically, the sort command can write to an output file if we wish, but many commands do not provide this convenience. * * * * * ts: Timestamp standard input.



The ts command prefixes input lines with the current time. This feature can be useful if we are piping logs and want to add timestamps. As an example, the following command constantly checks mylog for new entries. When a new entry is found, the new line is timestamped and written to the timestamped-log.txt file. tail -f /var/log/mylog | ts > timestamped-log.txt * * * * * vidir: Edit a directory in your text editor.



This is another tool that I was thrilled to find. The vidir command opens a given directory in your shell's default text editor. Each file and directory is placed on its own line in the editor. We can then delete or change lines to rename and delete files. When combined with a powerful text editor like vim this allows us to do complex pattern matching to rename or remove files. * * * * * vipe: Insert a text editor into a pipe.



A scenario I run into fairly often is I have created a bunch of output from one command and I want to pass it to another. But first I need to filter out or change a few lines. This means I either need to get creative with sed or awk, or I need to save the output to a text file, edit the file and then pass the edited file to the next command. This introduces a bunch of extra steps and slows down the process, plus I need to clean up my temporary files afterwards. The vipe program accepts standard input as a file to edit, then when we close the editor, it sends the text we changed to the next pipe.



In this example we sort a file, then make changes to it in a text editor. When we quit the editor, the head command displays the first ten lines of the edited text. sort myfile.txt | vipe | head * * * * * zrun: Automatically uncompress arguments to command.



Sometimes we have a compressed file and we want to unpack it and then open it with another command. Usually this is a three step process: uncompress the file, launch the program that needs the file, remove or re-compress the file. The zrun program decompressed the file and passes it to another command. When the command completes, the decompressed data is removed, leaving us with just the compressed copy of the file. There is nothing for us to clean up.



In some ways zrun is similar to zcat in that it gives us access to decompressed data. However, zcat prints the contents of a file to standard output while zrun treats the decompressed data like a file to be passed as a parameter to another command.



In the following example we access the contents of a compressed text file and pass it to the sort utility. The sorted data is displayed on the terminal. zrun mytext.txt.gz sort * * * * * One aspect of the moreutils project I greatly appreciate is the manual pages for each command are fairly short and contain examples. These commands rarely have more than a few options apiece and how to use these options is explained clearly.



The moreutils project is gradually growing and adding more useful commands. Further information on the project and its commands can be found on the moreutils website. * * * * * For more command line tricks and tutorials, visit our Tricks and Tips archive.





Torrent Corner

Weekly Torrents



Bittorrent is a great way to transfer large files, particularly open source operating system images, from one place to another. Most bittorrent clients recover from dropped connections automatically, check the integrity of files and can re-download corrupted bits of data without starting a download over from scratch. These characteristics make bittorrent well suited for distributing open source operating systems, particularly to regions where Internet connections are slow or unstable.



Many Linux and BSD projects offer bittorrent as a download option, partly for the reasons listed above and partly because bittorrent's peer-to-peer nature takes some of the strain off the project's servers. However, some projects do not offer bittorrent as a download option. There can be several reasons for excluding bittorrent as an option. Some projects do not have enough time or volunteers, some may be restricted by their web host provider's terms of service. Whatever the reason, the lack of a bittorrent option puts more strain on a distribution's bandwidth and may prevent some people from downloading their preferred open source operating system.



With this in mind, DistroWatch plans to give back to the open source community by hosting and seeding bittorrent files. For now, we are hosting a small number of distribution torrents, listed below. The list of torrents offered will be updated each week and we invite readers to e-mail us with suggestions as to which distributions we should be hosting. When you message us, please place the word "Torrent" in the subject line, make sure to include a link to the ISO file you want us to seed. To help us maintain and grow this free service, please consider making a donation.



The table below provides a list of torrents we currently host. If you do not currently have a bittorrent client capable of handling the linked files, we suggest installing either the Transmission or KTorrent bittorrent clients.



Operating System Torrent MD5 checksum OpenIndiana 2016.08 "MATE" OI_MATE_experimental.iso 8a5a3e7b125f6dc4c7c3c4ca42a9a112 OpenMandriva 3.0 OpenMandrivaLx.3.0-PLASMA.x86_64.iso 1c2e774f91bc0359deb7ccf1efb2e720 SystemRescueCd 4.8.1 systemrescuecd-x86-4.8.1.iso 5f79957c793459a699d1076b9f47f9af



Archives of our previously seeded torrents may be found here. All torrents we make available here are also listed on the very useful Linux Tracker website. Thanks to Linux Tracker we are able to share the following torrent statistics.



Torrent Corner statistics:

Total torrents seeded: 226

Total data uploaded: 42.2TB

Released Last Week

MidnightBSD 0.8



Lucas Holt has announced the release of MidnightBSD 0.8, a new stable build of the project's FreeBSD-derived operating system developed with desktop users in mind: " MidnightBSD 0.8 released. MidnightBSD 0.8 includes several enhancements to the system. We switched system compilers from GCC 4.2 to LLVM/Clang 3.3 with plans to update to newer versions. We're making use of libdispatch in our package manager. Several long-standing bugs with the mports framework have been fixed. " The release comes with several interesting mports (MidnightBSD's packages), but also a warning: " Notable mports to try: mlogind - the new MidnightBSD login manager; mport manager - a graphical front-end to MidnightBSD's package manager; Lumina desktop environment (there is no package for this yet); Xfce 4.12; Gnome 3.16.2. Note: this release is a little weak on packages and that will be corrected over time. Many ports actually work if you build from source, including Ruby, and GNOME 3. We also made progress on the OpenJDK 6 port. " Read the full release announcement for further details.



ReactOS 0.4.2



The ReactOS project is an open source operating system which attempts to be binary compatible with Microsoft Windows. The ReactOS project has released a new version, ReactOS 0.4.2. The new release improves compatibility with Windows applications via WINE and includes the ability to read and write with several Unix/Linux/BSD file systems, including ext, ReiserFS and UFS. " Beyond the usual updates to external dependencies such as Wine and UniATA, much work has gone into refining the experience of using ReactOS, especially with respect to the graphical shell and the file explorer. Perhaps the most user visible change however is the ability now to read from and write to several Unix file systems, namely ext family, ReiserFS, and UFS. Native built-in support for these file systems should make for considerably easier interoperability than the current out-of-box experience provided by Windows, and there is more to come in the future. " Additional information can be found in the release announcement.



BlackArch Linux 2016.08.19



Gaurov Soni has announced the release of BlackArch Linux 2016.08.19, an Arch-based live distribution with a large collection of tools designed for penetration testing and security research: " Today we released new BlackArch Linux ISO image. The new ISO image include over 1,500 tools. Here's the changeLog: include Linux kernel 4.7.1; updated BlackArch Linux installer; added more than 100 new tools; updated all BlackArch tools; updated all system packages; updated menu entries for window managers (Awesome, Fluxbox, Openbox). The following newest tools have been added: anti-xss - an XSS vulnerability scanner; shelling - an offensive approach to the anatomy of improperly written OS command injection sanitisers; pathzuzu - checks for path substitution vulnerabilities and logs the commands executed by the vulnerable executables; gef - multi-architecture GDB enhanced features for exploiters and reverse engineers.... " Visit the project's blog to read the brief release announcement and to learn more about the recent addition to the distribution's toolkit.



SparkyLinux 4.4



The SparkyLinux distribution is based on Debian's Testing branch and is available in several editions. The project's latest release, SparkyLinux 4.4, is available in five different desktop flavours. The new version offers updated packages for the kernel and Firefox. The ability to easily install additional desktops, including PekWM, Trinity and Lumina, through the APTus utility has been added. " New, updated live/install ISO images of SparkyLinux 4.4 "Tyche" are available to download now. As before, Sparky "Home" editions provide fully featured operating system based on Debian Testing, with desktops of your choice: LXDE, LXQt, KDE, MATE and Xfce. Changes between versions 4.3 and 4.4: full system upgrade as of August 15, 2016; Linux kernel 4.6.4 (4.7.1-sparky is available in Sparky repos, see how-to); Firefox 45.3.0.ESR (Firefox 48 is available in Sparky repos); Calamares is available (but not default yet) in our repos; new default theme called Numix-SX; added new desktops to Minimal ISO and APTus: Lumina, Trinity and PekWM... " Additional information can be found in the project's release announcement.





SparkyLinux 4.4 -- The live desktop and application menu

(full image size: 2.2MB, resolution: 1280x1024 pixels)

* * * * * Development, unannounced and minor bug-fix releases

Black Lab Linux 8.0-beta1

OpenIndiana 2016.08 "MATE"

Linux Mint 18-beta "KDE"

Upcoming Releases and Announcements

Opinion Poll

What is holding you back from Linux?



We know from the e-mails we receive that many of our readers are interested in Linux, but have not yet made the leap and installed a Linux distribution on their computer.



Some people may not have found useful alternatives to their existing applications, others might be struggling with how different Linux is from their current operating systems, others might be running hardware which does not play well with Linux. This week we would like to know, for those of you who have yet to take the plunge, what is holding you back from becoming a member of the Linux community?



You can see the results of our previous poll on the status of Devuan here. All previous poll results can be found in our poll archives.



What is holding you back from Linux

Hardware/driver support Missing applications Learning different ways of doing things Not sure which one to choose One or more specific bugs I have encountered No need to switch from my current OS Politics or philosophy conflicts Other I am already running Linux