Wednesday, May 22, 2013

Debian Wheezy - Install and Config on an OLD X31 Laptop - part 1

 v0.2
22 May 13


Now that Wheezy has been released stable, I thought it might be appropriate to re-visit the installation on an old computer, just to see how it goes.  I have an IBM X31 laptop that is about 10 years old.  It has a 1.4 centrino, 768 meg of memory and an ati mobility radeon gpu.  What I want to do here is to go through the installation of Wheezy, concentrating on the little bits that people may find unusual and need some re-assurance on, then discuss how I configured the system, what applications I loaded and generally how I made the system useable.  The present system on it is PCBSD 9.1.  I found that to be too slow for my liking, so back to Debian for the desktop.

Stupid is as Stupid does

Too often I hear unwarranted critisism of Debian which is almost always ill-informed and .. well .. just basically "stupid".  I recently saw a posting of someone highly critical of Debian because it would not install on any of their machines - there were no drivers for their network cards and it kept complaining about the CPU.  Some basic research would have shown them they needed to do the simple step of putting the easily found firmware onto a USB stick or download the installation ISO which included the non-free drivers.  Of course they had the wrong ISO anyway .. they were trying to install 64bit Debian onto a 32 bit processor.  The moral?  Make sure you blame the correct "tool".

Debian Versions

Debian is not just one distro.  It is three separate distros, or branches, that can be mixed together to form whichever explosive grade you are brave enough to stand.
  • Stable - currently Wheezy.  Server or conservative desktop.  Rock solid with software that has been tested for months - which is why it is "older".  New software versions will NEVER appear in stable.
  • Testing - currently Jessie.  Generally suitable for an advanced desktop - software that has done a couple of weeks bug checking.
  • Unstable - Adrenalin Junkie desktop - software straight from the developer.

Installing Wheezy

For the installation, I suggest you first read the excellent guide on howtoforge "the perfect desktop Debian Squeeze".  That will provide a sound starting point and in itself will show you how to find your way round a Debian install.

I downloaded the 32bit 386 CD1 using the torrent from the Debian website and burnt it.  There are other options, namely use the " netinstall " cd, but that is what I did.  I chose the default install using the text screens.  Being less powerful than is normal for today, there were considerable delays of blank blue screens between steps, but it got there.  Then it displayed the message:

missing firmware ipw2100

This indicated the wireless card I had installed in the miniPCI slot needed a non-free driver.  Easy.  I'd previously downloaded and expanded the driver firmware zip file from Debian (which includes both 32 and 64 bit), into a folder on a USB stick.  I inserted it, and the machine then searched the stick until it found the drivers and then continued, finally telling me the connection choices I had:
  • eth0 intel pro 100 wired
  • eth1 intel wireless/pro 2100 on a miniPCI card  G
  • wlan0 Atheros AR5212/AR5213 built in wifi B
The installer suggested wlan0

The next screen presented me with available networks   then asked the type of encryption .. I chose WPA, typed in the password and off it went ...

The partitioner gives you four choices.
  • Guided for the entire disk, giving you the choice of everything in one partition, a separate home partition, other partitions
  • Guided for LVM - the logical volume manager - this allows you to configure multiple disks into RAID
  • Guided LVM encrypted - allows you to set up an encrypted disk.  When the machine boots, it asks a password for the disk.
  • Manual

Just because I can, I chose the encrypted option.

It then asked me which disk I wished to partition and identified both the IDE internal disk and the attached USB stick as SCSI disks, sda and sdb respectively.  I chose the internal one (der) and opted for only one partition.  Past experience tells me the formatting takes a LOOONNNGGG time for the encryption .. for 40 gig disk.  First step was to erase the disk, it took just over 2 hrs this time.  It then asked me for a passphrase for the disk encryption.

After the base install, it was time for the specific software such as Desktop etc.  Debian uses a command called "tasksel" for this.  Now I knew the ISO had not burnt quite correctly but everything had gone well till this point when the installation failed.  Not to worry, I simply unchecked all of the selections and this allowed the installation to complete with only the base selection (which is still considerably more powerful than MSDOS of yore).  Everything worked for the boot into a basic command line.

What I planned to do was boot to the command line in root, and then run " tasksel " and continue the installation using a Debian Mirror, however when I did, the wireless didn't work owing to the restricted install, and since I could be neither bothered to get it going, nor find an ethernet cable to continue, I just burnt another ( good this time ) CD and re-did the install.  Least work for me since this was simply happening in the background.  The full install of the default desktop took 4.5 hrs which includes 2 hrs to erase the disk for the encrypted disk - if you want a vanilla install, it would be 2.5 hrs - and this on a laptop that is roughly as powerful as a Pentium 4 3.0.

Now, how long does it take to boot?  I do know that booting into KDE on PCBSD was very slow on this machine.

  • Boot to Grub - 8 sec
  • Grub to Passphrase - 4 sec
  • Passphrase to Gdm3 - 45 sec
  • Gdm3 to Gnome Classic mode - 25 sec  (Gnome 3 does not work on this machine, the graphics are not good enough).
  • Gdm3 to lxde first time -  6 sec.

There is a significant improvement to the default artwork between Squeeze and Wheezy.  The previous artwork made me want to rip it out immediately whereas the Wheezy artwork is understated and far more elegant.  I can see that it would not get in your way when doing work.  I like it.

Gnome Classic

The default Gnome Classic mode is really quite nice.  There are four workspaces shown along the bottom panel, and along the top, there is:
  • Applications Menu
  • Places Menu
  • Date and time
  • Battery indicator and charging status
  • Volume selector
  • Bluetooth selector (I'd forgotten this laptop had bluetooth)
  • Network applet
  • "User Menu" on the far right, with availability, System settings and session / power selections.

I had a play with the function keys and "trackstick" .. all worked as far as I could tell.  There is of course, a package to deal with IBM laptops.  During the course of playing with the keys, I turned off the wireless access.  When you turn off wireless, you turn off all adapters.  I simply went to the network applet, selected the adapter I wanted and off it went and connected.  Painless.

Conclusion

I have found the Debian Installer to be one of the most reliable ways of installing Linux to a computer.  Debian 7.0 may not be spectacular, but it is nice.  It does its job and stays out of your way whilst allowing you to enhance it with later packages.

Next .. enhancing the basic Wheezy ..



Later.

Thursday, March 21, 2013

PC-BSD 9.1 Two Months

v 0.2
21 Mar 13

I've been using, reading about and playing with PC-BSD for two months now.  What do I think?

PC-BSD is an excellent server and desktop operating system.  I would gladly give my Parents such a system to use in their day-to-day lives.  It is stable, easy to use and provides a large number of easily installed third party applications.

It is not perfect, mind you.  An nVidia video card is highly recommended for a trouble-free experience, and the default desktop of KDE is strongly advised.  Automounting of USB devices does not occur, and the tray application in KDE must be used to detect and mount these.  Once the device is recognised and told to automount next time, you can use another desktop, however KDE remains the most reliable general desktop to use with PC-BSD.  That is not to say the others don't work well, but KDE is the most mature in this circumstance.  (and I say that as someone who was dragged back to admit that).  Should you disbelieve me - go ahead and find out yourself.  Automount has not worked in Gnome for some time, and the KDE tray app only mounts a USB device that it already knows about (in Gnome).

PC-BSD has introduced a "Rolling Release" concept.  I have not been successful in having it work flawlessly and at this time would recommend against using it - stay with 9.1 for the moment.

If you would prefer to stay with FreeBSD, then I still recommend using PC-BSD to install the vanilla OS.  Why?  The PC-BSD installer makes installation using the ZFS filesystem really, really easy.  If you can use ZFS then you should.  It has many really useful features, such as dynamic use of the space to manage its partition scheme, System Snapshots and more.

Easy management of Jails via Warden makes administration of Servers really easy.  You can have several Jails consisting of either BSD or Linux systems that you can snapshot or clone at your desire.  Make no mistake, though - once you go beyond the desktop, you really do need to have as much knowledge as any other system, it is just that you can get that first setup done so much easier.



Perfect?  Far from it.

Worth using?  Most Definitely.




....... Later.

Wednesday, February 6, 2013

PC-BSD 9.1 Linux Jails, VirtualBox, Citadel Groupware

v 0.2
6 Feb 13

The last few days, I've been playing with PC-BSD Jails via Warden.  I've found that the BSD Jails work just great, as I've mentioned previously, however I've been having problems installing servers on a Debian Linux Jail.  Some servers install without a hitch, and others just won't let the outside world see them. 

A case in point is installing Citadel Groupware.  In the Linux Jail, the two components can't talk to each other - Webcit, which provides the outward facing web interface, can't see the Citserver to talk on TCP 504.  Installing on Virtualbox, no problems - it installs without a hitch.

Another example is the installation of Web Servers.  Apache - nope.  Nginx - worked out of the box.  In all cases, the installation was using the standard Debian packages from the Main repository.

Debian Jail - Install Script

The way Debian is installed in a Linux Jail, is using the debootstrap command.  The way this is set in the install script is simply:

debootstrap squeeze

However, there are several architectures for Debian, in particular, the ones we want use the FreeBSD kernel .. should we include the architecture we want?  So, it would look like:

debootstrap --arch kfreebsd-i386 squeeze
or
debootstrap --arch kfreebsd-amd64 squeeze

I haven't really seen any difference, however I wonder ...

Citadel Again

Maybe I take a little longer for the concepts to sink in, but I've finally satisfied myself that the Debian packages do the same installation (albeit with files in different places - because it is Debian).
  • The servers are installed
  • The "citadel" user is created to run the server
  • The init scripts are sorted.
The outcome of all this is that when the machine (virtual or real) is started, Citadel starts as well.

How to re-configure the Citadel Server?  There is a setup script in
"/usr/lib/citadel-server"
Run that script if you need to and you can adjust ports, and add an admin user.

Be aware, that Webcit ignores your setup instructions.  Get a text editor and edit
"/etc/default/webcit"
to your liking.




Later .........


Friday, February 1, 2013

PC-BSD 9.1 - More Jails and Linux

v 0.3.1
1 Feb 13
2 Feb 13
4 Feb 13

As I mentioned a couple of posts ago, most things are easy in hindsight, but maddening when you have to work them out.  Another such example I have found with PC-BSD Jails under the "Warden".  Rather than try and organise what I've found into little chunks, this will be a narration of the adventure.

I started learning about Jails using a Linux Jail.  I used an IP address within the router address space.  All was well until I tried to communicate with services within the Jail that I thought I'd started.  Not only that, but when I check the router's "attached devices" list, my Jail was nowhere to be seen.

I remembered there were two tutorial articles about Jails in BSD Magazine, one on Linux Jails in issue 12/12 and a tutorial on installing OwnCloud in a Standard Jail in issue 9/12.

The article on Linux Jails went into NAT configuration on the host and editing a few configuration files - I must confess I found this puzzling as a requirement since everything else about PC-BSD organisation of Jails was so automated.  Eventually I went back to the beginning and went through the tutorial setting up a standard BSD Jail.

What I found with the BSD Jail was that there were several other tools to manage these Jail types - including a Process manager, where I could make sure the processes I wanted were started.  That is where I started remembering the list of ports being monitored in the Linux Jail ....  Also, it was about that time I chanced on reading a statement in the PC-BSD forums where the poster pointed out that Warden does quite a few things in the background.

So ...

I cloned my BSD Jail, giving one an IP in the router address space, and the other another address in another address space.  I made sure the Apache process was started in each Jail and that the firewall had opened port 80.  Then I went to another computer on my network and simply typed in the IP address of each jail in a web browser.  The Jail with the router address space address worked immediately and Apache talked back.  The other one, not.

My conclusion as to Jail IP address:
  • If you are simply starting a Jail - give it an IP in the router address space.
  • If you are going to configure NAT on the host system, use another address space.
How do you find the Jail if the router does not know about it?  When you address your Jail, the router queries each of its attached machines.  When it queries the host machine, that machine recognises the Jail address and passes the request on to the Jail.  So the router doesn't have to know about the Jail, it just has to be able to have an address in its address space that it can give to the host machine that then knows.

NOW .. I went back to my Linux Jail - with its IP address in the router address space.  I installed an SSH server, made sure it was started (the listened port came up on the info tab).  I opened the SSH port on the firewall.  I then went to another machine on the network,

ssh (ip address)

The Jail replied!  Victory!

So you can now configure your router to talk to a Jail just like any other attached machine.  I would guess you could even assign a static IP to a Jail, using the mac address of the host machine.

A final note about Debian Jails.  When you install the Jail, there are several configuration tasks that are not taken care of that would normally be done so in a Debian Install, but are not.  That is my next little task to take care of with a Debian Linux Jail ....


Later ............

PS
For Debian,
  • an easy way to manage startup services is to load package " rcconf " and use that to graphically set services.
  • to set the default Locale, install package  " locales " and run " dpkg-reconfigure locales " to select and set your desired Locale.