Articles tagués : debian

Résoudre le problème de NO_PUBKEY rencontré avec apt-get update (ou aptitude update)

Blabla d’introduction

Lorsqu’on ajoute des dépôts dans son sources.list, il peut arriver souvent qu’à la prochaine commande apt-get update (ou aptitude update) on tombe sur un problème de ce type la :

aptitude update

...

W: GPG error: http://www.debian-multimedia.org experimental Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 07DC563D1F41B907
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.

Ci dessous se trouve la manière de résoudre ce problème.

Action

voilà la commande nécéssaire pour que votre système trouve la clé qu’il lui fait défaut

gpg --keyserver serveurDeClé --recv-key numéroDeLaCléManquante && gpg -a --export numéroDeLaCléManquante | sudo apt-key add -

avec serveurDeClé qui peut par exemple être :

  • pgpkeys.mit.edu
  • hkp://wwwkeys.pgp.net
  • hkp://keyring.debian.org

et le numéroDeLaCléManquante qui est la suite de nombre et de chiffres qui se trouve dans la ligne contenant « NO_PUBKEY ». Dans notre cas cet nombre serait : 07DC563D1F41B907

Afin de regler le problèe presenté, la ligne serait donc :

gpg --keyserver pgpkeys.mit.edu --recv-key 07DC563D1F41B907 && gpg -a --export 07DC563D1F41B907 | sudo apt-key add -

Et voilà ! plus de problème (vous pouvez contrôler avec apt-get update que tout fonctionne bien) !

TODO: Mettre un copy/paste du résultat de la commande donnée

[Debian] Créer un miroir Debian local

Blabla d’introduction

Dans certains cas, rares mais pénibles, on doit survivre quelques temps sans Internet. Au delà des symptômes de manque que l’on peut ressentir, cela retarde fortement les projets que l’on peut avoir lorsqu’on possède un serveur. Un des moyens pour compenser le manque de connectivité de votre serveur vers l’extérieur est de faire une copie locale d’un ou de plusieurs serveurs de dépôts afin de continuer à pouvoir installer des logiciels sur votre serveur comme s’il était connecté à Internet.

Bien sur, cette utilisation n’est pas la seule qui peut pousser à avoir un serveur de dépôts chez soi, un simple exemple est l’application de patchs à plusieurs ordinateurs sans devoir retélécharger plusieurs fois les mêmes paquets (solution très utilisée en entreprise pour déployer massivement des mises à jour sans encombrer inutilement la bande passante Internet).

Il faut cependant avoir à l’esprit que selon ce que vous voulez « mirrorer », plusieurs Go peuvent être amenés à être copiés localement ce qui veut dire qu’il vous faut de la place sur votre disque dur et une bonne connexion Internet (celle de votre entreprise ?).

Action

Pour commencer , on va installer le paquet apt-mirror qui va s’occuper de 99% du travail à notre place. La commande pour installer n’a rien de très étonnant pour les gens qui connaissant un peu la gestion de paquets sous Debian :

apt-get install apt-mirror

Une fois le paquet installé, créez l’arborescence suivante à l’endroit ou vous voulez rapatrier vos paquets (n’oubliez pas de prévoir une zone ou il a suffisamment de place disponible):

  • un dossier général (nommé par exemple « miroir »)
  • 3 sous dossiers : skel, var et mirror

ce qui donne en ligne de commande :

mkdir miroir
cd miroir
mkdir var skel mirror

On va maintenant creer le fichier de configuration (par exemple dans le dossier miroir précédemment créé afin qu’il soit « solidaire » du mirroir).

NOTE: Si on ne crée pas de fichier de configuration, les données « mirrorées » seront celles des dépôts présents dans le fichier sources.list de votre Debian (/etc/apt/sources.list). Les données seront copiées à l’emplacement /var/spool/apt-mirror/.

Création du fichier de configuration

Créez un nouveau fichier et placez y les lignes suivantes :

set base_path /home/test/miroir
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 nthreads 4

set _tilde 0

deb http://security.debian.org/ etch/updates main contrib

clean http://security.debian.org/

Une petite explication sur les différentes lignes du fichier :

Les 4 premières lignes servent à régler le path vers les différents dossiers que vous avez crées. En théorie, la seule ligne que vous ayez à toucher est la première qui dépend de l’endroit ou vous voulez stocker les fichiers « mirrorés ».

La cinquième ligne indique quel est et où se situe le fichier servant à faire le ménage après une synchronisation de votre dépôts.

La sixième ligne donne l’architecture que vous souhaitez rapatrier par défaut. Cela peut être i386, amd64, …

La ligne suivante indique le nombre de threads simultanés qui vont télécharger les données. Plus il y en a, plus cela va vite mais plus votre ordinateur va voir sa charge CPU augmenter et plus votre connexion Internet va être sollicitée.

La ligne concernant « tilde » doit certainement servir à quelque chose mais à quoi ?

Enfin la/les ligne(s) commençant par deb indique ce que vous voulez rapatrier. Dans l’exemple donné, on va télécharger tout ce qui concerne les patchs de sécurité pour la distribution Debian etch pour l’architecture i386.

Pour ajouter d’autre dépôts, il suffit de les mettre à la suite. Ainsi, on aurait pu ajouter la ligne

deb http://debian.ens-cachan.fr/ftp/debian. lenny main non-free pour rapatrier en local les archives pour la distribution debian lenny incluant les paquets non libres

deb-amd64 http://debian.ens-cachan.fr/ftp/debian. lenny main non-free pour rapatrier en local les archives pour la distribution debian lenny incluant les paquets non libres pour l’architecture amd64 (et non i386)

Note: Ubuntu étant basé sur Debian, on peut creer des miroirs des dépôts Ubuntu de la même manière.

La dernière ligne sert à exécuter des scripts de nettoyage post-téléchargement présents sur les serveurs que l’on « pille ». Ceux-ci permettent de libérer de la place en supprimant fichiers et dossiers qui n’ont plus de raisons d’exister. On peut également placer la directive « skip-clean » mais je suis infichu de dire précisément à quoi elle sert.

Une fois ce fichier sauvegarder, on peut lancer la séquence de rapatriement de fichiers. Pour ce faire, tapez dans un terminal :

apt-mirror /path/vers/votre/fichier/de/conf

et voila ! L’ordinateur va explorer tout seul les dépôts et télécharger ce que vous lui avez demandez.

Attention : Il n’y a aucune barre de progression indiquant ou ça en est ce qui peut être déroutant. Un des moyens pour savoir si votre système est bien en train de travailler est d’utiliser la commande « top » et de contrôler que vous avez bien des processus « wget » en cours d’exécution.

Et après ?

Une fois que la synchronisation est faite (bravo, vous êtes patient !), vous êtes à la tête de quelques dizaines de Gigaoctets que vous aimeriez bien utiliser sur d’autres postes. Pour ce faire, il faut modifier le fichier sources.list de chaque ordinateur qui doivent utiliser votre dépôts local.

2 choix sont à présent possibles :

  1. l’accès aux fichiers peut se faire de manière local auquel cas les lignes dans le sources.list ressembleront à : « deb /mes/données/en/local main contrib »
  2. l’accès aux fichier se fait à travers votre réseau local auquel cas les lignes dans le sources.list ressembleront à : « deb http://adresse.local.de.lordinateur/local/ main contrib » ou à « deb http://adresse.local.de.lordinateur/local/ main contrib ». Il va sans dire qu’il est nécessaire d’avoir au préalable installer et configurer un serveur HTTP et/ou FTP qui puisse « servir » les données (ça ne sera pas détaillé ici car ce n’est pas l’objet de cet article).

Notes complémentaires :

  1. Pour mettre le dépôts local à jour, il suffit de réexécuter la même ligne de commande que celle qui permet de le synchroniser une première fois (apt-mirror fichier-de-conf).
  2. Si le serveur est mis à jour trop souvent, il se peut que les serveur le blacklit votre IP pour cause de flooding.
  3. Certains serveurs déconseillent la synchronisation des dépôts locaux à certaines heures car les serveur eux mêmes se mettent à jour. Ne pas suivre ces recommandations vous exposent à l’obtention d’un dépôt local inconsistent.
  4. Quand vous installez le paquet apt-mirror, une tâche cron est automatiquement créée dans /etc/cron.d/apt-mirror pour gerer la synchronisaiton quotidienne automatique de votre dépôt. A vous de l’activer si vous voulez utiliser cette tâche cron (désactivez par défaut et de la configurer pour qu’elle aille chercher le fichier de configuartion qui vous interesse.

[Debian] Installation d’une Debian

Blabla d’introduction

Cet article présente l’installation pas à pas d’une Debian (« Etch » à l’heure où nous parlons). L’installation de Debian n’a rien de dure mais peut être assez déroutante comparée aux installations de type Microsoft ou de distributions Linux grand public (Mandriva, Ubuntu, etc…).

Action

Dans un premier temps, il vous faut récupérer le(s) CD(s) d’installation de Debian sur le site officiel. il existe plusieurs possibilités d’installation:

  1. Télécharger tous les CDs ce qui vous affranchira de toute connexion Internet pendant l’installation. [Attention : il y a 21 CDs !]
  2. Télécharger un Cd d’installation minimale (« netinst ») qui contient le noyau Linux et quelques drivers. Le reste est téléchargé pendant l’installation.
  3. Télécharger un CD encore plus minimal (« businesscard ») qui contient juste de quoi démarrer l’ordinateur et activer la connexion Internet. Tous les paquets seront rapatriés par Internet pendant l’installation.

La solution 1 est évidemment la solution la plus sécurisée mais aussi la plus pénible. La solution 3 m’a déjà amené quelques soucis (paquets indisponibles ou mauvaise reconnaissance de mon matériel lors du boot sur le CD).

La solution 2 est celle que j’utilise régulièrement. C’est un bon compromis entre système à jour à la fin de l’installation et téléchargement d’un CD d’installation pas trop « gros ». D’expérience, à la fin d’une installation avec une « netinst », le seul paquet qui doit être mis à jour, c’est le noyau Linux lui-même.

Nous allons donc partir sur une installation de type « netinst » pour faire notre installation.

Commencez par télécharger le dernier fichier netinst disponible et gravez le sur un CD.

Bootez sur le CD précédemment gravé, vous devriez arriver à l’écran ci dessous (pour peu que votre BIOS soit configuré pour booter sur le CD-ROM) :

A moins d’une configuration particulière, il est inutile de charger des options au boot. Vous pouvez donc appuyer sur « Entrée ».

Après quelques pages de blabla linuxiens, vous devez choisir votre langue. Faîtes votre choix et appuyez sur « Entrée ».

De même pour le pays et le clavier (de manière générale, lorsque vous avez fait un choix correct pour la langue, les options suivantes sont correctement paramétrées).

Laissez votre ordinateur s’exciter un peu et attendez qu’on vous demande le nom de la machine. Ce nom est celui qui sera utilisé pour identifier l’ordinateur. Il peut être changé par la suite et n’a pas d’influence sur la configuration générale. Cependant, lui donner un nom « parlant » peut avoir l’avantage de l’identifier rapidement lorsqu’il vous envoi un message (notamment un mail).

La question suivante concerne le domaine. La plupart du temps, vous pouvez laisser ce champ vide car vous ne possédez pas de domaine. Cela dit, si vous en possédez un (dans mon exemple je possède le nom de domaine boulaire.com), vous pouvez le placer ici.

Exemple: Dans mon cas, je pourrai nommer l’ordinateur « serverperso » et mettre le domaine boulaire.com ce qui donnerait « serveurperso.boulaire.com comme « nom complet de machine » (ou FQDN en Anglais (Fully Qualified Domain Name)).

La prochaine étape va concerner le partitionnement du disque dur.

Note : Un article plus complet sur le partitionnement sous Linux devrait être écrit…un jour….

Deux types de partitionnement sont disponibles : « Assisté » et « Manuel ». Une précision inutile : Il est nécessaire que vous sachiez ce que vous faîtes avant de vous engager dans le partitionnement manuel sinon vous n’allez pas comprendre grand chose !

Concernant le partitionnement « Assisté », Vous pouvez utiliser un disque entier sans LVM, avec LVM ou avec un LVM chiffré. LVM (Logical Volume Manager) à l’avantage de permettre le redimensionnement très facile d’une ou plusieurs partitions et peut-être considéré comme un bon choix. De plus, il y a la possibilité de faire des « snapshots » (sauvegarde instantané de la partition) à chaud ce qui est un avantage non négligeable dans le cas d’un serveur. Le LVM chiffré est la même chose que le LVM avec en plus la capacité de rendre illisible les données si on ne possède pas le mot de passe root. Le cryptage se fait à la volée (« on the fly ») et est complètement transparent pour l’utilisateur (les accès au disque seront néanmoins moins rapide à cause de la phase de chiffrement/déchiffrement). Il faut cependant se méfier car la couche de cryptage crée un lien intrinsèque entre le disque dur et le système Linux ce qui ne permet pas de changer facilement le disque dur d’unité centrale. Cependant, cela reste un très bon choix sur un ordinateur portable qui comporte des données critiques.

Le partitionnement sans utiliser LVM est un choix classique qui à l’avantage d’être le mode de partitionnement le plus documenté sur Internet et donc celui sur lequel on est susceptible de trouver le plus de littérature en cas de problème.

Quel que soit le choix que vous effectuerez (en considérant que le choix fait n’est pas « Manuel »), le programme d’installation vous demandera de confirmer quel disque il utilise puis vous proposera ses différents « Schémas de partitionnement » :

Le premier choix proposé correspond à la création d’une seule partition dans laquelle prendra place l’ensemble du système (c’est ce que fait Windows par défaut).

Le second choix consiste à avoir l’ensemble du système sur une partition et tous vos fichiers personnels sur une autre partition (comme si sur Windows votre dossier « Mes Documents » était sur une partition à part).

Le troisième choix, un peu plus complexe que les précédents, consiste à séparer la partition contenant vos données personnelles (/home), la partition contenant les fichiers temporaires ne survivant pas au redémarrage de l’ordinateur (/tmp), la partition contenant les programmes que les utilisateurs installent (/usr) et la partition contenant les données variables (/var qui contient les logs, les bases de données, le cache,.. ) sur des partitions différentes.

A mon sens, cela dépend de ce que vous voulez faire mais, à priori, les choix 1 et 2 ne sont pas trop mal dans le cadre d’un poste domestique. Le choix 3 s’inscrit plus dans la topologie d’un serveur.

Note: les partitions peuvent être changées après (bien que ça ne soit plus forcément aussi facile).

Une confirmation d’écriture sur le disque dur va vous être demandé (déplacer le curseur sur « Oui » et appuyez sur « Entrée ».

Par la suite, un récapitulatif des changements que vous vous apprêtez à faire sur votre disque dur va se présenter. Si tout vous satisfait, validez la ligne « Terminer le partitionnement et appliquer les changements » puis déplacer le curseur sur « Oui » et revalidez sur « Entrée ».

La phase d’après consiste à vous demander votre mot de passe root (ou mot de passe superutilisateur). Je ne ferai aucun commentaire sur le fait de bien choisir ce mot de passe, que la bonne santé du poste dépend en partie de lui et blablabla…

On vous demande de le confirmer et, dans la foulée, vous allez créer un compte utilisateur « standard ». En effet, sous tous les Linux (et Debian ne fait pas exception à la règle), vous êtes censé être identifié la plupart du temps en tant qu’utilisateur standard et non en tant que root. C’est cet utilisateur standard que vous allez maintenant créer :

première info : votre nom complet….facile !

seconde info : le nom avec lequel vous allez vous identifier (votre login en fait). Il est recommandé de ne pas mettre un truc à rallonge si vous ne voulez pas maudir votre ordinateur à chaque fois que vous devez vous identifier.

troisième (et dernière) info : votre mot de passe (l’écran suivant vous demandera de le confirmer).

Après toutes ces étapes, vous avez le droit de vous reposer (pas longtemps)…et de configurer le miroir de téléchargement des paquets (rappelez vous, l’installation va aller télécharger des choses toute seule sur Internet). A la question « Faut il utiliser un miroir sur le réseau », répondez « oui ». Choisissez votre pays et un des sites proposés (choisir le bon pays permet de télécharger plus vite). La question concernant le proxy ne vous regarde à priori pas (sauf si vous êtes en entreprise mais à ce moment là, vous êtes censé savoir ce que vous faites).

Un dernier soupçon de courage vous permet de répondre aux dernières questions : le choix de la participation ou non à l’étude statistique sur l’utilisation des paquets est un choix que vous devriez pouvoir faire seul ;) et le choix des logiciels à installer aussi (de mon coté, je n’installe rien sauf « Système standard » et je rajoute après ce qui m’intéresse grâce à la commande « apt-get »).

Et voila, vous pouvez à présent regarder votre ordinateur télécharger et configurer tout seul les paquets dont il a besoin.

Allez le dernier effort (le vrai cette fois !), on va vous poser quelques questions sur grub (gestionnaire de démarrage qui va vous permette de démarrer votre OS). Classiquement, Debian est le seul système d’exploitation sur l’ordinateur (pas de multiboot) ce qui vous permet de répondre « oui » à la question « Installer le programme de démarrage GRUB sur le secteur d’amorçage ».

Comme par magie, votre lecteur de CD s’ouvre pour vous permettre de retirer le CD. Un dernier appui sur « Entrée », l’ordinateur redémarre et…c’est fini !

[Debian] upgrader une installation de Etch à Lenny

Blabla d’introduction

Cet article a pour objet l’explication (rapide) pour upgrader une installation de Etch à Lenny.

Note: La Debian « Etch » est la version stable actuelle. La version « Lenny » est la version « testing ». Cela dit, comme on est proche du passage de la « Lenny » en stable, on ne prend pas trop de risques à installer un serveur sur une « Lenny » plutot que sur une « Etch ».

Prérequis : Avoir un installation de Debian fonctionnelle en « Etch ».

Précision : L’upgrade que je vais montré ici a été réalisé sur une installation fraîche (non customisée). Il se peut que le passage d’une version de Debian à une autre casse certaines fonctionnalités qui existaient (c’est ce qui s’était passé sur mon serveur lors du passage de « Sarge » à « Etch »).

Action !

Il est nécessaire plus sain d’avoir une installation à jour. Pour s’en assurer la simple commande

apt-get update;apt-get upgrade

devrait suffire

.

Ensuite il faut éditer le fichier /etc/apt/sources.list et changer les occurrences de « etch » en « lenny ».

1. Éditer le fichier

vim /etc/apt/source.list

1.1 Exemple de contenu du fichier:

# deb cdrom:[Debian GNU/Linux 4.0 r4a _Etch_ - Official i386 NETINST Binary-1 20080804-15:10]/ etch contrib main

deb http://mir1.ovh.net/debian/etch main
deb-src http://mir1.ovh.net/debian/etch main

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

2. Remplacer les occurrences de « etch » par « lenny » avec la commande

:%s/etch/lenny/g

2.2 Fichier après modifications:

# deb cdrom:[Debian GNU/Linux 4.0 r4a _Etch_ - Official i386 NETINST Binary-1 20080804-15:10]/ lenny contrib main

deb http://mir1.ovh.net/debian/lenny main
deb-src http://mir1.ovh.net/debian/lenny main

deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib

3. On enregistre le fichier et on quitte vim

:wq

4. Maintenant il faut faire une mise à jour

apt-get update;apt-get dist-upgrade

Exemple d’un affichage produit par cette commande :

On appuie sur la touche entrée et c’est parti !

Il se peut que le système vous pose des questions (codage du clavier, services à redémarrer,…), et, en règle générale, si vous avez correctement configuré votre installation de Debian etch, il ne vous est pas nécessaire de changer ce que le système propose par défaut (en gros cela veut dire que vous pouvez vous contenter d’appuyer sur la touche « entrée » à chaque question posée).

Cependant, si vous avez un peu d’expérience, je ne saurai que trop vous conseiller de vérifier ce que le système vous raconte et les choix que vous faites.

Une fois que le système a fini, vous voilà avec un système à jour en Debian « Lenny » (Ii faudra peut être redémarrer si un nouveau noyau a été installé).

Thèmes WordPress - WordPress tuto