Posts tagged with opensuse

Chrome for Linux (openSUSE)

It turns out, even though its not advertised anywhere, the Chrome browser, based on Chromium, Google's great open source browser project, is available for download. It has been available for windows for a while now and work on Linux just fine via crossover or Wine.


Although I had to link a couple of libraries to get it working on my openSUSE machine, it was not a lot of work, and I have to say my first impressions of it are very good. It is a lot faster than Mozilla in both starting up and then the rendering of pages. It seemed to be about 2 to 3 times faster and tracking its CPU and memory usage showed it was less resource hungry than Firefox too. It is of course lacking a lot of features including plugin support (think flash), printing, gears support, etc.


The most noticeable feature was the visual cache u have of sites you visit most often. This creates a kind of dynamic favorite bookmarks page, which seems vey useful (to me at least.) It seems they are building various snapshots a day, making it a project that is clearly very active. If you'd like to get it running on openSUSE, follow these instructions once you've downloaded the file chromium.zip from the latest snapshot directory: ( http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/ )





cd /home/_user_
wget http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/_latest-snapshot_/chrome-linux.zip

Make sure you replace _latest-snapshot_ with the latest snapshot number from the page, and _user_ with your home directory


unzip chrome-linux.zip
sudo ln -s /usr/lib/libnss3.so /usr/lib/libnss3.so.1d
sudo ln -s /usr/lib/libnssutil3.so /usr/lib/libnssutil3.so.1d
sudo ln -s /usr/lib/libsmime3.so /usr/lib/libsmime3.so.1d
sudo ln -s /usr/lib/libssl3.so /usr/lib/libssl3.so.1d
sudo ln -s /usr/lib/libplds4.so /usr/lib/libplds4.so.0d
sudo ln -s /usr/lib/libplc4.so /usr/lib/libplc4.so.0d
sudo ln -s /usr/lib/libnspr4.so /usr/lib/libnspr4.so.0d

You should now be able to run chrome via command line or by clicking on the binary. If you are on Ubuntu, there is a PPA where u can download the latest version: https://launchpad.net/~chromium-daily/+archive/ppa


Rate It! (Average 0, 0 votes)



easy packaging with openSUSE's build service

Distros tend to have their own unique package management system, though some share a common base (Debian and ubuntu for example), but non can do what openSUSE's online build service does, which is build for most architectures and practically all distributions. Being able to edit a couple of files, upload them, and let the remote computer to the work is a dream come true. No longer do upstream maintainers have to build packages individually for every distro they want to support, not to mention architectures. They can follow a set of simple instructions that practically anyone can follow and have their software available on most major platforms and architectures. This document should show you how its done. It is assumed you are using openSUSE as your base distro. Special thanks go out to Jigish Gohil/cyberorg, for helping me understand these steps


The first step is to create an account with https://build.opensuse.org/ or if you already have one, log into it. Also, we need to add a little script that tracks changes by pasting the following into /usr/bin/changelog and editting your time zone and email address:


#!/bin/bash
EDITOR=vi
FILE=$1
COMMENT_FILE=$(basename $FILE .spec).changes
tmpfile=$(mktemp changelog-XXXXXX)
timestamp=$(LC_ALL=POSIX TZ=Asia/Kolkata date)
email=my@emailaddress.org
separator="-------------------------------------------------------------------"
{
    echo "$separator"
    echo "$timestamp - $email"
    echo
    echo "- "
    echo
    if [ -n "$COMMENT_FILE" ]; then
      if [ -f "$COMMENT_FILE" ]; then
        cat $COMMENT_FILE
      fi
    fi
} >> $tmpfile || exit 1
if [ -z "$COMMENT_FILE" ]; then
    lines=1
    CHKSUM_BEFORE=$(md5sum $tmpfile | awk '{print $1}')
else
    lines=$(wc -l $COMMENT_FILE | awk '{print $1}')
    CHKSUM_BEFORE=has_changed
fi
$EDITOR +$((4+lines)) $tmpfile
if [ "$CHKSUM_BEFORE" = "$(md5sum $tmpfile | awk '{print $1}')" ]; then
    exit 1
fi
cat $tmpfile > $COMMENT_FILE
rm $tmpfile

and changing the permissions of the file by doing:


 


sudo chmod u+x /usr/bin/changelog

 


Meanwhile, search the net for a package you are interested in building. It is suggested to start off with something easy, that already has the source available in rpms format, that is to say, is a package that contains the source tarball and a .spec file at least. Usually these packages look like this: package-name-version-distro-1.2345.src.rpm. Next you want to download that file to the desktop and extract it by right clicking and choosing extract here.


You can now open the .spec file which will contain the description required to build the package on rpm based systems, as well as the name and description of the package. In the opensuse build service (oBS) web page, choose create a project or subproject, and then add a package. Here you need to fill out the Name, Title and description. The name and title are usually the same and are normally just the name of the package without version number or platform. (For example, sugar-maze) Then in the description copy and paste the description you got from the .spec file.


Now its time to go to the terminal and do:


osc co home:username:subproject packagename
cd home:username:subproject/packagename
mv ~/Desktop/package-name.version.distro.src/* ./

 


Now we want to edit the .spec file and replace the line that looks something like this:


Release: 1.20090216%{?dist}

with these lines:


%if 0%{?suse_version}
Release: 1
%else
Release: 1.20090216%{?dist}
%endif

 


We will also need to add any missing requires and buildrequires. These are usually visible inside the oSB tool, when the build has been committed. That means one may need to go back and edit the .spec file, and then recommit the changes. Now we need to add an entry to the changelog, which tracks what you are doing to the package:


changelog package-name

The command interface here is vi based, so its i for insert, and :qw to write and quit. Next you will want to edit the metadata (this only requires doing the first time you build a package!):


osc meta prj -e home:username:subproject

You should change the content so it looks something like this


Finally we add the spec, changes and source tarball to the oBS:


osc add *.spec *.changes *.gz

and we commit it:


osc ci -m "uploaded new package"

Thats all it takes to have your package now building or queued to be building. If you want to create a package directly from a tarball, that is also possible, and it is suggested you use the spec file you created as the base that you will need to edit accordingly. While it is not in the scope of this document to explain how that is done, it is easy enough to duplicate a project, and use that as the base:


osc copypac home:username:subproject youroldpac home:username:subproject newpac

And then you can rename the .spec file, changes, and add the source tarball of the package you want to build. Then you can follow the same instructions above for uploading to oBS.


Rate It! (Average 0, 0 votes)



Opensuse 11.1 and its kiwi-ltsp review

My previous attempts at installing opensuse have been mostly fiascos, but a lot has changed in the latest incarnation, opensuse 11.1. Unlike its predecessors, I installed it to the hard disk using a live dvd, available here: http://download.opensuse.org/repositories/Education/images/iso/


After loading up the dvd, which takes a while to start up, one is greeted with a blank desktop with a couple of options for using the DVD. You can run the LTSP server straight from the DVD without installing anything to the hard drive. This works by serving pre-built kiwi images to the clients. I, however, chose to install to the hard drive by using the installer found on the desktop.


Unlike previous attempts, I was asked only a couple of questions such as timezone, keyboard settings, and partitioning schematics, before the installation process got underway. About 30 minutes later I restarted my computer and had a nicely functional desktop running gnome. I have 2 network cards, but those were easy enough to setup, by clicking on the bottom left computer menu, and then choosing network. The settings here are quite straightforward, and I had to set my 2 network cards to be either internal or external, and make sure the network settings were correct. I set my LTSP facing network card to internal, which is important for firewall issues, and then ran easy-ltsp. Here I had to change a couple of settings for my dhcp server, as the default serves a 10.0.x.x range, which is often used by routers, like mine.


After doing this, I plugged in a thin client, and it loaded up with no problems. On startup, the thin client gives some options such as boot from hard disk, turn apic off, shell prompt. If nothing is chosen, it loads up the thin client and you can start using LTSP. Setting up users is best done through the GUI, but can be done from the terminal using the useradd -m command, which is slightly different from Ubuntu, but has much more integration with LDAP, which is useful for larger setups. I went on to setup italc for ltsp client monitoring. Italc requires a keypair to be created and permissions to be set so anyone in the group italc can read the keys by doing:


ica -createkeypair
chgrp -R italc /etc/italc/keys/private
chmod -R 640 /etc/italc/keys/private
chmod -R ug+X /etc/italc/keys/private


This will probably be done automatically in the next incarnation of the livedvd, but for now, it has to be done manually, if you change your network settings from the default.


I also chose to setup samba for file sharing, which was quite straightforward, and as with other services, is best setup through yast. The defaults seemed fine for what I wanted, which was users home directories shared, using nbd password. The only annoyance I found here is that you have to set the username and passwords for the smb shares from the terminal. It is possible to set up LDAP to work with samba to provide authentication through a gui, but that seems overkill for smaller setups. To setup a samba user with password I did: smbpasswd -a nubae


Just for the sake of trying it out, I went through the process of setting up LDAP with samba to see if windows systems could then login with no problems. I followed this tutorial: http://digiplan.eu.org/ldap-samba-howto-v4.html


That seemed to work fine, though it realls is far too complicated for the typical home or school user. Setting the smbpasswd and using samba to directly authenticate is far easier and faster to setup. Taking it further than the fileserver, I also tries using ldap to authenticate the LTSP users when logging into LDM, and that worked great. If one is interested in using the fatclient option for LTSP, using LDAP is required.


One of the interesting options with opensuse's LTSP is the ability to choose different types of images, such as nomad or AOE. Nomad is a useful image type for thin clients because it allows for the network disconnection with the client without loosing data. That is to say, a user can continue using the thin terminal when the network comes back. AOE is used for fatclient implementation, where services and apps run directly on the client, as opposed to on the server. Of course, there is also the local apps possibility, whereby individual apps are chosen to be run directly on the client. Under opensuse this is very easy to setup, using the easy-ltsp configurator. The easy-ltsp configurator also allows for individual setting for thin clients, such as installation of printers and so on.


A quick glance at the applications available makes you realise there is almost everything one could wish for in an educational environment. There are almost too many edu apps available. It would have been nice to see some grouping of the educational apps, to make life easier for teachers, but the choice is a great start, and quite unique amongst distros. Lacking were some teacher tools, for creating educational content, but I have it on good authority that these will be included soon.


All in all, I was quite impressed with Opensuse and the wide variety of services it can run, be it as a fileserver, ltsp server, ldap server, or desktop machine. The educational software collection is impressive, and the ability to use many kinds of images via easy-ltsp makes it quite friendly to use. I would have to say that next to Ubuntu, this is the best implementation of LTSP so far. The only negative thing I can say is that Opensuse tends to do things in its own way, as opposed to following the upstream projects, but this allows it to be ahead of the game. I will certainly continue using it as my main desktop alongside ubuntu.


Rate It! (Average 0, 0 votes)