We currently migrate to MediaWiki from our old installation, but not all content has been migrated yet. Take a look at the Wiki Team page for instructions how to help or browse through our new wiki at wiki.linux-vserver.org to find the information already migrated.
VSkel est un script pour faciliter la maintenance de vos vserveurs, à l'aide de squelettes ala FreeVSD?. Un squelette est un modèle de serveur, dont vous pouvez avoir plusieurs versions, avec différentes combinaisons de logiciels et configurations. VSkel vous permet ensuite de créer facilement des vserveurs à partir de ces squelettes.
VSkel est destiné en premier lieu aux utilisateurs qui souhaitent implémenter les vserveurs dans un contexte commercial (web hosting), ou vous devez créer plusieurs squelettes représentant différents types de comptes, avec différents packages installés (ou vous pouvez simplement en avoir un "avec tout dedans", en fonction de vos besoins). Une fois que le squelette est construit avec une configuration particulière, VSKel permet de créer facilement des vservers utilisant la meme configuration.
Tapez vskel.pl --help pour avoir la liste des options disponibles. Il y a essentiellement quatres modes d'opération, comme suit;
Avant de faire quoi que ce soit, vous aurez besoin d'un squelette fonctionnel. La seule méthode actuellement pour créer un squelette est simplement de faire une copie du vserver hote (moins quelques fichiers). Ce n'est pas idéal, car vous obtenez dans le squelette des informations relatives au serveur hote, que vous ne souhaitez pas avoir a cet endroit, comme /etc/passwd ou /etc/shadow, les fichiers journaux dans /var, et les copies des outils vservers comme par exemple vrpm, vserver, vdu, etc. Après avoir construit votre squelette, vous devrez le passer au peigne fin, et vous assurer qu'il contient bien ce que vous souhaitez et rien de plus. (la bonne nouvelle, c'est que vous ne devez faire ca qu'une seule fois)
Une fois VSkel installé, la construction du squelette est aussi simple que ca:
ou "myskel" est le nom que vous avez choisi de donner à votre squelette.
Chaque squelette est composé de trois parties, placées dans trois répertoires différents sous /vservers/.skel/<nom squelette>.*;global/: Ici, vous trouvez les fichiers communs à tous les vservers pour ce squelette. A la création d'un vserver, un lien dur est fait pour chacun de ces fichiers, pour économiser l'espace disque, puis on les unifiera (attribut immutable + possibilité de detruire le fichier, uniquement). Dans le repertoire 'global', vous trouverez donc des répertoires comme /bin, /lib, /sbin et /usr/ (/usr/local exclu).
There are two other items in each skel:
VSkel will tell you what it is doing while it is building the skel, but basically what it does is:
Once you have a skel created and you have double checked everything in it, you can start making vservers.
Creating a vserver is as simple as typing:
VSkel will prompt you to enter information about the vserver you are creating (name, IP address and domain name). If you prefer, you can provide this information on the command line, for example:
If you need to install/upgrade/remove a package in a skel, you'll need to turn the skel into a single tree so that you can run rpm inside it. This can be accomplished like so:
This essentially creates a vserver from the skel, but without performing some of the configuration steps performed on a vserver. A temporary vserver is created with the name tmp_skel_<skel name> in /vservers. You can "enter" this vserver, but avoid trying to "start" it, or you may create unwanted log files and such. Also watch out for e.g. .bash_history files in /root in the skel.
Note that the skel's static/ directory is not merged, so any static files will not exist in the temporary vserver.
When a temporary vserver is created from a skel, a copy of the original skel's global/ and local/ directories are kept as global.bak/ and local.bak/ under the skel directory.
The intended use of merging is for package management using the vrpm command, e.g.:
When you have finished making changes to packages in a skel, and before you can again create vservers from the skel, the skel needs to be recreated in its original form:
This will turn the temporary vserver tmp_skel_myskel back into the skel myskel.
VSkel uses its own system for managing context IDs (maybe this will become standard, unless someone finds a better way). For compatibility with the [Per Context Quota] / [Per Context Disk Limits] vserver patches, VSkel gives each vserver it creates a fixed context ID, rather than using dynamically assigned context IDs.
By default, VSkel starts numbering vservers at context ID number 50. This can be set by the $opt_ctxstart line at the top of vskel.pl.
The first time you create a vserver with VSkel, a directory /etc/vservers/contexts, and a file /etc/vservers/contexts/nextid containing one line, probably "51", will be created. The nextid file tells VSkel (or any other script using this method) what ID number to use for the next vserver created.
In addition, when a vserver is created, a symbolic link will be created in this directory to the vserver directory, named with vserver's context ID number; e.g. a vserver called "test" with context ID 53 will have a symbolic link 53 -> /vservers/test in /etc/vservers/contexts.
This software is released under the [GNU General Public License].
Copyright (C) 2003 Simon Garner
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.