A Very Basic Guide to Linux Distributions for Newcomers

There’s an old joke about standards: How many of them do you want?

Linux comes in a large number of packagings (called distributions), differing widely in how you build, administer, and use their systems. Which will be “best” or “friendliest” for you is difficult to tell you before you’ve tried them, and easy answers should be questioned.

I’m going to give you an easy answer. You should question it. ūüėČ

Newcomers using¬†modern-ish workstation or laptop machines should seriously consider starting with ¬†Bodhi Linux, Linux Mint, Ultimate Edition, MEPIS Linux, or PCLinuxOS. ¬†Here’s why:

1. Good installers that work on all likely hardware.

2. Polished, beautiful desktop environments with all the fixings including commonly wanted A/V software. Want Adobe Flash support? mp3 support? Oracle Java? Nvidia drivers included? No problem.

3. Solid and healthy surrounding community that produces it (from all signs so far).

Nothing’s perfect, and all OSes suck, but all of these are highly respected by the overwhelming majority of informed independent reviewers, and garner no serious complaints.

There are a number of respected sources of general information on distro (distribution) choice. Here are three: Linux Distribution Chooser, DistroWatch Major Distributions, and Karsten’s Distribution Guide. (As always on the Web, watch for signs of obsolescence.)

Why did I mention five distros? Why not one? Because the reality of Linux is that you get choice, whether you like it or not, so you might as well come to terms with it. The good news is: You can flip a coin and you can’t really lose. They’re all good, and freedom is a good thing. Try one distro today. Next time you’re curious, you can try another, live with it for a while too, and compare. Or not, because choice is what this is about.

There’s a lot of questionable distro advice around. Even though all should be questioned, I think the bias in most of it will be obvious, and the flaws and errors easy to find. E.g., shouldn’t people pushing Ubuntu (w/Kubuntu, Xubuntu, Lubuntu) disclose the lack of integrated A/V support and Nvidia hardware drivers. Shouldn’t they disclose *buntu’s inability to install on many PC systems the five I cite have no problem with? Shouldn’t many of them disclose being members of a Canonical, Ltd. (the commercial company publishing Ubuntu)-funded advocacy organisation? Shouldn’t people pushing Fedora disclose that it’s a short-term development platform for Red Hat with occasional stability problems because it’s cutting edge?

My [non-]biases:

1. I have no connection to any of the above-cited distributions, neither the ones I recommend nor the ones I critique. I run Debian Testing on my own servers, Aptosid on my workstation, and CentOS on the ~3500 Internet servers I administer and architect for $DAYJOB.
2. Far from liking proprietary A/V software, Nvidia drivers, Oracle Java, the MP3 format, and Adobe Flash, I specifically don’t like any of them – but I know newcomers to Linux perceive a need for them, therefore I take that perception into account in recommendations.
3. I am not employed by, nor do I have an financial interest in or backing from, any Linux company. I used to work at several Linux-industry companies that were famous in the 2000s and no longer exist, and am now a senior system administrator at a large content company with no horse in these races.

Suddenly confused about the meaning of the word “partition”…

This was a question I saw on the linux4noobs sub-reddit on Reddit.com and i thought the question and answer would be of interest to Berkeley LUG.

Q: I am reading about disk partitioning and realized I don’t understand something I thought was very simple. This guide I am reading goes into detail about how /boot and /home should be on “separate partitions”. I know when I’ve installed linux multiple times I’ve had to “partition” the hard disk with a primary and a swap, and the ex4 filesystem gets written within that primary partition. Doesn’t the entire file system, including /boot and /home, reside on the primary partition I’ve formatted as ext4? Are these really separate partitions, or are they just different folders under / (root)?
Everything I know is a lie

A: The directory structure is kind of an abstraction.
It is a tree that lives under “root” or “/” and branches from there as sub directories.
Except, not quite. Partitions are kinda pinned (Mounted) to a branch node (mountpoint) of this tree. Then the sub directories from there are read out of the filesystem of the partition.
It all has to start with something mounted at / But from there on different partitions can be mounted at different points in the root filesystem.
So an example:
I have a partition sdb1 This is the partition supposed to be /home.
So inside we have directories for users, /tom, /dick, and /harry And each have the usual subdirectories like /Desktop, /Documents, /Videos etc
So we have sda1 mounted at / and it has everything in it. It has /home and had a user sally, so we find the directory /home/sally in there.
Ok now we mount sdb1 on /home. What happens?
The file tree starts at / which is sda1 and follows around insde sda1 until you hit /home where we jump over to sdb1 because it is mounted there (it is pinned to that branch)
So we get /home/tom and /home/dick and /home/harry because /tom /dick /harry are in the root directory of sdb1
And /home/sally is not there because it is in sda1 and after we get to /home (the mountpoint of sdb1) the tree traverses sdb1 instead.
The example was to show what happens, but normally you set things all up in the beginning and you don’t have sally go missing.
And creating and deleting would happen in the partition that is mounted there. So if Sally comes up and “hey I need an account!!!” creating /home/sally would make the directory /sally in sdb1.
Why?
Well It is kind of nice having all files in the same structure instead of the C: D: X: Y: Z: as in windows.
The whole /boot /home on separate partitions thing. (I may get jumped on for this — some people are very passionate on this topic) The idea is to have the greatest likelyhood of a workable computer when things go wrong. Like you do something stupid and mess up, Then you still have something working enough you can get in and fix it. Or that your personal files are on another partition and so protected.
Nowadays, The Ubuntu way is common: one big partition mounted on /
And If things go wrong you just boot a linux live and fix there

We meet on the second and fourth Sundays of each month in Berkeley near the Downtown Berkeley BART station. We hope you join us at Bobby G’s Pizzeria.

Try out a new Linux distribution!

There’s more than just Ubuntu out in the Linux universe. Maybe you’re satisfied with your current operating system, but are curious to see what else there is. Distributions (or distros for short) are operating systems built on top of the Linux kernel. Just like with Ubuntu’s live CD, there are many distributions that allow you to test out the operating system without allowing it to take over your hard drive. You can also run them in a virtual environment without having to leave your desktop by using¬†Qemu, VirtualBox, or VMWare.

One great resource for learning about the different flavors of Linux and their features is DistroWatch.com. It has a large index of the different Linux distributions, as well as reviews, summaries, and comparisons between versions to get you started. The beauty of open source software is that you can even use and modify the code from other distributions to make your own. If you’ve got some spare time, Why not try a new distro today?

We hope you join us for our meeting in Berkeley at Bobby G’s Pizzeria. We meet on the second and fourth Sundays of each month.

LVM Root Disk

Computers need disks to store their operating system, programs and data. Good old disk partition management has not changed much over time. Using either MBR (created in 1983) or modern GPT paritions you are still using statically allocated partitions and filesystems. It can be challenging to deal with static partitions because initial choices can not be changed easily.

Unfortunately it is more complex to use Logical Volume Manager for Linux (wikipedia). Most factory installed computers use traditional partitioning. The added complexity is not usually needed but when it is needed it is really needed. The benefits of using LVM include the ability to more easily resize partitions and backup via snapshots. Server hardware can even replace disks using hot swapping. LVM is commonly used along with virtualization via LXC, Eucalyptus, OpenStack or other similar systems. Here are the steps needed to convert a root partition to LVM and mirror it on a redhat system.

1. Create a tar backup of your filesystem.

# tar czpf /root/redhat.tar --exclude=/var/tmp/portage/* --exclude=/root/* --exclude=/usr/portage/* --exclude=*.deb --exclude=/tmp/* --exclude=*.rpm --exclude=/sys/* --exclude=/proc/* --exclude=/dev/* --exclude=/mnt/* --exclude=/media/* --exclude=/home/*  --exclude=/var/lib/libvirt/images/* --exclude=/oracle/*  --exclude=redhat.tar

2. Use fdisk to create /boot  and 1 LVM partition on the new disk.

/dev/sda1   *   1    100      803218+  83  Linux
/dev/sda2 101121601  975956782+ 8e Linux LVM

3. Set /dev/sda1 to be bootable.

# parted /dev/sda set 1 boot on

4.  Create the new LVM partition.

# pvcreate /dev/sda2
# vgcreate vg /dev/sda2
# lvcreate -L 200G /dev/vg -n root
# mkfs /dev/vg/root
# mkfs /dev/sda1
# mount /dev/vg/root /mnt
# mount /dev/sda1 /mnt/boot

5. Extract the tar file to /mnt

# tar xpf /root/redhat.tar -C /mnt/

6. Modify the following files:

/mnt/grub/menu.list:

Modify the kernel line to support LVM by adding the following LVM details:

rd_LVM_VG=vg rd_LVM_LV=root

Also ensure that initrd and kernel does not have /boot/ in the location.

Example:

kernel /vmlinuz-2.6.32-279.2.1.el6.x86_64 ro root=/dev/mapper/vg-root LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=128M  rd_LVM_VG=vg rd_LVM_LV=root rhgb quiet
initrd /initramfs-2.6.32-279.2.1.el6.x86_64.img

/mnt/etc/fstab:

Change the /boot and / entries to LVM:

/dev/sda1 /boot ext4 defaults 0 0
/dev/mapper/vg-root /      ext4    defaults        1 1

7. Mount and configure the new environment:

# mount /dev/vg/root /mnt
# mount /dev/sda1 /mnt/boot
# mount -o bind /sys /mnt/sys
# mount -o bind /dev /mnt/dev
# mount -o bind /proc /mnt/proc
# grep -v rootfs /proc/mounts  > /mnt/etc/mtab

Modify /mnt/etc/mtab and add:

/dev/sda1 /boot ext4 rw 0 0

Change the apparent root directory for the current running process and its children:

# chroot /mnt

8. Install GRUB and reconfigure the ram disk image:

# grub-install --recheck /dev/sda
# dracut --force

9. Unmount and reboot:

Type exit to exit the chroot environment

# cd /
# umount /mnt/*
# umount /mnt
# reboot

Set your system to boot from the disk known as /dev/sda

10. Initialize and format your original boot disk.

Just like we did for /dev/sda.

 Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1       100      803218+  83  Linux
/dev/sdc2             101    121601   975956782+  8e  Linux LVM

11. Add /dev/sdc to the volume group.

# vgextend /dev/vg /dev/sdc2

12. Format the boot partition on the drive and set it bootable:

# mkfs /dev/sdc1
# parted /dev/sdc set 1 boot on

13. Mirror the boot disk:

# lvconvert -m1 /dev/vg/root

We hope this helps you with your disks. Berkeley LUG meetings continue every second and fourth Sunday each month at Bobby Gs Pizzeria from noon to three in Berkeley. Please join us.

Our Mobile Future

Computing device choices of US consumers seem to increasingly indicate we prefer mobile devices, the web and the mobile web. Unix-like operating systems play a big role underneath it all. It will be interesting to see how these trends converge in the coming year.

There are about as many mobile phone subscriptions as people in the world with penetration averaging over 100% in Europe and many other countries. Developing countries are still catching up but are doing so quickly. the ITU released fascinating numbers in May, 2013 For smartphones, penetration is over 60% of in the US according to comscore in Oct, 2013. Every Android phone is a Linux device and every iOS device is based on Darwin. Though HTML5 can do amazing things, mobile apps are still a much more customized and compelling user experience so far. How do you think the mobile trends like Bluetooth low energy, Wi-Fi (Direct and more conventional 802.11n and 802.11ac just approved), cameras, mobile phones, tablets and wearables fit into our future?

We meet on the second and fourth Sundays of each month in Berkeley near the Downtown Berkeley BART station. We hope you join us at Bobby G’s Pizzeria.

Big Linux computer move Friday

Fundamental changes are under way at the Creative Arts Charter School, due to a fire that struck on 12.22.11. The Linux desktop lab is being dispersed to make room for a Linux notebook lab. If you would like to help us move machines, please show up at the Creative Arts Charter School this Friday, April 13, 2012, at 9:00 a.m., at 1601 Turk Street at the corner of Pierce. Please bring tools that you will need to triage machines, such as copies of Ubuntu 10.04, screw drivers, needle nose pliers, cable testers, and so forth. Also wear old clothes, because you might get just a little bit dirty moving machines! We will probably be done by about 2:30 pm or so, depending on how it goes. And we will feed you lunch! If you have a camera, please feel free to bring it! Also, people who can drive a truck or a car are especially welcome.

Please feel free to call my google voice number at 415-935-1701, which rings through to my cell phone, so that I can help orient you, as the school is fairly large.

You can read more about the fire here:

http://blog.partimus.org/?p=159

Come join us and be a part of this watershed event in the history of Linux in San Francisco public schools!

Mark Shuttleworth’s keynote at the Orlando UDS Developer Summit

Mark Shuttleworth’s keynote at the Orlando UDS Developer Summit on October 31, 2011.

The Ubuntu Developer Summit is the seminal Ubuntu event to define the focus and plans for our up-coming version of Ubuntu. The event pulls together Canonical engineers, community members, partners, ISVs, into an environment focused on discussion and planning.

The Ubuntu Developer Summit has four primary focal points:

Ideas
Together we bring our own ideas and creative solutions to common problems to help
make Ubuntu better across the platform.

Discussion
The bulk of UDS are discussion sessions we explore problems and develop solutions
together, pooling our experience and expertise.

Planning
Solutions are documented, specifications are written, and work items are assigned
across all those participation in solutions.

Collaboration
UDS brings together a diverse range of participants and provides the perfect
environment for collaboration and best practice.