Debianpakete installieren: Difference between revisions

From Linuxwiki
Jump to navigation Jump to search
(Die Seite wurde neu angelegt: „=Installation von CD= Entweder den default-Wert in der /etc/apt/sources.list eingetragen lassen: deb cdrom:[Debian GNU/Linux 5.0 r3 _Lenny_ - Official i386 CD B…“)
 
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 8: Line 8:
=Installation vom Internet=
=Installation vom Internet=
Beispiel für eine sources.list:
Beispiel für eine sources.list:
deb http://ftp.debian.org/debian lenny main contrib non-free
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb http://ftp.debian.org/debian lenny-proposed-updates main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib
deb http://deb.debian.org/debian/ bullseye-updates main

deb-src http://security.debian.org/ lenny/updates main contrib
Wer die Sourcen auch bekommen will, muss jeweils noch einen entsprechenden deb-src Eintrag zufügen, z.B.
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
(sollte i.d.R. aber nicht nötig sein)


Datei einlesen:
Datei einlesen:
# aptitude update
# apt update


Pakete suchen:
Pakete suchen:
$ aptitude search <paketname(n)>
$ apt search <paketname(n)>
z.B.
z.B.
$ aptitude search gpm kdm
$ apt search gpm lxdm


Pakete installieren:
Pakete installieren:
# aptitude install gpm kdm
# apt install gpm lxdm


Pakete anschauen:
Pakete anschauen:
$ dpkg -l gpm
$ dpkg -l gpm
$ aptitude show gpm
$ apt show gpm


Installierte Pakete landen in /var/cache/apt.
Installierte Pakete landen in /var/cache/apt.


Pakete entfernen:
Pakete entfernen:
# aptitude purge gpm
# apt purge gpm


Mit
Mit
Line 38: Line 41:


System updaten:
System updaten:
# aptitude update
# apt update
# aptitude upgrade (safe-upgrade)
# apt upgrade (safe-upgrade)


Releasewechsel:
Releasewechsel:
# aptitude dist-upgrade (full-upgrade)
# apt full-upgrade (dist-upgrade)
(kann man auch statt upgrade verwenden; löst Abhängigkeiten restriktiver auf,
(kann man auch statt upgrade verwenden; löst Abhängigkeiten restriktiver auf,
löscht geg.falls Pakete, die nicht mehr gebraucht werden)
löscht geg.falls Pakete, die nicht mehr gebraucht werden)

=Testing-Pakete in stable installieren=
Unter bestimmten Umständen will man von einem (oder mehreren) Paket(en) eine neuere Version, z.B. weil man ein neues Feature möchte oder bestimmte Security Bugs bereits gefixt wurden.
Die folgenden Schritte zeigen, wie man einzelne Pakete updaten kann, ohne gleich das ganze System auf eine neuere major Version heben zu müssen.
* Sources list anpassen
Ein zusätzliche Datei ''/etc/apt/sources.list.d/testing.list'' erstellen mit dem Inhalt:
deb http://ftp.de.debian.org/debian/ testing main contrib non-free non-free-firmware
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/debian-security testing-security main
und einlesen:
apt update
* Pakete updaten
Nun die benötigten Pakete installieren:
apt install -t testing roundcube roundcube-core
* Souces list deaktivieren
testing.list löschen oder auskommentieren und "apt update" ausführen.
(sonst wird beim nächsten Upgrade das ganze System upgedated)


=Security=
=Security=
Line 51: Line 71:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F


Der Grund hierfür ist, dass ab Etch Prüfsummen für Pakete berechnet werden.
Der Grund hierfür ist, dass Pakete signiert werden.
Damit kann entweder die aptitude-Routine oder der Benutzer selbst (durch Bildung
Damit kann entweder die apt-Routine oder der Benutzer selbst (durch Vergleich der gpg keys)
einer md5sum) sicherstellen, dass das Paket von einer von debian.org als
sicherstellen, dass das Paket von einer von debian.org als
vertrauenswürdig eingestuften Quelle stammt.<br>
vertrauenswürdig eingestuften Quelle stammt.<br>


Pakete und Metadaten werden von debian mit einem gpg-key signiert. Die Datei Release.gpg enthält diesen Key.
Diverse Prüfsummen werden in einem Releasefile gespeichert. Dieses wird von
debian mit einem gpg-key signiert. Die Datei Release.gpg enthält diesen Key.
Oben genannte Fehlermeldung deutet also auf ein Fehlen dieses gpg-Schlüssels
Oben genannte Fehlermeldung deutet also auf ein Fehlen dieses gpg-Schlüssels
hin. Der Key kann von einem Keyserver heruntergeladen und dem apt-keyring zu
hin. Der Key kann von einem Keyserver heruntergeladen und dem apt-keyring zu
Line 70: Line 89:
gpg: no ultimately trusted keys found
gpg: no ultimately trusted keys found
OK
OK

Das ganze lässt sich auch in einem Befehl ausführen:
apt-key adv --recv-key --keyserver pool.sks-keyservers.net 1054B7A24BD6EC30


Alle importierten Keys werden in der Datei /etc/apt/trusted.gpg gespeichert.
Alle importierten Keys werden in der Datei /etc/apt/trusted.gpg gespeichert.
Line 85: Line 107:
[[http://wiki.debian.org/SecureApt]].
[[http://wiki.debian.org/SecureApt]].


=apt-key Deprecation Warning=
=Virtuelle Systeme=
apt-key wird ab bookworm nicht mehr angeboten. Stattdessen müssen repository keys heruntergeladen und manuell dispatches werden:
Pakete, die virtualisierte Hardware betreffen, werden i.d.R. vom Hersteller

selbst geliefert, z.B. ein neuer Xen-Kernel. In diesem Fall muss ebenfalls der
https://askubuntu.com/questions/1286545/what-commands-exactly-should-replace-the-deprecated-apt-key/1307181#1307181
Citrix-gpg-Key hinzugefügt werden:

wget -q http://updates.vmd.citrix.com/XenServer/5.5.0/GPG-KEY -O - | apt-key add -
Beispiel:
$ wget -q https://www.example.com/debian/gpg-key.public
$ gpg --no-default-keyring --keyring ./temp-keyring.gpg --import gpg-key.public
$ gpg --no-default-keyring --keyring ./temp-keyring.gpg --export --output php-repo.gpg
# mv php-repo.gpg /etc/apt/keyrings/
# rm temp-keyring.gpg
# echo "deb [signed-by=/etc/apt/keyrings/php-repo.gpg] https://www.example.com/debian sid main" > /etc/apt/sources.list.d/php.list
# apt update

in short:<br>
$ wget https://www.example.com/debian/gpg-key.public | sudo gpg --dearmor --yes --output /usr/share/keyrings/...


=Hinweise zum Upgrade von Oldstable auf Stable=

http://www.debian.org/releases/stable/i386/release-notes/index.en.html bzw. <br>
http://www.debian.org/releases/stable/amd64/release-notes/index.en.html

Latest revision as of 20:52, 2 October 2024

Installation von CD

Entweder den default-Wert in der /etc/apt/sources.list eingetragen lassen:

deb cdrom:[Debian GNU/Linux 5.0 r3 _Lenny_ - Official i386 CD Binary-1 20090407-11:55]/ lenny contrib main

oder, falls es zu Fehlermeldungen kommt, mittels 'apt-cdrom' den Eintrag generieren.

Installation vom Internet

Beispiel für eine sources.list:

deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian/ bullseye-updates main

Wer die Sourcen auch bekommen will, muss jeweils noch einen entsprechenden deb-src Eintrag zufügen, z.B.

deb-src http://deb.debian.org/debian/ bullseye main contrib non-free

(sollte i.d.R. aber nicht nötig sein)

Datei einlesen:

# apt update

Pakete suchen:

$ apt search <paketname(n)>

z.B.

$ apt search gpm lxdm

Pakete installieren:

# apt install gpm lxdm

Pakete anschauen:

$ dpkg -l gpm
$ apt show gpm

Installierte Pakete landen in /var/cache/apt.

Pakete entfernen:

# apt purge gpm

Mit

# aptitude remove gpm

bleiben die Config-Files erhalten

System updaten:

# apt update
# apt upgrade (safe-upgrade)

Releasewechsel:

# apt full-upgrade (dist-upgrade)

(kann man auch statt upgrade verwenden; löst Abhängigkeiten restriktiver auf, löscht geg.falls Pakete, die nicht mehr gebraucht werden)

Testing-Pakete in stable installieren

Unter bestimmten Umständen will man von einem (oder mehreren) Paket(en) eine neuere Version, z.B. weil man ein neues Feature möchte oder bestimmte Security Bugs bereits gefixt wurden. Die folgenden Schritte zeigen, wie man einzelne Pakete updaten kann, ohne gleich das ganze System auf eine neuere major Version heben zu müssen.

  • Sources list anpassen

Ein zusätzliche Datei /etc/apt/sources.list.d/testing.list erstellen mit dem Inhalt:

deb     http://ftp.de.debian.org/debian/    testing main contrib non-free non-free-firmware
deb-src http://ftp.de.debian.org/debian/    testing main contrib non-free
deb http://security.debian.org/debian-security testing-security main

und einlesen:

apt update
  • Pakete updaten

Nun die benötigten Pakete installieren:

apt install -t testing roundcube roundcube-core
  • Souces list deaktivieren

testing.list löschen oder auskommentieren und "apt update" ausführen. (sonst wird beim nächsten Upgrade das ganze System upgedated)

Security

Achtung: Beim ersten Upgrade kann es zu folgender Fehlermeldung kommen:

W: GPG error: http://ftp.us.debian.org testing Release:
The following signatures couldn't be verified because the public key  is not available: NO_PUBKEY 010908312D230C5F

Der Grund hierfür ist, dass Pakete signiert werden. Damit kann entweder die apt-Routine oder der Benutzer selbst (durch Vergleich der gpg keys) sicherstellen, dass das Paket von einer von debian.org als vertrauenswürdig eingestuften Quelle stammt.

Pakete und Metadaten werden von debian mit einem gpg-key signiert. Die Datei Release.gpg enthält diesen Key. Oben genannte Fehlermeldung deutet also auf ein Fehlen dieses gpg-Schlüssels hin. Der Key kann von einem Keyserver heruntergeladen und dem apt-keyring zu gefügt werden. Hierfür sind folgende Schritte notwendig:

# gpg --keyserver pgpkeys.mit.edu --recv-key 2D230C5F
gpg: requesting key 2D230C5F from hkp server pgpkeys.mit.edu
gpg: key 2D230C5F: public key "Debian Archive Automatic Signing Key (2006) " imported
gpg: Total number processed: 1
gpg: imported: 1
gpg -a --export 2D230C5F | sudo apt-key add -
gpg: no ultimately trusted keys found
OK

Das ganze lässt sich auch in einem Befehl ausführen:

apt-key adv --recv-key --keyserver pool.sks-keyservers.net 1054B7A24BD6EC30

Alle importierten Keys werden in der Datei /etc/apt/trusted.gpg gespeichert. Auflisten aller als vertrauenswürdig eingestufter Keys:

# apt-key list

Schlüssel wieder loswerden:

# apt-key del <key-id>

Das Problem ist natürlich, dass man wiederum diesem Keyserver vertrauen muss. Aber das Problem des 1. Vertrauens ist leider bei jeder trusted-key- Struktur gegeben.

Eine ausführliche Erklärung zu dem Ganzen findet sich hier [[1]].

apt-key Deprecation Warning

apt-key wird ab bookworm nicht mehr angeboten. Stattdessen müssen repository keys heruntergeladen und manuell dispatches werden:

https://askubuntu.com/questions/1286545/what-commands-exactly-should-replace-the-deprecated-apt-key/1307181#1307181

Beispiel:

$ wget -q https://www.example.com/debian/gpg-key.public
$ gpg --no-default-keyring --keyring ./temp-keyring.gpg --import gpg-key.public
$ gpg --no-default-keyring --keyring ./temp-keyring.gpg --export --output php-repo.gpg
# mv php-repo.gpg /etc/apt/keyrings/
# rm temp-keyring.gpg
# echo "deb [signed-by=/etc/apt/keyrings/php-repo.gpg] https://www.example.com/debian sid main" > /etc/apt/sources.list.d/php.list 
# apt update

in short:

$ wget https://www.example.com/debian/gpg-key.public | sudo gpg --dearmor --yes --output /usr/share/keyrings/...


Hinweise zum Upgrade von Oldstable auf Stable

http://www.debian.org/releases/stable/i386/release-notes/index.en.html bzw.
http://www.debian.org/releases/stable/amd64/release-notes/index.en.html