Archives mensuelles : mars 2010

Installation automatisée Karmic Koala par preseed

Objectifs

  • Le fichier preseed permet l’installation automatisée d’une distribution comme Debian ou Ubuntu.
  • L’avantage étant de pré-remplir les options d’installation (paramétrages réseaux, régionaux, paquets à installer, partitionnement,…)

Configurations

Installation Karmic Koala Desktop depuis les dépôts officiels

  • Le fichier proposé ci-dessous propose l’installation de la distribution Karmic Desktop depuis les dépôts officiels :
<code>
#
# Configuration du fichier preseed :
#
# Configuration reseau (obsolete en si utilisation du DHCP)
#d-i netcfg/get_hostname string unassigned-hostname
#d-i netcfg/get_domain string unassigned-domain
#d-i netcfg/get_hostname seen true
#d-i netcfg/get_domain seen true
#
# Choix du noyau a installer
# Dans le cas d'un serveur 9.10, installer linux-generic-pae :
#d-i     base-installer/kernel/override-image    string linux-generic-pae
#
# Source d'installation (miroir)
#
d-i	mirror/country		string fr
d-i mirror/http/countries   select fr
d-i	mirror/protocol select	http
d-i	mirror/http/hostname	string fr.archive.ubuntu.com
d-i	mirror/http/directory	string /ubuntu
# Nom de la distribution installée
d-i	mirror/suite		string karmic
# Choix des miroirs security :
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string fr.archive.ubuntu.com
d-i apt-setup/security_path string /ubuntu
d-i	mirror/http/proxy	string
#
# horloge
#
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server ntp.free.fr
#
# partitionnement
#
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
#d-i partman-auto/purge_lvm_from_device boolean true # pour les anciennes versions, en 8.04 cf ligne ci-dessous
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select
# Terminer le partitionnement et appliquer les changements
d-i partman/confirm boolean true
#
# Détermine le type d'installation
#
tasksel tasksel/first multiselect ubuntu-desktop
#tasksel tasksel/first multiselect standard
#tasksel tasksel/first multiselect ubuntu-desktop
#tasksel tasksel/first multiselect kubuntu-desktop
#tasksel tasksel/first multiselect edubuntu-desktop
#tasksel tasksel/first multiselect xubuntu-desktop
#tasksel tasksel/first multiselect dns-server
#tasksel tasksel/first multiselect lamp-server ##(installation d'un serveur avec Apache, MySQL et PHP)
#
# Creation des comptes utilisateur/root
#
#d-i passwd/root-login boolean true
# Mot de passe root en clair (insecure) :
#d-i passwd/root-password password insecure
#d-i passwd/root-password-again password insecure
# Mot de passe root crypté en MD5 :
#d-i passwd/root-password-crypted password $1$hHHfJXII$0eStKtVO310d1RyvnCYdQ0
#
# Création du compte local : Toto
# Si le compte root est déjà créé, l'utilisateur ne pourra pas faire de sudo
#
d-i passwd/make-user boolean true
d-i passwd/user-fullname string Toto
d-i passwd/username string toto
#d-i passwd/user-password password insecure
#d-i passwd/user-password-again password insecure
d-i passwd/user-password-crypted password $1$hHHfJXII$0eStKtVO310d1RyvnCYdQ0
#d-i passwd/user-password-again-crypted password $1$hHHfJXII$0eStKtVO310d1RyvnCYdQ0
#
# Pour éviter le dernier message disant que l'installation est terminée :
d-i finish-install/reboot_in_progress note
#
# Politique pour l'application des mises à jour. Réglé sur :
#  - "none" (pas de mise à jour automatique)
#  - "unattended-upgrades" (installation des mises à jour de sécurité automatiquement)
#  - "landscape" (mise à jour gérées depuis Landscape)
d-i pkgsel/update-policy select unattended-upgrades
# Permet d'encrypter le répertoire home (ne fonctionne pas pour les versions antérieures a Intrepid) :
d-i user-setup/encrypt-home boolean false
#
# Apt setup.
#
# Configure les branches qui seront actives multiverse, universe, security
base-config	apt-setup/uri_type	select http
#base-config	apt-setup/country	select enter information manually
base-config	apt-setup/hostname	string fr.archive.ubuntu.com
base-config	apt-setup/directory	string /ubuntu
base-config	apt-setup/another	boolean true
base-config	apt-setup/universe	boolean true
base-config	apt-setup/multiverse	boolean true
base-config	apt-setup/security-updates	boolean true
#
# paquets supplémentaires qui seront installés :
#
d-i pkgsel/include string libpam-mount
d-i pkgsel/include string curl
d-i pkgsel/include string debconf-utils
d-i pkgsel/include string openssh-server
d-i pkgsel/include string vim
d-i pkgsel/include string ssh
#
# Dernière commande :
# Permet de lancer une derniere commande : ici le telechargement et le lancement d'un script pour la post install
d-i preseed/late_command string wget -q -O - http://monserveureb/postinstall.sh | chroot /target /bin/bash
</code>

Installation Karmic Koala Desktop depuis un dépôt local

  • Pour l’installation du client depuis un miroir local, il suffit de copier le fichier précédent en modifiant les trois lignes suivantes :
  1. d-i mirror/http/hostname string
  2. d-i apt-setup/security_host string
  3. base-config apt-setup/hostname string
<code>
# Source d'installation (miroir)
##~~~~ paramètres ~~~~##
d-i	mirror/http/hostname	string mirror.test.lan
##~~~~ paramètres ~~~~##
# Source d'installation (miroir)
##~~~~ paramètres ~~~~##
d-i apt-setup/security_host string mirror.test.lan
##~~~~ paramètres ~~~~##
# Apt setup.
##~~~~ paramètres ~~~~##
base-config	apt-setup/hostname	string mirror.test.lan
##~~~~ paramètres ~~~~##
</code>

Installation Karmic Koala Server depuis un dépôt local

  • Enfin, pour l’installation d’un serveur de base, il faut modifier ces deux directives :
  1. d-i base-installer/kernel/override-image string linux-generic-pae
  2. tasksel tasksel/first multiselect standard
<code>
##~~~~ paramètres ~~~~##
# Choix du noyau a installer
# Dans le cas d'un serveur 9.10, installer linux-generic-pae :
d-i     base-installer/kernel/override-image    string linux-generic-pae
##~~~~ paramètres ~~~~##
# Détermine le type d'installation :
#
tasksel tasksel/first multiselect standard
##~~~~ paramètres ~~~~##
</code>

Sources

Créer son miroir local Ubuntu Karmic Koala

Architecture système

  • Pré requis : apt-mirror, apache2 et +/- 70 Go d’espace disque (varie en fonction des branches sélectionnées).
  • Un serveur 9.10 virtualisé avec deux disques (le premier de 10Go environ pour le système, le deuxième de 80Go pour accueillir les dépôts).

Disques Capacité Répertoires montés
sda1 10Go / (système)
sdb1 80Go /mirror (dépôts)

Installation du miroir

<code>apt-get install apache2 apt-mirror</code>
  • Création des répertoires accueillant les paquets :
    <code>mkdir -p /mirror/{mirror,skel,var}</code>

    Préparation

    • Copie et édition du fichier de configuration :
    <code>
    cp /etc/apt/mirror.list /mirror/apt-mirror.conf
    gedit /mirror/apt-mirror.conf &amp;
    </code>
    • Modifier les valeurs suivant votre configuration :
    <code>
    ############# config ##################
    #
    set base_path    /mirror
    #
    # if you change the base path you must create the directories below with write privileges
    #
    set mirror_path  $base_path/mirror
    set skel_path    $base_path/skel
    set var_path     $base_path/var
    set cleanscript $var_path/clean.sh
    set defaultarch  i386
    # set postmirror_script $var_path/postmirror.sh
    set run_postmirror 0
    set nthreads     20
    set _tilde 0
    set limit_rate 50k
    #
    ############# end config ##############
    
    deb http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu karmic-updates main restricted universe multiverse
    #deb http://archive.ubuntu.com/ubuntu karmic-proposed main restricted universe multiverse
    #deb http://archive.ubuntu.com/ubuntu karmic-backports main restricted universe multiverse
    
    #deb-src http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-updates main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-proposed main restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-backports main restricted universe multiverse
    
    clean http://archive.ubuntu.com/ubuntu
    </code>

    Récupération des paquets

    • On lance la commande apt-mirror avec notre fichier de configuration en argument :
    <code>apt-mirror /mirror/apt-mirror.conf</code>
    • Un long processus commence :
    <code>
    Downloading 84 index files using 20 threads...
    Begin time: Sun Oct  4 19:51:48 2009
    [20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]...
    </code>

    Rendre accessible les paquets sur le réseau

    • Le serveur web aura la fonction de mettre à disposition les dépôts depuis le réseau :
      <code>ln -s /mirror/mirror/archive.ubuntu.com/ubuntu/ /var/www/ubuntu</code>

      Utilisation du miroir depuis un poste client

      • Pour utiliser votre mirroir depuis votre poste client, il faut modifier le fichier **/etc/apt/source.list** :
      • Sauvegarder tout d’abord le fichier **/etc/apt/sourcelist** :
      <code>cp /etc/apt/sources.list /etc/apt/sources.list.ori</code>
      • Editer ce fichier en inscrivant l’adresse pour atteindre les dépôts :

      Méthode avec SED

      <code>
      sed -i "s,fr.archive.ubuntu.com/ubuntu,srv-deb910.home.lan/ubuntu/mirror/archive.ubuntu.com/ubuntu,g" /etc/apt/sources.list
      apt-get update
      apt-get upgrade -y
      </code>

      Méthode manuelle

      • Editer le fichier et modifier l’adresse du serveur suivant votre configuration :
      <code>vi /etc/apt/sources.list</code>
      <code>
      #deb cdrom:[Ubuntu 9.10 _Karmic Koala_ - Release i386 (20091028.5)]/ karmic main restricted
      # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
      # newer versions of the distribution.
      
      deb http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted
      deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted
      
      ## Major bug fix updates produced after the final release of the
      ## distribution.
      deb http://fr.archive.ubuntu.com/ubuntu/ karmic-updates main restricted
      deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic-updates main restricted
      
      ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
      ## team. Also, please note that software in universe WILL NOT receive any
      ## review or updates from the Ubuntu security team.
      deb http://fr.archive.ubuntu.com/ubuntu/ karmic universe
      deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic universe
      deb http://fr.archive.ubuntu.com/ubuntu/ karmic-updates universe
      deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic-updates universe
      
      ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
      ## team, and may not be under a free licence. Please satisfy yourself as to
      ## your rights to use the software. Also, please note that software in
      ## multiverse WILL NOT receive any review or updates from the Ubuntu
      ## security team.
      deb http://fr.archive.ubuntu.com/ubuntu/ karmic multiverse
      deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic multiverse
      deb http://fr.archive.ubuntu.com/ubuntu/ karmic-updates multiverse
      deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic-updates multiverse
      
      ## Uncomment the following two lines to add software from the 'backports'
      ## repository.
      ## N.B. software from this repository may not have been tested as
      ## extensively as that contained in the main release, although it includes
      ## newer versions of some applications which may provide useful features.
      ## Also, please note that software in backports WILL NOT receive any review
      ## or updates from the Ubuntu security team.
      # deb http://fr.archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse
      # deb-src http://fr.archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse
      
      ## Uncomment the following two lines to add software from Canonical's
      ## 'partner' repository.
      ## This software is not part of Ubuntu, but is offered by Canonical and the
      ## respective vendors as a service to Ubuntu users.
      # deb http://archive.canonical.com/ubuntu karmic partner
      # deb-src http://archive.canonical.com/ubuntu karmic partner
      
      deb http://security.ubuntu.com/ubuntu karmic-security main restricted
      deb-src http://security.ubuntu.com/ubuntu karmic-security main restricted
      deb http://security.ubuntu.com/ubuntu karmic-security universe
      deb-src http://security.ubuntu.com/ubuntu karmic-security universe
      deb http://security.ubuntu.com/ubuntu karmic-security multiverse
      deb-src http://security.ubuntu.com/ubuntu karmic-security multiverse
      </code>

      Explication

      • En résumé, les trois branches devant être sélectionnées :
      <code>
      deb http://mirrors.kernel.org/ubuntu intrepid main main/debian-installer restricted restricted/debian-installer
      deb http://mirrors.kernel.org/ubuntu intrepid-updates main restricted
      deb http://security.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
      
      clean http://mirrors.kernel.org/ubuntu
      </code>
      • Le répertoire de base :
      <code>set base_path    /mirror/</code>
      • On ne prend que pour l’architecture i386 :
      <code>set defaultarch  i386</code>
      • Rajouter cette directive dans le fichier de configuration pour limiter la consommation de la bande passante, 50K * 10 = 500Kilos
      <code>set limit_rate 50k</code>

      Sources

      Pour aller plus loin

      Problèmes rencontrés

      apt-mirror is already running, exiting at /usr/bin/apt-mirror line 187.

      • La solution sur la version 9.10, est de supprimer le fichier **apt-mirror.lock**
      <code>rm /mirror/var/apt-mirror.lock</code>

Installer un serveur Ubuntu Karmic Koala 9.10

Installation

  1. Téléchargement de l’iso à l’adresse : ubuntu-9.10-server-i386.iso. Graver votre cd et booter dessus.
  2. Sélectionner la langue du programme d’installation (français) et valider Installer Ubuntu Server
  3. Choix de la langue d’installation (France)
  4. Détection de l’agencement du clavier (oui)
  5. Test de la disposition du clavier (touches y et w)
  6. Touche œ (oui)
  7. Clavier type latin9 (oui)
  8. Détection du réseau
  9. Choix du nom d’hôte
  10. Partitionnement
  11. Nouvel utilisateur
  12. Mot de passe
  13. Chiffrement du dossier personnel (non)
  14. Serveur mandataire pour l’application apt (non)
  15. Mise à jour (installer les mises à jour de sécurité automatiquement)
  16. Sélection des logiciels (openssh server)
  17. Installation terminée

Mise à jour et purge des paquets inutiles

<code>apt-get update && apt-get upgrade -y && apt-get autoclean && apt-get autoremove</code>

Configuration

Paramétrage réseau
La personnalisation du bashrc

Services

SNMP
Bind

Astuces

  • Connaître la version d’Ubuntu sur laquelle vous vous trouvez :
  • <code>lsb_release -a</code>
    • Comment faire pour savoir quel noyau que vous utilisez
    • <code>uname -r</code>

Installer Ubuntu depuis un serveur de dépôts (miroir)

Objectifs

  • Pouvoir installer une distribution Ubuntu (9.10, Karmic Koala) depuis le réseau local sans aucune intervention extérieure.
  • Le principe :
  • Boot PXE -> Lecture du fichier de pré-configuration -> installation automatisée depuis votre serveur de dépôts local

Pré-requis

  1. Bind
  2. DHCP
  3. PXE
  4. Miroir local Ubuntu
  5. Installation automatisée par fichier Preseed

Ajouter les référentiels à votre mirroir

<code>vi /mirror/apt-mirror.conf</code>
<code>
# Miroir Karmic Installer
deb http://archive.ubuntu.com/ubuntu/ karmic           main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb http://archive.ubuntu.com/ubuntu/ karmic-updates   main/debian-installer
#deb http://archive.ubuntu.com/ubuntu/ karmic-backports
deb http://archive.ubuntu.com/ubuntu/ karmic-security  main/debian-installer
deb http://archive.ubuntu.com/ubuntu/ karmic-proposed main/debian-installer
</code>
  • Mettre à jour le serveur de dépôts :
<code>apt-mirror /mirror/apt-mirror.conf</code>

Sources

Ajouter les l’option de boot à votre PXE

  • Editer le fichier default :
<code>vi /var/lib/tftboot/pxelinux.cfg/default</code>
  • Ajouter les lignes suivantes :
<code>
label Karmic Koala server Lan
MENU LABEL      Karmic Koala Desktop ^lan
kernel karmic/netboot.i386/linux
#karmic/install/netboot/ubuntu-installer/i386/linux
append vga=normal initrd=karmic/netboot.i386/initrd.gz ramdisk_size=16464 root=/dev/rd/0 rw preseed/url=http://monserveur.domain.tld/ubuntu/preseed/910.desktop.lan.cfg locale=fr_FR bootkbd=fr console-setup/layoutcode=fr console-setup/variantcode=nodeadkeys DEBCONF_DEBUG=5 netcfg/get_hostname=net-install netcfg/get_domain=workgroup--
</code>

Création du fichier preseed

  • A mettre depuis un endroit accessible par le serveur PXE (Sources) :
<code>
#
d-i mirror/suite string karmic
#
# Configuration reseau (obsolete si présence d'un DHCP)
##d-i netcfg/get_hostname string unassigned-hostname
##d-i netcfg/get_domain string unassigned-domain
##d-i netcfg/get_hostname seen true
##d-i netcfg/get_domain seen true
#
# Install source
d-i	mirror/country		string fr
d-i     mirror/http/countries   select fr
d-i	mirror/protocol select	http
d-i	mirror/http/hostname	string monserveur.domain.tld
d-i	mirror/http/directory	string /ubuntu
d-i	mirror/suite		string karmic
# Choix des mirroirs
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string monserveur.domain.tld
d-i apt-setup/security_path string /ubuntu
d-i	mirror/http/proxy	string
#
# horloge
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server ntp.free.fr
#
# partitionnement
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
#d-i partman-auto/purge_lvm_from_device boolean true &lt;- anciennes versions, en 8.04 cf ligne ci-dessous
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select
#
# select Terminer le partitionnement et appliquer les changements
d-i partman/confirm boolean true
tasksel tasksel/first multiselect ubuntu-desktop
#
# Creation des comptes utilisateur/root
#
d-i passwd/root-login boolean true
# Root password, either in clear text
d-i passwd/root-password password insecure
d-i passwd/root-password-again password insecure
# Compte local, utilisateur toto :
#
d-i passwd/make-user boolean true
d-i passwd/user-fullname string Toto
d-i passwd/username string toto
d-i passwd/user-password password insecure
d-i passwd/user-password-again password insecure
d-i finish-install/reboot_in_progress       note
d-i pkgsel/update-policy select unattended-upgrades
# Ne fonctionne pas pour les versions antérieures a Intrepid
d-i user-setup/encrypt-home boolean false
#
# Apt setup.
base-config	apt-setup/uri_type	select http
# If you choose ftp or http, you'll be asked for a country and a mirror.
#base-config	apt-setup/country	select enter information manually
base-config	apt-setup/hostname	string monserveur.domain.tld
base-config	apt-setup/directory	string /ubuntu
base-config	apt-setup/another	boolean true
base-config	apt-setup/universe	boolean true
base-config	apt-setup/multiverse	boolean true
base-config	apt-setup/security-updates	boolean true
#
# paquets supplémentaires
d-i pkgsel/include string openssh-server build-essential rsync less firmware-qlogic sudo cron-apt ntp host debsums devscripts pciutils ethtool
</code>

Tutoriels