6 votes

Comment faire cohabiter des commandes dans un fichier debian preseed ?

J'aimerais savoir s'il est possible de regrouper des commandes dans un fichier de présélection.

Quelque chose comme :

d-i preseed/late_command string yes N | apt-get install package -y

(Je suis conscient qu'il s'agit d'un mauvais exemple. Je voulais juste savoir si/comment cela fonctionnerait).

14voto

aseq Points 4490

Je le fais à la dernière étape, voici quelques exemples pour vous donner une idée :

d-i preseed/late_command string \
cd /target/etc/apt/; \
wget http://repo.example.com/sources_new.list; \
mv sources_new.list sources.list; \
echo 'Acquire::http::Proxy "http://proxy.example.org";' >> apt.conf; \
ls . > temp; \
cat temp | grep -cq string; \
cd /; \
in-target apt-get update; \
in-target apt-get -y upgrade; \
in-target apt-get -y dist-upgrade; \
in-target tasksel install desktop; \
in-target apt-get -y install sudo \
less \
ssh \
icedove \
lynx \
xscreensaver;

Le système de fichiers cible est donc situé par défaut dans /target et vous pouvez vous y déplacer, copier et supprimer des fichiers, les éditer et si vous voulez exécuter une commande dans le système de fichiers cible, vous devez utiliser "in-target" avant la commande.

Pour plus de documentation, voir : http://d-i.alioth.debian.org/manual/en.amd64/apbs05.html#preseed-hooks

5voto

Vous pouvez transmettre les commandes via /bin/sh . Cela vous permet d'utiliser des tuyaux. Exemple :

in-target /bin/sh -c -- 'blkid /dev/sda1 | xargs -n1 | grep "^UUID=" >/tmp/uuid-sda1.txt'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X