|
| Vedligeholde flere ens Debianmaskiner Fra : Jacob Bunk Nielsen |
Dato : 10-11-04 13:18 |
|
Hej
Jeg skal til at have en flok maskiner til at køre Debian stable.
Jeg vil gerne have mulighed for at vedligeholde pakker på en let
måde. Altså noget med at jeg installerer en pakke på en af maskinerne,
og lidt senere findes pakken så også på de andre maskiner. Hvordan
gøres det lettest? Findes der ikke værktøjer til at automatisere den
proces?
Er der nogle tips til hvordan jeg let installerer maskinerne så de er
så godt som ens bortset fra IP-adresse og hostnavn? Det er ens
hardware, og lige i første omgang er det 5 maskiner.
--
Jacob
| |
Michael Rasmussen (10-11-2004)
| Kommentar Fra : Michael Rasmussen |
Dato : 10-11-04 13:31 |
|
On Wed, 10 Nov 2004 13:18:02 +0100, Jacob Bunk Nielsen wrote:
>
> Er der nogle tips til hvordan jeg let installerer maskinerne så de er så
> godt som ens bortset fra IP-adresse og hostnavn? Det er ens hardware, og
> lige i første omgang er det 5 maskiner.
1) Installer en maskine som du vil have den; altså pakker
2) dpkg --get-selections > image.dpkg
3) Installer kun basesystemet på de øvrige. Dvs. når du når til
punktet, hvor du skal vælge pakker, undlader du at sætte flueben nogen
steder. Husk at have identisk sources.list
4) dpkg --set-selections < image.dpkg
5) dselect update && dselect install
Du har du en identisk maskine
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Jacob Bunk Nielsen (10-11-2004)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 10-11-04 16:38 |
|
Michael Rasmussen <mir@miras.org> writes:
> On Wed, 10 Nov 2004 13:18:02 +0100, Jacob Bunk Nielsen wrote:
>
>> Er der nogle tips til hvordan jeg let installerer maskinerne så de er så
>> godt som ens bortset fra IP-adresse og hostnavn? Det er ens hardware, og
>> lige i første omgang er det 5 maskiner.
> 1) Installer en maskine som du vil have den; altså pakker
> 2) dpkg --get-selections > image.dpkg
> 3) Installer kun basesystemet på de øvrige. Dvs. når du når til
> punktet, hvor du skal vælge pakker, undlader du at sætte flueben nogen
> steder. Husk at have identisk sources.list
> 4) dpkg --set-selections < image.dpkg
> 5) dselect update && dselect install
Glimrende, tak!
Hvordan gør jeg så efterfølgende når jeg installerer flere pakker
fordi jeg alligevel har glemt halvdelen af dem jeg skal bruge? Skal
jeg så til at lave noget lignende igen, eller findes der en
"distribueret apt-get"?
--
Jacob
| |
Thomas Rasmussen (10-11-2004)
| Kommentar Fra : Thomas Rasmussen |
Dato : 10-11-04 16:47 |
|
On Wed, 10 Nov 2004 16:38:21 +0100, Jacob Bunk Nielsen wrote:
> Glimrende, tak!
>
> Hvordan gør jeg så efterfølgende når jeg installerer flere pakker
> fordi jeg alligevel har glemt halvdelen af dem jeg skal bruge? Skal
> jeg så til at lave noget lignende igen, eller findes der en
> "distribueret apt-get"?
Muligvis er det overkill, og kræver lidt af dig men:
Installere fx. cfengine (er en debian pakke) med een af dine maskiner som
'master' og de andre som slaver.
Derefter lave følgende på 'master':
dpkg --get-selections > en-fil
få cfengine til at distribuere filen rundt til alle slaver, og få dem
til at køre:
apt-get update && dpkg --set-selections < en-fil && apt-get install
Jeg prøvede lige at kigge lidt, og i testing/unstable er der en pakke der
hedder pkgsync som vist gør dette for dig:
citat: http://packages.debian.org/testing/admin/pkgsync
pkgsync is a tool for keeping multiple machines reasonably similar and
clean. Packages can either be in a `must be installed', `may be installed'
or `must not be installed' list (which is presumed to be distributed
separately using a tool such as rdist or cfengine). pkgsync will take care
of meeting the demands put down in the lists, and then removing everything
that is not in the `must' or `may' list and is not necessary for their
operations (as determined by aptitude).
Nu ved jeg godt at du sagde stable, men derfor kan du jo godt blive
inspireret af en enkelt pakke. den afhænger af aptitude samt
cfengine/rdist så det er sikkert noget der gør det samme som jeg beskrev
ovenfor.
/Thomas
| |
Thorbjoern Ravn Ande~ (10-11-2004)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 10-11-04 20:07 |
|
Jacob Bunk Nielsen <spam@bunk.cc> writes:
> Hvordan gør jeg så efterfølgende når jeg installerer flere pakker
> fordi jeg alligevel har glemt halvdelen af dem jeg skal bruge? Skal
> jeg så til at lave noget lignende igen, eller findes der en
> "distribueret apt-get"?
Du kan jo ssh'e ud på maskinerne og køre "apt-get" der.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus
| |
Michael Rasmussen (10-11-2004)
| Kommentar Fra : Michael Rasmussen |
Dato : 10-11-04 23:57 |
|
On Wed, 10 Nov 2004 16:38:21 +0100, Jacob Bunk Nielsen wrote:
>
> Glimrende, tak!
>
> Hvordan gør jeg så efterfølgende når jeg installerer flere pakker
> fordi jeg alligevel har glemt halvdelen af dem jeg skal bruge? Skal jeg
> så til at lave noget lignende igen, eller findes der en "distribueret
> apt-get"?
Nu har jeg set, du har fået forslag til en masse forkromede løsninger,
men man kunne også forstille sig følgende håndværkerløsning:
1) En maskine udnævnes til master, og hver nat kl. 03:00 udføres dpkg
--get-selections > /sti/til/nfs/share/dpkg.image
2) Øvrige maskiner udnævnes til slaver, og hver nat kl. 03:30 udføres
dpkg --set-selections < /sti/til/nfs/share/dpkg.image
3) Med 15 minutters intervaller fra kl 04:00 køres dselect update &&
dselect install på alle slaver.
For at sikre den størst mulige konsistens bør alle benytte samme mirror.
Ovenstående mener jeg, er den enkleste løsning, men kun så længe,
behovet ikke er større end nu.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Jacob Bunk Nielsen (10-11-2004)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 10-11-04 17:27 |
|
Thomas Rasmussen <thomas@p7.dk.invalid> writes:
> On Wed, 10 Nov 2004 16:38:21 +0100, Jacob Bunk Nielsen wrote:
>
>> Hvordan gør jeg så efterfølgende når jeg installerer flere pakker
>> fordi jeg alligevel har glemt halvdelen af dem jeg skal bruge? Skal
>> jeg så til at lave noget lignende igen, eller findes der en
>> "distribueret apt-get"?
>
> Muligvis er det overkill, og kræver lidt af dig men:
>
> Installere fx. cfengine (er en debian pakke) med een af dine maskiner som
> 'master' og de andre som slaver.
Tak for tippet. cfengine ser fikst ud omend jeg ikke kan li'
'apt-cache show cfengine', som siger:
,----[ fra apt-cache show cfengine ]
| It takes a while to set up cfengine for a network (especially an
| already existing network), but once that is done you will wonder
| how you ever lived without it!
`----
Jeg undersøger lige hvad "a while" dækker over
--
Jacob
| |
Thorbjoern Ravn Ande~ (10-11-2004)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 10-11-04 14:05 |
|
Jacob Bunk Nielsen <spam@bunk.cc> writes:
> Er der nogle tips til hvordan jeg let installerer maskinerne så de er
> så godt som ens bortset fra IP-adresse og hostnavn? Det er ens
IP-adresse og hostnavn sættes nemt med DHCP. Er det en mulighed?
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus
| |
Jacob Bunk Nielsen (10-11-2004)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 10-11-04 16:36 |
|
Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
> Jacob Bunk Nielsen <spam@bunk.cc> writes:
>
>> Er der nogle tips til hvordan jeg let installerer maskinerne så de er
>> så godt som ens bortset fra IP-adresse og hostnavn? Det er ens
>
> IP-adresse og hostnavn sættes nemt med DHCP. Er det en mulighed?
Da det kun er 5 maskiner vil jeg gerne slippe for at ulejlige vores
Windows-mand med at rette i konfigurationen på hans DHCP-server. Jeg
kan fint leve med at jeg lige skal indtaste IP-adresserne manuelt.
Men ellers tak for tippet - det vil jeg bruge, hvis vores maskinpark
vokser voldsomt
--
Jacob
| |
Thorbjoern Ravn Ande~ (10-11-2004)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 10-11-04 20:07 |
|
Jacob Bunk Nielsen <spam@bunk.cc> writes:
> Da det kun er 5 maskiner vil jeg gerne slippe for at ulejlige vores
> Windows-mand med at rette i konfigurationen på hans DHCP-server. Jeg
> kan fint leve med at jeg lige skal indtaste IP-adresserne manuelt.
De fleste DHCP-installationer tilbyder da flydende IP-numre - det
plejer at være trivielt at bede om at få dem frosset til et givent
IP-nummer.
Men sådan er der så meget :)
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus
| |
Claus Alboege (10-11-2004)
| Kommentar Fra : Claus Alboege |
Dato : 10-11-04 17:20 |
|
Jacob Bunk Nielsen <spam@bunk.cc> writes:
> Hej
>
> Jeg skal til at have en flok maskiner til at køre Debian stable.
>
> Jeg vil gerne have mulighed for at vedligeholde pakker på en let
> måde. Altså noget med at jeg installerer en pakke på en af maskinerne,
> og lidt senere findes pakken så også på de andre maskiner. Hvordan
> gøres det lettest? Findes der ikke værktøjer til at automatisere den
> proces?
>
> Er der nogle tips til hvordan jeg let installerer maskinerne så de er
> så godt som ens bortset fra IP-adresse og hostnavn? Det er ens
> hardware, og lige i første omgang er det 5 maskiner.
Jeg har haft god fornøjelse af udpcast¹ til selve grundinstallationen -
spørgsmålet er blot om det er overkill når det kun drejer sig om 5
maskiner. Alternativt kunne du måske anvende mondorescue², der kan lave
et iso af din første maskine, som du så benytter til at klone de
resterende 4.
Til synkronisering er der som nævnt "dpkg --get-selections" / "dpkg
--set-selections". Der er også pkgsync³, som nok er mere velegnet (den
er pt kun i testing/unstable - men ser umiddelbart ikke ud til specifikt
at depende på andre pakker fra testing).
Sidst men ikke mindst er der jo cfengine - det tager lidt tid at sætte
op, men når det først spiller, så... :)
¹) http://udpcast.linux.lu/
²) http://www.mondorescue.org/ (Pt lukket!)
³) http://packages.debian.org/testing/admin/pkgsync
/Claus A
| |
Jacob Bunk Nielsen (10-11-2004)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 10-11-04 20:25 |
|
Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
> Jacob Bunk Nielsen <spam@bunk.cc> writes:
>
>> Hvordan gør jeg så efterfølgende når jeg installerer flere pakker
>> fordi jeg alligevel har glemt halvdelen af dem jeg skal bruge? Skal
>> jeg så til at lave noget lignende igen, eller findes der en
>> "distribueret apt-get"?
>
> Du kan jo ssh'e ud på maskinerne og køre "apt-get" der.
Ja, det er jeg klar over, men det glemmer jeg - i hvert hvis jeg skal
gøre det manuelt. Så skal jeg i hvert fald have lavet en eller anden
form for indpakning der sørger for at det sker automatisk på alle
maskinerne. Noget i retning af:
MASKINER="maskine1 maskine2 maskine3 ..."
for m in ${MASKINER}; do
ssh $@
done
.... med fare for at jeg ikke kan huske min BASH-syntaks
Men så går det galt når min kollega glemmer at bruge min script :-\
--
Jacob - www.bunk.cc
Needs are a function of what other people have.
| |
Jacob Bunk Nielsen (10-11-2004)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 10-11-04 20:30 |
|
Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
> Jacob Bunk Nielsen <spam@bunk.cc> writes:
>
>> Da det kun er 5 maskiner vil jeg gerne slippe for at ulejlige vores
>> Windows-mand med at rette i konfigurationen på hans DHCP-server. Jeg
>> kan fint leve med at jeg lige skal indtaste IP-adresserne manuelt.
>
> De fleste DHCP-installationer tilbyder da flydende IP-numre - det
> plejer at være trivielt at bede om at få dem frosset til et givent
> IP-nummer.
Tjo, men jeg skal alligevel rette lidt konfiguration på maskinerne
såsom at oprette et par brugere (kopiere /etc/passwd og /etc/shadow
fra den første af maskinerne), opsætte mountning af NFS-shares
(kopiere /etc/fstab) og sikkert også et par andre ting, så det er ikke
noget stort problem lige at taste en IP-adresse ind.
Min hovedbekymring er at holde maskinerne nogenlunde synkroniserede
hvad pakker angår.
--
Jacob - www.bunk.cc
If you can't understand it, it is intuitively obvious.
| |
Jacob Bunk Nielsen (10-11-2004)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 10-11-04 20:34 |
|
Claus Alboege <csa@csa-net.dk> writes:
> Jeg har haft god fornøjelse af udpcast¹ til selve grundinstallationen -
> spørgsmålet er blot om det er overkill når det kun drejer sig om 5
> maskiner. Alternativt kunne du måske anvende mondorescue², der kan lave
> et iso af din første maskine, som du så benytter til at klone de
> resterende 4.
Mondorescue lyder smart, men hjælper desværre ikke meget, hvis det er
lukket :-\
Tak for tippet med pkgsync, også til Thomas, det tror jeg måske godt
at jeg kan bruge til noget.
--
Jacob - www.bunk.cc
People who make no mistakes do not usually make anything.
| |
ST (10-11-2004)
| Kommentar Fra : ST |
Dato : 10-11-04 23:07 |
|
On Wed, 10 Nov 2004 13:18:02 +0100, Jacob Bunk Nielsen wrote:
> Hej
>
> Jeg skal til at have en flok maskiner til at køre Debian stable.
>
> Jeg vil gerne have mulighed for at vedligeholde pakker på en let
> måde. Altså noget med at jeg installerer en pakke på en af maskinerne,
> og lidt senere findes pakken så også på de andre maskiner. Hvordan
> gøres det lettest? Findes der ikke værktøjer til at automatisere den
> proces?
>
> Er der nogle tips til hvordan jeg let installerer maskinerne så de er
> så godt som ens bortset fra IP-adresse og hostnavn? Det er ens
> hardware, og lige i første omgang er det 5 maskiner.
Jeg har selv lavet et script der kan sammeligne pakker på flere maskiner,
se http://swampthing.dk/local_compare_systems.php.
Det burde være nemt at udvide den til at omfatte 5 maskiner istedet for 2.
Mvh
Torben
| |
|
|