Twitter Updates

    follow me on Twitter

    G-AVLN in front of her home

    G-AVLN in front of her home

    Mostly Unix and Linux topics. But flying might get a mention too.

    Wednesday, January 21, 2009

    Handling MAC addresses in VM

    We are working on setting up all our UNIX and Linux courses as guests in VMware workstation. There are many advantages of taking this route, as there are some penalties. We setup a 'master' VM, then ghost it, which allows us to dump an image on demand. Once we have used this method for a while, I might elaborate a bit more, with more insight...

    In the meantime, just a comment on preventing new images from duplicating original MAC address in Linux configuration. All this is new for me, but our techie in Swindon has sent me an e-mail documenting the solution. Thanks, Martin!

    "If you don't do this before taking the image, each subsequent VM that you deploy will have the same MAC Address and you get that annoying "did you copy or move the VM" question on first boot......The fix is...

    1. Delete the file /etc/udev/rules.d/70-persistent-net.rules [in the guest]
    2. Shutdown the VM
    3. Find the .vmx file on the host (in this case, D:\VMRun\Linux C\Linux C.vmx). Edit it with Wordpad and look for 2 lines called uuid.bios and uuid.location. Underneath those 2 lines, add a line as follows:

    uuid.action = "create"

    4. Save the file and take the image"

    Should Gnome-terminal read shell startup files?

    I say it should. If not by default, then at least users (ordinary users) should be able to set the capability permanently and easily!

    It's very easy to set is for a session. Open terminal, go to Edit --> Current Profile --> Title and Command and tick the "Run command as a login shell" box.

    Problem is, you have to do it every time you log in. Your first terminal never gets to see your environmental settings. We need permanent solution. Searched and googled, googled and searched. Found a wealth of information on the Red Hat site.

    They definitely put me on the right track (and convinced me that I do need to learn xml after all!). However, the article omitted to mention one important bit of information. When you change the settings with the gconftool-2, you must stop the gconfd-2 daemon. I didn't, and had all sorts of desktop problems, including Nautilus crash.

    So, to make every gnome-terminal a login shell (e.i. read your environmental files) first stop the gconfd-2 process. There may be a clean way of doing this in runlevel 5, I chose to go to runlevel 3, which is a full multi-user mode of operation, but without X (GUI).

    Do the following steps only if you *don't* have any applications or users requiring GUI - you risk P45 or your tyres slashed otherwise.

    Log in as root and enter:

    # init 3

    Press Enter (after few messages) - that will show the prompt again. Enter:

    # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type boolean --set /apps/gnome-terminal/profiles/Default/login_shell true

    Return to GUI runlevel:

    # init 5

    From now on, every user's terminal will source their startup files...

    Wednesday, January 07, 2009

    Kiosk mode in Firefox

    I had a few e-mails from my local Linux User Group (NLUG, Northants LUG). Somebody asked for help in fixing Firefox. His browser lost all toolbars. An answer appeared within minutes: "F11? (Toggles kiosk mode)".

    Two thoughts went through my mind. First of all I remembered that I had the same problem some months ago, and never found the solution. In fact, it was at that point when I decided to investigate Opera (which I have been using ever since). Why didn't I ask the forum? I would probably have had the same answer within minutes!

    The other thought related to a question a delegate asked me only yesterday about a "kiosk mode" in an application. I regret to admit, but my answer was a rather ignorant "don't know anything about your application, so can't comment" statement.

    Will I ever learn? Not knowing anything about the 'kiosk' thing, I assumed the term was peculiar to the application the chap was talking about!

    So I'm feeling rather depressed. Not only is this questioning my style in interaction with delegates, but also exposing massive gaps in my knowledge - everybody I mentioned the "kiosk mode" since then knew about it. It seems I'm the only person in the Universe that thought a kiosk is a type of detached cabin selling newspepars and cigarettes...

    Saturday, January 03, 2009

    My first ever new year resolution

    Will mantain this blog more regularly!

    Thursday, October 09, 2008

    Upgrading Ubuntu 7.10 to 8.04 - lesson learnt

    I never liked upgrades - so many of them had gone wrong for me in the past... But having now been using Ubuntu for so long, I have become comfortable with it, and although I tried to document all add-ons and changes I made to the system (and I have a full data backup), I didn't really fancy re-building the system from scratch, just to go a version up.

    So, for the first time in ages - I decided to take a plunge. I went for the network upgrade, using the front-end software tool - which, coincidentally kept encouraging me to do just that at least once a day ;-)

    I left it overnight - no point in watching and agonizing over every slow down or apparent freeze.

    However, next morning it sat on a message " Generating locale... en_AU.UTF-8...". Clearly, that was it. The process was well and truly stuck. I ended up doing a hard restart - nothing else responded.

    Having tried several things (that got me into a system without GUI) I could not progress the upgrade any further. What was worse, the fresh installation didn't work either - the hard disk was not recognised (that bit I still need to investigate!).

    I left it for a few days, using my little toy EeePC as a stop gap (a pretty effective one too!). Last night I decided to do a bit of googling - and bingo - within the first attempt! The full discussion and the actual solution is at http://ubuntuforums.org/showthread.php?t=865679.

    In summary: if you got stuck like me, reboot into the older kernel (-15 or -14) failsafe mode and run :

    dpkg --configure -a

    Then boot the old kernel (-15, proper, not failsafe), at GUI login screen select in Options Failsafe Gnome session, the run the dpkg command again:

    sudo dpkg --configure -a

    Next reboot - standard kernel and GUI session - all is well!

    Lesson learnt?
    Do your homework before embarking onto a major system upgrade/maintenance, etc. The problems with upgrade from the latest 7.10 kernel to 8.04 are very well documented, if I only looked...

    Thursday, September 25, 2008

    CD to disk file transfer on HP-UX

    After a long pause, and several projects later, I'm back getting ready our uxheaven.com (our back-room of variety of UNIX boxes, that will be used for training multi-vendor courses).

    Today, it's configuring HP-UX boxes: one is the B.11.11 U9000, the other B.11.23 on Itanium.

    Had to look up some of my old posts to fix various network settings, and I reckon the /etc/rc.config.d/netconf file will now stay in my memory (sad - it takes few weeks and the detail is gone!).

    Once the network was fine, needed to add software from CDs, to a central repository of documents and future depot files. For the time being, all I need is to have it all on hard disk. Quick refresher on the process:

    1. Identify the special file for CD-ROM:

    # ioscan -funC disk

    showed it to be /dev/c1t0d0

    2. Create mount point directory
    I like the way Linux treats removable media, so my new mount directory became:

    # mkdir -p /media/cdrom

    3. Mount the disk:

    # mount -F cdfs /dev/c1t0d0 /media/cdrom

    4. Finally, create directory for the documents, and copy the CD content

    # mkdir /usr/doc
    # cp -rf /media/cdrom /usr/doc


    Ready for use...

    Friday, September 05, 2008

    Citrix client on EeePC with Xandros Linux

    First of all, contrary to other postings, you do not have to become "root" to install Citrix client. Especially on EeePC/Xandros, where (although possible) you would not expect a multitude of different user accounts.

    The steps for installing Citrix on EeePC are not that different from any other distribution:

    1. Point the browser at: http://www.citrix.com/English/SS/downloads/details.asp?downloadID=3323&productID=-1#top
    and download Linux ICA Client:
    Version 10.6 English 6/28/07 1.8 mb .tar.gz (x86 client - requires OpenMotif 2.2.x).

    In the Firefox download dialog, choose to Save to Disk. On the EeePC/Xandros, the default location for Firefox downloads is /home/user .

    2. Press CTRL-ALT-T to gain access to the command line.

    3. Setup the folder for the ICA client

    /home/user> mkdir citrix

    /home/user> mv en.linuxx86.tar.gz citrix

    /home/user> cd citrix


    4. Unpack the tarball file:

    /home/user/citrix> tar zxvf en.linuxx86.tar.gz

    ./

    ./PkgId

    ...


    5. Run the install script:

    /home/user/citrix> ./setupwfc

    Follow the instructions: choose Install client and the default directory (ICAClient).
    Let the installation script create the ICAClient directory

    6. Install the certificate
    If you look at my earlier posting: "Ubuntu on XPS M1330 - Installing Citrix" (Monday, April 14, 2008), you will see the content of the certificate file.
    Cut and paste it into a plain text file.
    The file name for the certificate should be:
    /home/user/ICAClient/linuxx86/keystore/cacerts/UTN-USERFirst-Hardware.crt

    EeePC with Xandros - long live Asus

    I hate its keyboard. Horrible. And I don't mean the size, but quality. Most keys refuse to work unless you hit them with just the right amount of pressure, and jut the right angle. What a shame, because otherwise my new toy is an absolute treasure. There, there; got the bad out of the way.

    Now I can concentrate on the good. To my mind the little EeePC is a perfect cross between a light, small, beautifully equipped sub-notebook with a perfectly selected set of simply presented open source operating system and applications.

    Just been on two-week holidays, traveling across Europe. My "eepsy" did the trick - as a fast communicator (complete with video conferencing, thanks to the camera), storage device for photographs, work tool for quick write-ups, internet radio provider, and a source of endless penguin racing activity for a bored two-years-old, who had never seen the game before, yet was racing within seconds.

    Xandros based EeePC might do more for popularising Linux that all remaining distributions put together - although admittedly for all the wrong reasons: many people will not even realise they have Linux! I have seen EeePC/Xandros being used by people who used to shiver at the mere sound of the word Linux.

    What is best about it? Apart from the almost a pocket size and weight? Well, this is the first machine, Linux or otherwise, that had all facilities work out of the box. Totally intuitive, typical PDA-style front end, the easiest device to use by a mile.

    Mind you, it took me two days to find access to CLI, but then again this was out of curiosity rather than necessity (press CTR-ALT-T, in case you wonder).

    I'm probably being unfair to other distributions (like Ubuntu, which is my current favourite, for reasons I might explain separately).

    After all EeePC/Xandros was fine-tuned for the specific hardware - a luxury that few distributions can afford...

    Thursday, July 17, 2008

    HP drivers in Ubuntu

    Some off-the-shelf HP printers won't work in Ubuntu, until proprietary drivers are installed.

    The quickest way I found is to use the existing hp-setup tool, provided in Ubuntu distributions. Just plug your printer in, and run:

    $ sudo hp-setup

    Couple of answers later (d for download and y for yes, I agree to the license terms), your printer is ready. Painless and quick.

    As always, remember that if you are behind a proxy, you need to sort it out first (see several entries below regarding this).

    Wobble your screen in Ubuntu 8.04

    I'm moving onto the new Ubuntu version, and many people around me are twisting my arm to start using the 3D effects brought to Ubuntu by the Compiz set of packages.

    I can't imagine needing these effects long term (call me conservative and stingy), but having managed to get it work well (with some hints from our current resident whiz-kid, Lubo), I thought I'd document the process.

    You need the graphics card capable of 3D acceleration, of course, but most contemporary cards will do. Beware, some machines require proprietary drivers, so you may need to do more prep work.

    Ubuntu 8.04 comes with the main Compiz package already present and installed. You can recognize its presence by the slightly different feel to windows manipulation actions: different transparency, transitions, etc. But to get the full benefit of Compiz, so that you get to convert your screen into various shapes and bounce them on your terminal whilst the applications they display continue running, you need to install and enable a bit more.

    Step 1 - only required if you are sitting behind a proxy (if not, move to step 2). If you use proxy, the likelyhood is that all you have configured so far is your browser. I.e. firefox can access the world through the proxy, but no other application. There are several ways (as always) of allowing other applications to get to the proxy, but for the purpose of this exercise, we will only instruct package management tools (apt) ...

    First of all, identify what proxy address is being used on your site, and which port. Edit the apt configuration file: /etc/apt/apt.conf by running the following command (substitute proxy-address shown below for the proxy address and XX for the port number, often 8080) :

    $ sudo echo 'Acquire::http::Proxy "http://proxy-address:XXXX";' >> /etc/apt/apt.conf

    You may need to extend the stanza, if you use proxy user name and password. The entry would then look similar to this:
    Acquire::http
    {
    Proxy "http://proxy-address:XXXX/";
    ProxyLogin
    {
    "USER @";
    "PASS ";
    }
    }

    Step 2 - assuming you repository file (/etc/apt/sources.list) has been set up, which in 8.04 is done during installation, you should be able to continue with the Compiz install.

    Rebuild the database of available packages, the check for compiz packages, and install the front-end tool for it:

    $ sudo apt-get update
    $ sudo apt-cache search compiz

    ...

    compizconfig-settings-manager - Compiz configuration settings manager

    ...

    $ sudo apt-get install compizconfig-settings-manager


    Once done, follow the path:

    System --> Preferences --> Advanced Desktop Effects Settings

    for all your 3D setting delights!

    Happy playing... (I'm moving to other things) ;-)

    Tuesday, July 15, 2008

    Atomic file system

    I had a discussion with a delegate about pros and cons of a journalling file systems. What is special about them, and what are their main characteristics - in other words, is it worth to upgrade to a journalling file system from a traditional predecessor.

    First of all, why would anybody be still working with a filesystem that is *not* journalling. Long gone the days where administrator would be prepared to do a full system fsck, just in case there is a filesystem inconsistency.

    The main characteristic of a journalling filesystem is the fact that it can maintain a log of all transactions. However, unlike "standard" system logs, which record transactions after the event, filesystem logging records intentions, before the operation is even attempted (although there are various methods of achieving this, and some - such as metadata-only journalling - are more efficient than others). Of course, there is penalty in logging: in both performance and disk space, so for that reason, some administrators switch the logging off. How crazy! This is the very feature that journalling filesystems excel at, yet for many admins the term journal, or log seems to be sufficiently off-putting to turn it off!

    Therefore, when describing a journalling filesystem for the first time to, I tend to use another term as the main characteristic: I introduce these filesystems as "atomic filesystems", rather than journalling. Atomic transaction means it either happens fully, completely and successfully, or it doesn't happen at all. One can provide numerous illustrations why data transfers, file and directory manipulation or database transactions should have the atomic nature.

    But the moral of the story is: once you turn the attention to the advantages of transaction atomicity, then the term journal is not that scary anymore...

    Thursday, July 03, 2008

    Stallman on Microsoft on BBC site

    Our NLUG (Northants Linux User Group) have been discussing the article, by Richard Stallman, published on the bbc site: http://news.bbc.co.uk/1/hi/technology/7487060.stm

    Richard Stallman is writing about. Having read it, I agree with most facts pointed out by Richard Stallman.

    However, I felt a bit uneasy reading it. I'm quite conversant with the terminology he is using, I'm familiar with technologies and legal events he is referring to. Would a typical reader be though? One of our group members said: "
    I think he is really preaching to the converted. We Open Source fanatics will agree; but the general public / PC users will probably not have a clue what he is talking about, they see the universality of Microsoft as an advantage."


    I wholeheartedly agree! Most PC users genuinely don't care about any of this.

    And I can't escape a thought that Stallman's powerful, albeit very eloquent, attack might end up being counter-productive as most people will not really understand what he is saying, instead, will interpret the article as a dogmatic expression of hate towards Microsoft.

    Saturday, June 21, 2008

    Telnet is a no-no, but StarWars with Telnet?

    For more than a decade now, we have been indoctrinating our delegates that using 'straight' telnet is insecure, it transmits streams of clear text, etc., etc.

    How can one deal with a delegate who in reply to that 'lecture' presents you with a telnet session to towel.blinkenlights.nl . ;-)))

    Try it for yourself! What a feast of ASCII animation!

    It helps if you have seen the original version (and the more traditional screening method) of Star Wars before running this telnet towel.blinkenlights.nl session.

    Tuesday, June 10, 2008

    apt-get behind a proxy in Ubuntu

    How amazing! I've now been using my little Dell with Ubuntu exclusively for many months, and I haven't realised until now that it didn't have the ssh server installed!

    I used the client to connect out to various boxes all over the place, but clearly never tried to connect into it. Until now. Just tried from my HP-UX machine - failed. Once penny dropped what the reason for the "connection on port 22 refused" message was, quickly run the command to install it:


    # sudo apt-get install openssh-server

    only to realise, quite a while later, that it hang.

    Of course! I'm sitting behind the classroom proxy, and although I configured Firefox, any application outside of it won't know. I could set a system wide parameter, but I settled for:

    # export http_proxy=http://10.175.20.1:8080/

    Run the apt-get again, and I'm in sshd business.

    IP configuration in HP-UX B11.23

    Most of the start-up scripts in HP-UX are under the /sbin directory. You'll find the master scripts there, in the init.d, and you will find all run-level related directories, rc0.d, rc1.d, etc.

    The /etc does have related stuff, in the /etc/rc.config.d, but this is only service start-up directives. Each file, corresponding to a service, contains relevant parameter definition. Guess what a file called netconf might contain? All basic network interface card configuration is here...

    The file is rather large, with a lot of comments and explanation. I am after the 'meaningful' lines, those that contain the actual configuration. The following command line allows me to see those lines only, using grep to strip all comment lines, then sed to delete empty lines:

    # grep -v '^#' /etc/rc.config.d/netconf | sed '/^$/d'

    There are nearly twenty lines in total, the important one that I'm going to change are:

    HOSTNAME="itanium.piecorner.com"
    IP_ADDRESS[0]=192.168.1.43
    DHCP_ENABLE[0]=0 # was 1 for true
    ROUTE_GATEWAY=192.168.1.254

    This is only for the time being, while I'm testing this in the classroom. Once the boxes go into the machine room, will have to revisit the settings.

    Time for reboot and test.

    When troubleshooting - work methodically....

    I am working on a brand new (albeit second hand) HP-UX (Itanium) machine. Never really configured it, all I've done with it was to interrogate it a bit, and I don't really know which known to me flavour of UNIX is going to be the closest to this one... So anything I do will require an element of investigation. All these wonderful HP-UX books that I've bought are sitting next to me, and no doubt will come handy at one point. In the meantime, let's play...

    First of all, the machine booted into run-level 3, and seems to be defaulting to DHCP, whereas I am sitting in a classroom with fixed private addresses. I need to assign a static address:

    # ifconfig lan0 192.168.1.43

    Pinging the gateway and other machines on the network is working the treat. However, some 30 seconds after the IP address change, the machine starts to emit horrible, ear-piercing beeps. As if some application or a server got terribly unhappy with the new address. Rebooted the box, and repeated the exercise a couple of times - a very predictable sequence of events was reproduced every time. Eventually, instead of rebooting, I placed it into single user mode, for a quick look under the hood:

    # init 1

    First of all, find out how the rc (start-up and shutdown) stuff works: a look inside the inittab file is usually the best place to start:

    # cat /etc/inittab
    init:3:initdefault
    ...
    sqnc::wait:/sbin/rc # system init
    ... :respawn:... # several of these and few more
    ...

    The master rc scripts are, as expected in the /etc/init.d directory. The run-level related links, however, are under the /sbin location (rather than /etc in other version of UNIX).

    # ls -ld rc*
    rc rc.utils rc0.d rc1.d rc3.d rc4.d

    Most of the multiuser runlevel work is done in the rc2.d directory (i.e as part of going into run-level 2). Run-level 3 introduces some of the network server start-up:

    # ls /sbin/rc3.d
    S100nfs.server S823hpws_apache S823hpws_webmin S990dtlogin.rc
    S200tps.rc S823hpws_tomcat S823hpws_xmltools S999kwdbd

    So the first test is to change the IP address in run-level 1, and see if anything gets upset:

    # ifconfig lan0 192.168.1.43

    Pinging the gateway and other machines is working OK again, and no alarm is heard! OK, then, let's push it one notch further, and switch into the basic multi-user mode (run-level 2):

    # init 2

    DHCP was attempted, but the message scrolled off before I could read it - will need to look at log files. I am surprised to see NIS being started here, but pleased to see SSH server started - should be able to connect from my laptop soon. Mail daemon took several minutes before timing out..., so did SNMP HP-UNIX Network Management Subagent.

    Eventually, after excruciatingly long time , got the message "Transition to run-level 2 is complete". But the box is not talking to anybody else... The IP address reverted to the last known. My command line changes disappeared. Not sure if I am surprised, perhaps a bit. This was not a full blown reboot, my networking worked fine in run-level 1, so I didn't necessarily expected for it to go and come back again...

    But, before looking closer at the configuration to see which script was responsible, I need to remember why I'm doing this: testing the impact of changing IP at the command line. I am now in run-level 2 – will the change in this state raise the alarm?

    # ifconfig lan0 192.168.1.43

    No problems, my ears are safe. So it must be something in run-level 3. Well, I don't actually need it at the moment, but when I'm ready to get the box on-line for our courses, I will need the NFS server running. That one is started in run-level 3, so I might as well sort it out now.

    # /sbin/rc3.d/S100nfs.server start
    starting NFS SERVER networking
    ...

    So, this worked, and I think this is all that we will need long term. However, I can't stop yet – my curiosity won't let me. I need to know what the horrible noise was about.

    Remember what is in run-level 3?

    # ls /sbin/rc3.d
    S100nfs.server S823hpws_apache S823hpws_webmin S990dtlogin.rc
    S200tps.rc S823hpws_tomcat S823hpws_xmltools S999kwdbd

    So, the next: try tps.rc. This is what starts X server in HP-UX.

    # /sbin/rc3.d/S200tps.rc start

    No problem. Somehow, I didn't think apache, tomcat, etc would be at fault, so went straight for the desktop (GUI) login script:

    # /sbin/rc3.d/S990dtlogin.rc start

    Bingo!

    Quick – init 1!

    Next – will need to find how to fix the IP address and see if it behaves without my command line changes...


    Get on with it...

    I am so full of admiration for all those people who are maintaining their blogs regularly! How many times have I promised myself that I would be doing it properly, full of good intentions...

    It is a fantastic resource, and I have regularly looked back at some of my earlier entries to find a fix to a problem I had sorted months and months ago.

    However, my problem is that despite all these gadgets I keep buying and playing with, I'm still primarily a paper-log type person. I like writing in a book, and I don't like repeating myself. So I end up with bits and pieces in this blog, and bulk of my records in a physical, A4 (!) notebook.

    On the other hand, I am beginning to grow tired of carrying these A4 books with me. So much travel, and all these paper-based material is just not on anymore...

    So, my little on-line blog: all is forgiven, and I shall try my best and visit you more often ;-)

    Tuesday, April 29, 2008

    Collating info on HP-UX B.11.23 on Itanium

    Just got a new toy - a second hand Itanium 2 box. It came with XP 64-bit, but it is now running HP-UX B.11.23. Installation went smoothly; this being the first time I've done this particular combination, I allowed it to run with defaults (which were quite good, especially the partitioning).

    Reboot, and the machine is up and running. How disappointing, though - the CDE wouldn't start, complaining about the lack of screens. Not sure at this stage if it is X11R6 configuration, hardware problem or perhaps driver issue! Will google for anything obvious (like unsupported card) later.

    In the meantime, decided to brush up on the HP-UX system interrogation tools.

    # uname -a
    HP-UX itahpux B.11.23 U ia64 0376224781 unlimited-user license

    # machinfo
    CPU info:
    Number of CPUs = 1
    Clock speed = 1500 MHz
    CPUID registers
    vendor information = "GenuineIntel"
    processor serial number = 0x0000000000000000
    processor version info = 0x000000001f010504
    architecture revision: 0
    processor family: 31 Intel(R) Itanium 2 Family Processors
    processor model: 1 Intel(R) Itanium 2 processor
    processor revision: 5 stepping B1
    largest CPUID reg: 4
    processor capabilities = 0x0000000000000001
    implements long branch: 1
    Bus features
    implemented = 0xbdf0000060000000
    selected = 0x0000000040000000
    Bus Lock Signal masked

    Cache info:
    L1 Instruction: size = 16 KB, associativity = 4
    L1 Data: size = 16 KB, associativity = 4
    L2 Unified: size = 256 KB, associativity = 8
    L3 Unified: size = 6144 KB, associativity = 24

    Memory = 1524 MB (1.488281 GB)

    Firmware info:
    Firmware revision = 02.31
    FP SWA driver revision: 1.18
    IPMI is supported on this system.
    BMC version: v01.52

    Platform info:
    model string = "ia64 hp workstation zx2000"
    machine id number = 166cbc0d-e4c5-11d6-8091-7d5ed3512273
    machine serial number = TW23200111

    OS info:
    sysname = HP-UX
    nodename = itahpux
    release = B.11.23
    version = U (unlimited-user license)
    machine = ia64
    idnumber = 0376224781
    vmunix _release_version:
    @(#) $Revision: vmunix: B11.23_LR FLAVOR=perf Fri Aug 29 22:35:38 PDT 2003 $
    #
    # ioscan -k
    H/W Path Class Description
    =======================================================
    root
    0 ioa System Bus Adapter (1229)
    0/0 ba Local AGP Bus Adapter (122e)
    0/0/0/0 graphics AGP Display (10de025b)
    0/1 ba Local PCI-X Bus Adapter (122e)
    0/2 ba Local PCI-X Bus Adapter (122e)
    0/2/1/0 usb NEC USB Interface
    0/2/1/0.1 usbhub USB Root Hub
    0/2/1/0.1.2 usbhid USB HID Mouse(0)
    0/2/1/1 usb NEC USB Interface
    0/2/1/1.1 usbhub USB Root Hub
    0/2/1/1.1.2 usbhid USB HID Kbd(1)
    0/2/1/2 usb NEC USB Interface
    0/2/2/0 sideba CMD IDE controller
    0/2/2/0.0 ext_bus IDE Primary Channel
    0/2/2/0.0.7 target
    0/2/2/0.0.7.0 ctl Initiator
    0/2/2/0.1 ext_bus IDE Secondary Channel
    0/2/2/0.1.0 target
    0/2/2/0.1.0.0 disk HL-DT-STDVD-ROM GDR8160B
    0/2/2/0.1.7 target
    0/2/2/0.1.7.0 ctl Initiator
    0/2/3/0 lan HP PCI 1000Base-T Core
    0/2/4/0 audio PCI Audio
    0/2/4/1 audio Unimplemented Game Port
    0/3 ba Local PCI-X Bus Adapter (122e)
    0/3/1/0 ext_bus SCSI C1010 Ultra160 Wide LVD
    0/3/1/0.1 target
    0/3/1/0.1.0 disk FUJITSU MAN3735MP
    0/3/1/0.7 target
    0/3/1/0.7.0 ctl Initiator
    120 processor Processor
    250 ba Core I/O Adapter
    250/0 ipmi IPMI Controller
    250/1 tty Built-in RS232C
    250/2 tty Built-in RS232C
    250/3 acpi_node Acpi Hardware

    # lanscan
    Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI
    Path Address In# State NamePPA ID Type Support Mjr#
    0/2/3/0 0x00306E380A81 0 UP lan0 snap0 1 ETHER Yes 119

    # bdf
    Filesystem kbytes used avail %used Mounted on
    /dev/vg00/lvol3 212992 160296 52344 75% /
    /dev/vg00/lvol1 311296 61696 247696 20% /stand
    /dev/vg00/lvol8 3670016 88608 3554104 2% /var
    /dev/vg00/lvol7 3768320 2291768 1465048 61% /usr
    /dev/vg00/lvol4 212992 8480 202920 4% /tmp
    /dev/vg00/lvol6 2572288 1576840 987696 61% /opt
    /dev/vg00/lvol5 32768 8472 24112 26% /home

    Could carry on, but this should be sufficient to record the basic configuration.

    Most importantly:

    # ioscan -funC graphics
    Class I H/W Path Driver S/W State H/W Type Description
    =======================================================================
    graphics 0 0/0/0/0 gvid_core CLAIMED INTERFACE AGP Display (10de025b)

    Monday, April 14, 2008

    Ubuntu on XPS M1330 - Installing Citrix

    Last time I tried Citrix on Ubuntu, it failed, reporting the lack of OpenMotif libraries. Having researched the dependency, I now realise that I need to install libmotif3 first. With the system up to date, and all repositories set up, I can now do it:

    root@cherry:~# apt-get install libmotif3
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following NEW packages will be installed
    libmotif3
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 1283kB of archives.
    After unpacking 3129kB of additional disk space will be used.
    Get: 1 http://gb.archive.ubuntu.com gutsy/multiverse libmotif3 2.2.3-2 [1283kB]
    Fetched 1283kB in 22s (57.8kB/s)
    Selecting previously deselected package libmotif3.
    (Reading database ... 88954 files and directories currently installed.)
    Unpacking libmotif3 (from .../libmotif3_2.2.3-2_i386.deb) ...
    Setting up libmotif3 (2.2.3-2) ...
    Processing triggers for libc6 ...
    ldconfig deferred processing now taking place
    root@cherry:~# exit
    alina@cherry:~$

    Now for Citrix: go to Citrix download site: http://www.citrix.com/site/ss/downloads/ and follow the links for "Clients" then "Linux". Identify the tarball (.tar.gz file) for your architecture and download it. Unless you have modified the default browser settings, the citrix client should have landed on your Desktop. By the way, notice that the following steps are done as ordinary user. That means that I am talking here about the Desktop of the user you are logged on as, rather than the desktop of the user "root".

    alina@cherry:~$ cd Desktop
    alina@cherry:~/Desktop$ tar zxvf en.linuxx86.tar.gz
    ./
    ./PkgId
    ./install.txt
    ./eula.txt
    ./readme.txt
    ./setupwfc
    ./linuxx86/
    ./linuxx86/hinst
    ./linuxx86/linuxx86.cor/
    ...

    The listing above has been concatenated, there should have been a lot more files whizzing in front of your eyes!

    In the current location (wherever you were when you unpacked the tarball), there should be the setup script (setu
    pwfc). Run it, and follow the prompts. If you accept the defaults (wise move!) then the whole process is relatively painless:

    alina@cherry:~/Desktop$ ./setupwfc
    Citrix Presentation Server Client 10.6 setup.

    Copyright 1996-2007 Citrix Systems, Inc. All rights reserved.

    Citrix, Independent Computing Architecture (ICA), Program Neighborhood,
    MetaFrame, and MetaFrame XP are registered trademarks and
    Citrix Presentation Server, Citrix Access Suite, and SpeedScreen are
    trademarks of Citrix Systems, Inc. in the United States and other countries.

    Microsoft, MS, MS-DOS, Outlook, Windows, Windows NT, and BackOffice are
    either registered trademarks or trademarks of Microsoft Corporation in
    the United States and other countries.

    All other Trade Names referred to are the Servicemark, Trademark,
    or Registered Trademark of the respective manufacturers.

    User install mode.

    Select a setup option:

    1. Install Citrix Presentation Server Client 10.6
    2. Remove Citrix Presentation Server Client 10.6
    3. Quit Citrix Presentation Server Client 10.6 setup

    Enter option number 1-3 [1]: 1

    Please enter the directory in which Citrix Presentation Server Client is to be installed.
    [default /home/alina/ICAClient/linuxx86]
    or type "quit" to abandon the installation:

    The parent directory /home/alina/ICAClient does not exist.
    Do you want it to be created? [default y]:

    You have chosen to install Citrix Presentation Server Client 10.6 in /home/alina/ICAClient/linuxx86.

    Proceed with installation? [default n]: y

    CITRIX(R) LICENSE AGREEMENT

    Use of this component is subject to the Citrix license covering the
    Citrix product(s) with which you will be using this component. This
    component is only licensed for use with such Citrix product(s).

    CTX_code EP_T_A34320

    Select an option:

    1. I accept
    2. I do not accept

    Enter option number 1-2 [2]: 1
    Installation proceeding...

    Checking available disk space ...

    Disk space available 117588256 K
    Disk space required 4961 K


    Continuing ...
    Creating directory /home/alina/ICAClient/linuxx86
    Core package...
    Setting file permissions...
    Integrating with browsers...

    Integration complete.
    Do you want to integrate the Citrix client with KDE and GNOME? [default y]:

    Select a setup option:

    1. Install Citrix Presentation Server Client 10.6
    2. Remove Citrix Presentation Server Client 10.6
    3. Quit Citrix Presentation Server Client 10.6 setup

    Enter option number 1-3 [1]: 3


    This *should* be it. Oh no, not yet! When I downloaded Citric client for RHEL (Red Hat Enterprise Linux), I was able to connect to the server at this point. Here, an essential SSL certificate was missing.

    So, one more preparation step, to create a file under the keystore directory, that will store the certificate for SSL Citrix.

    Edit a (new) file, called: ~/ICAClient/linuxx86/keystore/cacerts/UTN-USERFirst-Hardware.crt and paste into it the following lines (including those with BEGIN and END):

    -----BEGIN CERTIFICATE-----
    MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
    lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
    Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
    dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
    SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
    A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
    MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
    d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
    cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
    0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
    M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
    MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
    oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
    DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
    oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
    VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
    dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
    bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
    BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
    //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
    CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
    CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
    3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
    KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
    -----END CERTIFICATE-----

    Ubuntu on XPS M1330 - finishing touches (1)

    Our intranet is getting more and more comprehensive, and it is becoming more difficult to function without being able to access it. So, although I have resisted it for a long time, I have now accepted that I should be using Citric client, considering that we have a proper and well administered Citrix server farm setup. I have tested it in the past, on that occasion it was RHEL 4. Citrix client (rpm) for Linux worked first time, and I was talking to the intranet within minutes.

    Tried the same on Ubuntu, and the first obstacle was the fact that RPMs and Ubuntu are not exactly best friends. Not to worry, there was a tarball (.tar.gz) file. Downloaded it, unpacked it and run the setup script - only to find that some essential libraries were missing. Well, this is what puts people off Linux - having to resolve these kind of dependencies! It transpires that Citrix Client management software requires OpenMotif installed. OpenMotif comes as one of the "x" libraries, and it is missing...

    Before downloading the missing libraries (and as I am working on a new Ubuntu install - on a clean machine - without too many experiments) I decided to first update all the software, using Ubuntu's apt-get program.

    Quick check for repositories revealed that none have been configured during the install. Could use the front end tool called Synaptic, but it's quicker to hack the configuration file. But first, I time to become the super-user:

    alina@cherry:~$ sudo su - root

    [sudo] password for alina:


    Now navigate into the 'apt' directory: the default configuration template is there, it's the sources.list file, containing software repositories; it just needs tweaking.

    Edit the sources.list file, to uncomment selected debian/ubuntu software repositories. I'm new to Ubuntu, and not entirely sure which repositories are best, so initially I chose the main Ubuntu sites, as well as some of the sites (such as universe and multiverse) mentioned a lot on the web.

    root@cherry:~# cd /etc/apt

    root@cherry:~#
    grep '^deb' sources.list

    deb http://gb.archive.ubuntu.com/ubuntu/ gutsy main restricted

    deb-src http://gb.archive.ubuntu.com/ubuntu/ gutsy main restricted
    deb http://gb.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted
    deb-src http://gb.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted
    deb http://gb.archive.ubuntu.com/ubuntu/ gutsy universe
    deb-src http://gb.archive.ubuntu.com/ubuntu/ gutsy universe
    deb http://gb.archive.ubuntu.com/ubuntu/ gutsy-updates universe
    deb-src http://gb.archive.ubuntu.com/ubuntu/ gutsy-updates universe
    deb http://gb.archive.ubuntu.com/ubuntu/ gutsy multiverse
    deb-src http://gb.archive.ubuntu.com/ubuntu/ gutsy multiverse
    deb http://gb.archive.ubuntu.com/ubuntu/ gutsy-updates multiverse
    deb-src http://gb.archive.ubuntu.com/ubuntu/ gutsy-updates multiverse

    Before apt-get can be run to install anything, the new configuration needs to be kicked into action.

    Run:


    root@cherry:~# apt-get update



    This will have synchronised your local apt-get program with the content and availability of the repositories declared in the configuration file. On my machine, I got the following output:


    Get: 1 http://gb.archive.ubuntu.com gutsy Release.gpg [191B]
    Get: 2 http://gb.archive.ubuntu.com gutsy/main Translation-en_GB [21.3kB]
    Get: 3 http://gb.archive.ubuntu.com gutsy/restricted Translation-en_GB [2395B]
    Get: 4 http://gb.archive.ubuntu.com gutsy/universe Translation-en_GB [4405B]
    Get: 5 http://gb.archive.ubuntu.com gutsy/multiverse Translation-en_GB [8133B]
    Get: 6 http://gb.archive.ubuntu.com gutsy-updates Release.gpg [191B]
    Ign http://gb.archive.ubuntu.com gutsy-updates/main Translation-en_GB
    Ign http://gb.archive.ubuntu.com gutsy-updates/restricted Translation-en_GB
    Ign http://gb.archive.ubuntu.com gutsy-updates/universe Translation-en_GB
    Ign http://gb.archive.ubuntu.com gutsy-updates/multiverse Translation-en_GB
    Get: 7 http://gb.archive.ubuntu.com gutsy Release [65.9kB]
    Get: 8 http://gb.archive.ubuntu.com gutsy-updates Release [58.5kB]
    Get: 9 http://gb.archive.ubuntu.com gutsy/main Packages [1075kB]
    Get: 10 http://gb.archive.ubuntu.com gutsy/restricted Packages [7664B]
    Get: 11 http://gb.archive.ubuntu.com gutsy/main Sources [306kB]
    Get: 12 http://gb.archive.ubuntu.com gutsy/restricted Sources [2120B]
    Get: 13 http://gb.archive.ubuntu.com gutsy/universe Packages [4065kB]
    Get: 14 http://gb.archive.ubuntu.com gutsy/universe Sources [1226kB]
    Get: 15 http://gb.archive.ubuntu.com gutsy/multiverse Packages [158kB]
    Get: 16 http://gb.archive.ubuntu.com gutsy/multiverse Sources [56.8kB]
    Get: 17 http://gb.archive.ubuntu.com gutsy-updates/main Packages [105kB]
    Get: 18 http://gb.archive.ubuntu.com gutsy-updates/restricted Packages [4263B]
    Get: 19 http://gb.archive.ubuntu.com gutsy-updates/main Sources [27.5kB]
    Get: 20 http://gb.archive.ubuntu.com gutsy-updates/restricted Sources [937B]
    Get: 21 http://gb.archive.ubuntu.com gutsy-updates/universe Packages [39.7kB]
    Get: 22 http://gb.archive.ubuntu.com gutsy-updates/universe Sources [7563B]
    Get: 23 http://gb.archive.ubuntu.com gutsy-updates/multiverse Packages [9215B]
    Get: 24 http://gb.archive.ubuntu.com gutsy-updates/multiverse Sources [1702B]
    Fetched 7254kB in 2m29s (48.4kB/s)


    Unavailable sites will be marked as "Ign", for "ignore". My update manager immediately reported "You can install 142 updates". At the risk that I might forget what the whole exercise was about (get the system to the state where I can install Citrix client to talk to my company's intranet from home), I decided to run the updates. After all, my install CD is rather dated now, and a lot of reported bugs may have been fixed by now. Generally speaking, a blank 'update all' approach may not be the best, but I haven't got the intimate Gutsy knowledge to make a judgement. So, a click on the "Install Updates" at the bottom of the recommended updates list.

    [The time is: 12:26. Estimate for the update download time was 1h5m - on my extremely slow 60kB/s connection. The download actually finished at 13:37 - not bad, just 6 minutes out on the estimate...]

    Blog Archive