Trying two new distributions



I recently decided to do something different and, instead of reviewing one of the distributions in the DistroWatch database, I opted to select two projects at random from the waiting list. I was not sure what I would get when I spun the virtual roulette wheel, but I was eager to try something new.



noop linux 20160308



The first distribution to be selected was noop linux. I suspect the developer named their distribution after the "no operation" (nop or no-op) Assembly command, an instruction which is designed to, in effect, do nothing. However, I prefer to read "noop" as rhyming with "soup". Naming aside, the noop distribution is a hybrid source and binary distribution with a custom package manager. The project's website describes noop as follows: noop's packages manager and build system are all contained in the shell script 'pkgr'. Packages may be installed from pre-built packages, or with 'bldj' packages (from file, or git) that compile it from source. The project does not feature much documentation, but there is a brief installation guide and a page which shows us how to use the pkgr command line package manager. The noop distribution is available in four editions: Core, Enlightenment, MATE and Xfce. I decided to try the MATE edition which is available as a 1.6 GB download.



Booting from the live media brought up the MATE 1.10.0 desktop environment. MATE is arranged with a panel at the top of the screen which features the desktop's Applications, Places and System menus. Over on the right side of the panel we find the system tray. At the bottom of the screen there is a second panel which features a list of open windows. The Applications and System menus mostly feature common tools, such as a text editor, system monitor, partition editor and configuration applications for adjusting the look and behaviour of the MATE desktop. I did not find any system installer in the live environment and turned to the noop wiki page on installing the distribution for help.



The first thing we need to do when installing noop is create a partition (and optionally swap space) for the distribution. I tried to launch the GParted partition manager from the distribution's application menu, but was told the application needed to be run as the root user. I then tried launching GParted from the command line (as the root user), but GParted immediately crashed with a segfault. This leaves us with two command line partition managers, fdisk and cfdisk, both of which work well. We can then use the command line programs mkfs and mkswap to format our root partition and initialize swap space. Next, the wiki instructs us to mount our new root partition and run the /root/instlr shell script.



The instlr script asks if we want to install packages from the local live media or over the Internet. I decided to install from local media as it seemed likely to be faster. The system then shows us the name of each package as it is installed. This went on for nearly an hour, with occasional "cannot stat file" errors being thrown by the copy command.



Once the last package has been copied to our hard drive, we are asked to create a password for the root account. We can then run a command to install the GRUB boot loader. The final step gets us to edit noop's /etc/fstab file to make sure the correct mount points are assigned to our partitions. In my case I found the swap and root partitions were reversed in the fstab file and I had to correct them. I then rebooted the computer to start exploring my new copy of noop.



Here is where my trial came to a sudden halt. When booting, immediately after the GRUB menu, the system reported it could not boot as it had encountered an "unknown file system". At first it looked as though GRUB had been misconfigured as the boot loader was trying to access my swap space as the root partition. Booting from the noop live disc, I was able to correct the GRUB configuration and reboot. Once again, despite having the proper location of my root partition, the system still reported it had run into an unknown file system and failed to boot.



While noop looked interesting and has a pleasantly minimal feel to it, I was unable to get the distribution working. Hopefully future releases will offer a more robust experience and additional documentation. For those who are interested in trying noop, it is worth noting the live user's password and the root password are both "noop". This will be useful when it comes time to run a partition manager or the system's installation script.



* * * * * EasyNAS 0.6.2



The second distribution to be selected was EasyNAS. The EasyNAS distribution provides a network attached storage platform which is based on openSUSE's Leap edition. EasyNAS makes use of Btrfs, an advanced file system, to provide flexible storage volumes and file recovery. The project's website summarizes EasyNAS as follows: EasyNAS advanced features include: file system compression, snapshots, copy on write, online increase/decrease file system, online balancing data between hard drives, online file system check. It also supports file sharing across multiple operating systems through the following protocols: CIFS, NFS, AFP, FTP, HTTP, SCP, DLNA, TFTP. The installation media for EasyNAS is 556MB in size. Booting from the disc brings up a menu asking if we wish to boot from the local hard disk or launch the project's system installer. Taking the install option brings up a text screen where we are asked for permission to wipe the computer's hard drive and install the distribution. The response defaults to "Yes", so it pays to be careful when navigating the menu. The system installer requires no further information from us, it wipes our primary drive, copies its packages to our disk and reboots the computer.



Our new copy of EasyNAS boots to a text console where the NAS's IP address is displayed at the top of the screen. The network port of the NAS's web interface is also displayed. We are automatically logged in as the administrator and, instead of a command line, we are shown a menu. This menu provides us with options which allow us to set the NAS's IP address, change the admin password or reset the system to its defaults. Additional menu options give us the ability to shutdown the NAS, reboot or access a command line shell.



The IP address menu option gets us to set a new static network address, provide a netmask, gateway and DNS servers. The password reset option works, but the confirmation (or error) message that appears after we choose a new password is displayed and erased too quickly for me to read it. The other menu options work as expected.







EasyNAS 0.6.2 - changing the NAS's network settings

(full image size: 168kB, resolution: 1221x1004 pixels)



While we can perform these configuration changes and access a command line through the NAS's local console, most work will be done remotely - most likely through EasyNAS's web interface. EasyNAS accepts both HTTP and HTTPS connections on network ports 1080 and 1443 respectively. Pointing a web browser to our NAS's IP address first brings up a login screen where we can sign in as the user "admin" using the password we set on the console.



EasyNAS's web interface is divided into two main sections. On the left we find a list of pages we can access, with the pages arranged into categories of settings. On the right side of the page we see the specific controls and settings we can manipulate. What follows is a quick overview of the settings pages and the controls available.



The first group of pages fall under the System category which deal with the NAS, its resources and network connection. Here we find the System Information page which displays information about our CPU, available memory and our kernel version. We also find the General Setting page where we can set our NAS's hostname, configure which network ports to use, change the date & time and upload a security certificate. This page also provides a method for filtering which computers can access EasyNAS's control panel. The System category further includes a Resource Monitor where we can watch our NAS's CPU usage, memory consumption and the number of clients currently connected.



The System category has a few more pages of interest. The Power Management page handles shutting down or rebooting the NAS. The Firmware page allows us to check for newer versions of EasyNAS. Finally, the Scheduler page gives us the chance to perform key tasks at certain times. Tasks we can schedule include creating file system snapshots, running rsync to backup files and performing scrubs of the Btrfs volumes attached to our NAS.



The second group of controls deals with storage - disks, file systems and Btrfs volumes. The first page in the Storage group is the Disk Manager. Here we can see what disks are attached to our NAS, test the disks for problems and set a disk to offer read-only access. Next up is the File System Manager page. Here we can create new file systems on our disks, enable data compression and enable RAID for multi-disk configurations. We can also add a physical disk to a file system. I'll come back to the organization of disks, file systems and volumes later.



Also in the Storage group we find the Volume Manager page where we can manage file system snapshots, change the owner of a storage volume and change file system permissions. The last page in the Storage group is called Sync Volumes. This page gives us the option of using the rsync command to backup our data to a remote server.



The next group, called Users/Groups, has just two pages, one for managing user accounts and the other for managing groups of users. Primarily this category is used for simply creating new user accounts.







EasyNAS 0.6.2 - working with user accounts

(full image size: 171kB, resolution: 1221x1004 pixels)



The next category, File Sharing, gives us the option of enabling network access to our NAS. EasyNAS supports working with OpenSSH, Samba, NFS, FTP, Web, AFP and Radius access. Looking through these services, the only one I found running by default was OpenSSH. The secure shell server allows us to login and access a command line shell. If we login as the administrator we are shown the same configuration menu we see on the local console. Each network service can be toggled on/off with a mouse click.



Now that we have covered what EasyNAS offers us on the surface, I would like to explore some characteristics of the operating system and my experiences with setting up and accessing storage. I would like to acknowledge up front that EasyNAS requires very few resources. The distribution used about 50MB of RAM when running a network share and the web interface. The operating system itself requires a mere 800MB of disk space, though our EasyNAS installation does lay claim to the entire main disk. So far as I could tell, there is no way to place both a data partition and the operating system on one physical disk.



EasyNAS treats file systems and volumes a little differently than other NAS platforms I have used and I want to explore the distribution's concepts of volumes, file systems and disks. When we add a physical storage disk to our computer, EasyNAS automatically detects the disk and will display it on the Disk Manager page. Through the Disk Manager page we can test the disk for defects, but there isn't much else we can do with the new storage space at first. We need to format the disk with a file system before we can use the new storage space.



After a disk has been added to our computer and tested for defects, we proceed to the File System Manager page. From here we can format our new disk. Once the disk is formatted, we still cannot do much with it. To create snapshots, grant remote access or perform backups, we need to add the new file system to a volume. This sends us to the Volume Manager page where we create a new volume and add our newly created file system to the volume. Each volume is owned by a user and, for security (and convenience) most of us will want to have our files owned by a non-admin user. This sends us over to the Users Manager page to create a new account before creating our first volume.



If this process sounds complicated it is probably because I am accustomed to working with ZFS volumes which generally have two components (physical disks and the whole storage pool). With ZFS I add a disk to the machine, place the disk into a storage pool and then work out permissions and sub-volumes later as need arises. EasyNAS seems to work better if we organize storage as if we were working with LVM which has three layers (physical disks, file systems and logical storage volumes). EasyNAS with its additional layer seems (to me) to require more steps to set up, but encourages us in the process to plan ahead. With EasyNAS I found myself planning from the top down, rather than simply throwing additional disks into my storage pool on a whim.



While using EasyNAS I found the controls worked well. I do not think I ran into any errors during my trial. Each page has a Help button which offers a little guidance on how things work. I would like to see the Help section expanded a bit to explain how EasyNAS organizes its services, but for now the essentials are available in the documentation.



I did run into a few quirks, though I hesitate to call them bugs exactly. For example, EasyNAS takes an unusually long time to shutdown. The system will turn off cleanly, but it took about a minute during my trail, quite a bit longer than Linux distributions usually require. The web interface tended to be a bit slow to respond compared to other web-based administrative panels I have used. To its credit, the web interface worked and it never locked up or otherwise caused problems. Another quirk I noticed was the System Information page always showed my storage disks as full, even when both my system disk and data disks were nearly empty.



As I mentioned above, EasyNAS runs a secure shell server by default. This is definitely nice to have when setting up a NAS which will be accessed remotely. The one issue I had with connecting to EasyNAS over secure shell was that, when logged in as the admin user, there was no normal way of ending the session. Dropping to a shell from the admin menu and typing "exit" or pressing CTRL-D would simply return me to the menu. I had to either close the terminal window or use the "~." OpenSSH short-cut to drop the connection.



One quirk of EasyNAS I ran into was that I could set up Samba shares and Web (HTTP) shares. But files uploaded to the Samba share were not visible over Web connections. The names of the Web and Samba folders are the same, but they access files in different locations. I found this a bit frustrating as I was hoping to upload files over Samba and share them with people over a Web connection, but this requires some extra work through the command line.



I was pleased to find that manually creating volume snapshots worked flawlessly. I also found scheduled snapshots worked as expected. This gives us an extra (usually read-only) copy of our data in case something is accidentally deleted. While creating snapshots is quite easy through the EasyNAS interface, I found accessing snapshots was a bit more tricky. It is possible to manually create network shares to access snapshots. I also found it possible to access snapshots through the command line. However, the web-based admin panel appears not to have a method for browsing or restoring snapshots. Hopefully this feature will be added in a future release.







EasyNAS 0.6.2 - managing volumes and snapshots

(full image size: 171kB, resolution: 1221x1004 pixels)



Conclusions



EasyNAS appears to be a young project and I feel that it deserves to be treated as a promising work in progress. While EasyNAS does not yet have the features and polish that other NAS technologies (such as FreeNAS) have, the developers are off to a good start.



EasyNAS is, as the name suggests, easy to set up. The basic features of setting up file systems, creating snapshots and enabling services are all there. I found EasyNAS made it pleasantly straight forward to schedule snapshots, enable Samba shares, and check on the system's status. The rough edges I encountered tended to be in the areas of documentation and more advanced feature such as restoring files from a snapshot and sharing files between multiple services. EasyNAS certainly makes good use of Btrfs and is one of the few distributions to really leverage the power of Btrfs in a user-friendly way.



I think EasyNAS is off to a good start. There are a few, rare rough edges, but this is a promising project and will likely soon be challenging other NAS distributions in homes and small businesses. Since writing this review I have added the distribution to our database.



* * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8 GHz AMD A4-3420 APU

Storage: 500 GB Hitachi hard drive

Memory: 6 GB of RAM

Networking: Realtek RTL8111 wired network card

Display: AMD Radeon HD 6410D video card