Server-Update via SSH

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
justolder
Beiträge: 7
Registriert: 09.03.2010 10:33:10

Server-Update via SSH

Beitrag von justolder » 09.03.2010 10:53:14

Hallo,

ich habe ein kleines Problem. Ich bin in der Linux-Welt noch vollkommen neu und unerfahren und habe nun die Aufgabe, mehrere Debian-Workstations an unterschiedlichen Standorten mittels Remote-Upgrade zu aktualisieren. Dies soll nicht grafisch, sondern über Kommandozeile ablaufen. Am besten wäre es natürlich, ein Skript dazu zu schreiben.
Kann mir jemand helfen, wie dies am besten anzugehen ist? Wie gesagt, bin in dem Feld recht unerfahren.

Schon im Vorraus vielen Dank!

rbv
Beiträge: 20
Registriert: 08.03.2010 21:46:44

Re: Server-Update via SSH

Beitrag von rbv » 09.03.2010 11:17:23

Mein Weg wäre: Login über ssh, screen starten und darin das Update machen.

Die Beschreibung von clusterssh hört sich so an als ob das evtl was für Dich sei.

Benutzeravatar
feltel
Webmaster
Beiträge: 10458
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Re: Server-Update via SSH

Beitrag von feltel » 09.03.2010 11:19:32

Debianapt-dater wäre auch ein nützliches Hilfsmittel.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Server-Update via SSH

Beitrag von rendegast » 09.03.2010 11:51:53

Code: Alles auswählen

ssh .... maschine
su -
(/etc/apt/souces.list /etc/apt/sources.d/*.list kontrollieren)
[aptitude|apt-get] update
[aptitude|apt-get] upgrade
Eventuell eine Automatik (ZBsp. Skript /etc/cron.daily/apt oder Paket cron-apt)

Eventuell einen Paket-Proxy wie apt-cacher-ng.

Eventuell eine zentrale Administrationslösung wie cfengine.
http://packages.debian.org/search?keywords=cfengine
oder ala clusterssh auch parallel ssh:
http://www.linux-magazin.de/Heft-Abo/Au ... a-so-viele
weitere:

Code: Alles auswählen

$ apt-cache search ssh | grep cluster
clusterssh - administer multiple ssh or rsh shells simultaneously
kanif - cluster management and administration swiss army knife

$ apt-cache search ssh | grep parallel
dish - the diligence/distributed shell for parallel sysadmin
taktuk - efficient, large scale, parallel remote execution of commands
Ich bin in der Linux-Welt noch vollkommen neu und unerfahren und habe nun die Aufgabe, mehrere Debian-Workstations an unterschiedlichen Standorten mittels Remote-Upgrade zu aktualisieren.
So einen Arbeitgeber wünscht/verflucht mensch doch?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

justolder
Beiträge: 7
Registriert: 09.03.2010 10:33:10

Re: Server-Update via SSH

Beitrag von justolder » 17.03.2010 12:19:28

Danke für die zahlreichen Antworten!

Soweit erscheint es mir auch logisch, mit ClusterSSH oder ähnlichem auf alle Maschinen quasi parallel zuzugreifen. Bei mir als Anfänger hadert es jedoch noch bei der Umsetzung. Kann mir jemand dabei weiterhelfen? Und muss ich die Updates dann zuerst auf die einzelnen Server übertragen oder braucht man das dann nicht?

Über Hilfe würde ich mich sehr freuen!

Viele Grüße
Chris

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Server-Update via SSH

Beitrag von mistersixt » 17.03.2010 12:29:41

Du kannst Dich per clusterssh parallel auf mehreren Computern anmelden, und Befehle werden 1-zu-1 auf alle Maschinen identisch ausgeführt. Aber genau das würde ich eher nicht machen, denn wenn beispielsweise aptitude/apt-get auf manchen Rechnern während des dist-upgrades Rückfragen an Dich haben, andere Rechner jedoch durchlaufen, was machst Du dann?

Ich würde lieber ssh-Sessions zu jedem Rechner einzeln aufmachen und dann händisch, aber parallel, die Upgrades durchführen.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

justolder
Beiträge: 7
Registriert: 09.03.2010 10:33:10

Re: Server-Update via SSH

Beitrag von justolder » 17.03.2010 12:39:00

Ok, soweit verständlich.
Kannst du mir sagen, wie ich Upgrades auf die einzelnen Rechner übertragen kann? Die sind nicht mit dem Internet verbunden, sondern in einem privaten Netz

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Server-Update via SSH

Beitrag von Lord_Carlos » 17.03.2010 13:18:46

justolder hat geschrieben:Ok, soweit verständlich.
Kannst du mir sagen, wie ich Upgrades auf die einzelnen Rechner übertragen kann? Die sind nicht mit dem Internet verbunden, sondern in einem privaten Netz
Uff, ich glaube das ist nicht so einfach.
Gibt es keine moeglichkeit die mit dem Internet zu verbinden?

Eine loesung waere es in dem Privaten Netzwerk einen eigenen Debian Archiv Mirror zu betreiben und den zwischendurch mal ans internet anzuschließen.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

justolder
Beiträge: 7
Registriert: 09.03.2010 10:33:10

Re: Server-Update via SSH

Beitrag von justolder » 17.03.2010 13:29:34

Lord_Carlos hat geschrieben:
justolder hat geschrieben:Ok, soweit verständlich.
Kannst du mir sagen, wie ich Upgrades auf die einzelnen Rechner übertragen kann? Die sind nicht mit dem Internet verbunden, sondern in einem privaten Netz
Uff, ich glaube das ist nicht so einfach.
Gibt es keine moeglichkeit die mit dem Internet zu verbinden?

Eine loesung waere es in dem Privaten Netzwerk einen eigenen Debian Archiv Mirror zu betreiben und den zwischendurch mal ans internet anzuschließen.
Leider nein, keine direkte Verbindung mit dem Internet möglich. Auch die Geschichte mit dem Mirror ist leider nicht erwünscht.
Es sollte eine Möglichkeit sein, die Pakete direkt von einer Workstation aus auf die Server einzuspielen...

suno
Beiträge: 354
Registriert: 25.07.2008 17:33:40

Re: Server-Update via SSH

Beitrag von suno » 17.03.2010 13:47:06

mistersixt hat geschrieben:Du kannst Dich per clusterssh parallel auf mehreren Computern anmelden, und Befehle werden 1-zu-1 auf alle Maschinen identisch ausgeführt. Aber genau das würde ich eher nicht machen, denn wenn beispielsweise aptitude/apt-get auf manchen Rechnern während des dist-upgrades Rückfragen an Dich haben, andere Rechner jedoch durchlaufen, was machst Du dann?
Du klickst in das jeweilige window und kuemmerst dich darum? :D
http://sunoano.name/ws/public_xhtml/ssh.html#clusterssh
Ich würde lieber ssh-Sessions zu jedem Rechner einzeln aufmachen und dann händisch, aber parallel, die Upgrades durchführen.
Ich weiss schon was du meinst aber genau das macht clusterssh im Grunde fuer uns; die upgrades die nicht einfach durchlaufen kann man dann selektieren und dann damit arbeiten.

Im Grunde ist beides moeglich, mit clusterssh habe ich halt die Maschinen die durchlaufen alle gleich mal weg und musste nur einmal aptitude update && aptitude full-upgrade eingeben. Den Rest, sagen wir von 10 bleiben 3 haengen, macht man dann halt fertig indem man nur die windows selektiert.
Zuletzt geändert von suno am 17.03.2010 13:54:36, insgesamt 1-mal geändert.

suno
Beiträge: 354
Registriert: 25.07.2008 17:33:40

Re: Server-Update via SSH

Beitrag von suno » 17.03.2010 13:49:20

justolder hat geschrieben: Leider nein, keine direkte Verbindung mit dem Internet möglich.
Und wie willst du dann remote auf die Maschine kommen?

/me entweder verwirrt oder total bereit neues-krasses-physik-zeug zu lernen

justolder
Beiträge: 7
Registriert: 09.03.2010 10:33:10

Re: Server-Update via SSH

Beitrag von justolder » 17.03.2010 15:28:32

Also die Workstations, über die auf die Server zugegriffen wird, haben Internetzugang.
Ich habe mir das dann so vorgestellt, dass ich die Pakete auf diese Workstations downloade und die dann an die Server mittels eines Skriptes verteile. Ist das nicht möglich?

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Server-Update via SSH

Beitrag von novalix » 17.03.2010 17:49:59

Hi,
bei der Infrastruktur, die Du beschreibst kann ich nur sagen: Doch, Ihr wollt einen Mirror.

1. Googlesuche nach "lokaler apt mirror"
2. mindestens die ersten beiden Einträge lesen
3. feststellen "Ja, wir wollen Debianapt-mirror"

Groetjes, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

jhr-online
Beiträge: 2186
Registriert: 18.09.2005 15:52:02
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Server-Update via SSH

Beitrag von jhr-online » 17.03.2010 18:47:19

mistersixt hat geschrieben:Ich würde lieber ssh-Sessions zu jedem Rechner einzeln aufmachen und dann händisch, aber parallel, die Upgrades durchführen.
Nicht so bescheiden... eigentlich würdest du doch lieber hinfahren! :-P

jhr

*SCNR*
/me shuts up
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Server-Update via SSH

Beitrag von mistersixt » 18.03.2010 07:37:37

jhr-online hat geschrieben:
mistersixt hat geschrieben:Ich würde lieber ssh-Sessions zu jedem Rechner einzeln aufmachen und dann händisch, aber parallel, die Upgrades durchführen.
Nicht so bescheiden... eigentlich würdest du doch lieber hinfahren! :-P
Wenn die Rechner auf den Bahamas, in Australien und den Cayman Islands stünden.... yupp :D !!!
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

justolder
Beiträge: 7
Registriert: 09.03.2010 10:33:10

Re: Server-Update via SSH

Beitrag von justolder » 18.03.2010 13:35:27

Hi,

also ich hab das jetzt nochmal final mit den Verantwortlichen abgeklärt.

Die Update-Pakete sollen auf Windows-Workstations heruntergeladen werden, um danach per sftp auf die Server verschoben werden. Dort soll dann das Update manuell angestossen werden.

Ist dies praktisch umsetzbar?

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Server-Update via SSH

Beitrag von ThorstenS » 18.03.2010 14:13:44

justolder hat geschrieben:Ist dies praktisch umsetzbar?
Mir ist kein tool bekannt, dem du eine Paketliste mit Versionen vorwirfst und welche dir dann die aktuellen Pakete inkl. Downloadlink ausspuckt. Du musst also ein wenig mehr Arbeit investieren.

Ich gehe davon aus, dass es etch Maschinen sind und du sollst diese auf lenny bringen richtig?
Die Maschinen sind alle _exakt gleich_, richtig?

Dann wäre mein Vorgehen wie folgt:
1.) Herausbekommen welche Pakete du für das Upgrade überhaupt benötigst.
2.) Diese Pakete herunterladen.
3.) Mit ein klein wenig Magie ein lokales Repository erzeugen
4.) Dieses repository per scp/sftp oder CD/DVD auf die Maschinen bringen
5.) Die Paket einspielen.

Um das zu bewerkstelligen, benötigst du eine Maschine, die exakt die gleichen Pakete in der gleichen Version installiert hat.
Mit dieser Maschine musst du das Upgrade erstmal testen. Alles andere ist unproffessionell.

ad1)
Schliess die Maschine ans Internet an, ändere in der /etc/apt/sources.list alle Einträge mit etch in lenny um.
Der Dateiinhalt könnte dann so aussehen:

Code: Alles auswählen

deb http://ftp.de.debian.org/debian/ lenny main contrib non-free
# deb-src http://ftp.de.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
Jetzt führ ein aptitude update aus.


ad2) Jetzt installiere die ersten Upgrades

Code: Alles auswählen

aptitude install dpkg aptitude apt libc6
aptitude upgrade
Jetzt kommt der Rest des Systems:

Code: Alles auswählen

aptitude dist-upgrade
update-grub
Starte neu, das System sollte unter lenny laufen. Der Inhalt der Datei /etc/debian_version sollte 5.0.4 lauten.

Für den nächsten Schritt benötigst du das Paket dpkg-dev:

Code: Alles auswählen

aptitude install dpkg-dev
ad3)
Sämtliche heruntergeladenen Pakete befinden sich nun unter /var/cache/apt/archives. Damit erzeugst du ein lokales Archiv:

Code: Alles auswählen

mkdir -p /home/repository/updates
cp /var/cache/apt/archives/*deb /home/repository/updates
cd /home/repository
dpkg-scanpackages updates /dev/null | gzip > updates/Packages.gz
ad4)
Den Ordner /home/repository packst du jetzt auf eine CD oder kopierst ihn gepackt auf die zu aktualisierende Maschine.

ad5)
Jetzt wirds ernst: nun musst du die Maschine noch dafür vorbereiten das extra Archiv zu aktzeptieren.

Code: Alles auswählen

echo 'deb file:///home/repository/ updates/' > /etc/apt/sources.list.d/updates.list

echo 'APT::Get::AllowUnauthenticated "true";' > /etc/apt/apt.conf.d/01file
echo 'Aptitude::CmdLine::Ignore-Trust-Violations "true";' >> /etc/apt/apt.conf.d/01file
echo 'Cmdline::ignore-trust-violations "yes";' >> /etc/apt/apt.conf.d/01file
Nun kannst du wie vorher auch die Maschine aktualisieren:

Code: Alles auswählen

aptitude update
aptitude install dpkg aptitude apt libc6
aptitude dist-upgrade -y

# Aufräumen:
rm /etc/apt/apt.conf.d/01file
rm /etc/apt/sources.list.d/updates.list
aptitude update
rm -fr /home/repository
Ich hab dir das eben ungetestet heruntergeschrieben. Theoretisch sollte es so funktionieren. Wenn nein, bist du erstmal aufgeschmissen.
Ich denke es ist von deinem Vorgesetzten eher ungeschickt einen 'Unwissenden' mit dem Thema zu betreuen. Die Server werden ja sicherlich wichtig sein.

Ich wünsche dir viel Erfolg dabei.
(bin heute nicht mehr online, bei Fragen werden dir sicherlich auch andere helfen können).

justolder
Beiträge: 7
Registriert: 09.03.2010 10:33:10

Re: Server-Update via SSH

Beitrag von justolder » 18.03.2010 15:01:18

Erstmal Danke für die gemachte Mühe! Ihr seid echt klasse!!!

Allerdings soll das Update nicht von etch auf lenny geschehen, die Kisten sind alle schon auf lenny.

Es geht dabei lediglich um die Security-Updates!

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Server-Update via SSH

Beitrag von novalix » 19.03.2010 00:16:11

Kriege ich nach wie vor nicht in den Kopf, warum die Updates unbedingt über ne Windows Workstation verteilt werden müssen. Ein Adminrechner mit nem vernünftigen Betriebssystem (von mir aus Dualboot oder Virtualbox) wäre doch keine so schlechte Sache, wenn da mehrere Debianserver rumstehen.
Sei 's drum. Im Linux Magazin hat mal ein Leser ein Script gepostet[1], mit dem er per Sneaker-Net Debianrechner von Freunden updatet. Vielleicht ist das ja was für Dich.

Groetjes, niels

[1] http://www.linux-magazin.ch/Heft-Abo/Au ... tegory=352
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Server-Update via SSH

Beitrag von ThorstenS » 19.03.2010 07:13:34

Ich denke dann ist es einfacher direkt die Update DVD zu laden:
http://cdimage.debian.org/cdimage/relea ... 6/iso-dvd/

Das sollte die schmerzloseste Lösung sein. Mittels apt-cdrom add kannst du sie dem debian Rechner als Updatequelle bekanntgeben, ein aptitude upgrade leistet den Rest der Arbeit.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Server-Update via SSH

Beitrag von novalix » 19.03.2010 15:37:09

ThorstenS hat geschrieben:Ich denke dann ist es einfacher direkt die Update DVD zu laden:
Wenn die Server jeweils ein DVD-Laufwerk haben, geht das, wenn auch nur bei jeweiligen Release Updates.
Wenn es dem OP in seiner Firma gestattet ist, externe Datenträger einzusetzen, könnte er mit diesem Script zu Hause einen Mirror erstellen, die Pakete auf einen Stick ziehen und in der Firma von einer Windows Workstation aus die Pakete per sftp auf die Server ziehen. Wann immer ihm danach ist.

Groetjes, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Server-Update via SSH

Beitrag von ThorstenS » 19.03.2010 17:01:56

da hast du recht, man würde nur bis zum aktuellen PointRelease kommen.
Mit dem von dir geposteten Script wäre er aktuell.

Antworten