Wiki source for KioskBehindTheScenes


Show raw source

Mandriva Kiosk: Behind the Scenes

We introduced you to Mandriva Kiosk on page 5 of this issue. However, there's more to the system than what you see on the surface. To use Kiosk, all you need to know is how to visit a web page and click the install button, but for those with an interest, there's much more going on behind the scenes!

When you click on the 'install' button to install a Mandriva Kiosk bundle, a special bundle file is sent to the browser. In a fully updated Mandriva Linux 2006 or Mandriva One 2006, the Konqueror and Firefox browsers understand that this file format should be opened by the 'mdkupdate' command (the command line front end to Mandriva Update and Mandriva Online, which is used by various Mandriva utilities), and so this is what is recommended to the user. mdkupdate itself then reads the bundle file and drives the rest of the bundle installation process.

The first thing it does is to check for the presence of a working Mandriva Online account for the running system. Mandriva Kiosk is a separate service from Mandriva Online, but both are based on the same platform and use the same account system for convenience. If no account is found, a new one is automatically registered with the login details that were provided by the user on logging in to the Mandriva Kiosk system. If the user has the correct privileges to use Mandriva Online, a full account is created; otherwise, a limited account is created which will allow Mandriva Kiosk to work, but will not allow access to the features of Mandriva Online.

Once an Online account is found, or created, the bundle file causes mdkupdate to set up some new urpmi media (software repositories) via the urpmi.addmedia command. The actual packages that make up each Mandriva Kiosk bundle are collected together in a dedicated urpmi media hosted on a Mandriva server which requires authentication to access. The appropriate media for the requested bundle is added, with the authentication generated from the user's Mandriva Kiosk account. In addition to this, media are added for 'main', 'contrib' and 'updates' - the three official repositories (hosted on the official public mirror sites) which contain all the open source packages that make up the bulk of Mandriva Linux itself. These media are added to ensure that all possible dependencies for the packages in the bundle are available.

Finally, mdkupdate calls gurpmi - the graphical counterpart to urpmi - to actually install the bundle. The exact command issued tells gurpmi to consider only the main, contrib, updates and bundle media. It then instructs it to install the bundle metapackage, which is a single package present in each bundle media which contains no actual files, but depends on all the other packages that make up the bundle, so that installing this one package causes all the other packages to be installed. It further instructs it to update any packages that are currently installed of which newer versions exist in the bundle media: this is to cover situations in which a package required by the bundle metapackage is installed, satisfying the dependency, but the installed version is older than an updated version available in the bundle. When you see Mandriva Kiosk installing the hundreds of updated packages that make up the KDE or GNOME bundles, it is this command that is running.

Most of the commands and processes that are run as part of a typical Mandriva Kiosk session log to the file /var/log/messages , so if you want to see all these individual stages at work, you can trace them by reading through this log file. It will also tell you exactly which packages have been installed and removed.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki