DEBIAN

automatische Installation von Updates

einfach das Paket „cron-apt“ installieren:

apt-get install cron-apt

das Paket lädt jede Nacht so gegen 04:xx Uhr Updates runter, installiert sie aber nicht.
sollen die Updates auch automatisch installiert werden so muss noch folgender Eintrag ans Ende der (neu erstellten) Datei /etc/cron-apt/action.d/1-upgrade gemacht werden:

echo "upgrade -y" >>/etc/cron-apt/action.d/1-upgrade

sofortige Ausführung (mit Ausgaben nach stdout) mit:

cron-apt -s


Deutsche Tastatur konfigurieren

dpkg-reconfigure console-data

welche Debianversion ist installiert?

lsb_release -c

Update von Lenny auf Squeeze

BACKUP/SNAPSHOT durchführen!!! und unötige Dienste stoppen.
zuerst das Sytem auf den neuesten Lenny-Stand bringen.Gegebenenfalls durchbooten:

apt-get update
apt-get upgrade
apt-get clean
apt-get autoremove
apt-get -f install
reboot

dann in der Datei /etc/apt/sources.list alle Repoeinträge von lenny nach squeeze ändern.
dann testen, ob das Upgrade auch funktioniert.:

apt-get update
apt-get dist-upgrade --dry-run

wenn MYSQL installiert ist, in der Datei /etc/mysql/my.cnf den Eintrag skip-bdb wenn vorhanden auskommentieren.
jetzt das Upgrade durchführen und dann neustarten:

apt-get dist-upgrade
reboot

wenn Paket nicht installiert werden konnten, dann erneut:

apt-get update
apt-get upgrade


Update von Squeeze auf Wheezy

BACKUP/SNAPSHOT durchführen!!! und unötige Dienste stoppen.
zuerst das Sytem auf den neuesten Squeeze-Stand bringen.Gegebenenfalls durchbooten:

apt-get update
apt-get upgrade
apt-get clean
apt-get autoremove
apt-get -f install
reboot

dann in der Datei /etc/apt/sources.list alle Repoeinträge von squeeze nach wheezy ändern.
dann testen, ob das Upgrade auch funktioniert.:

apt-get update
apt-get dist-upgrade --dry-run

wenn der Fehler auftritt:

E: Conf Broken libapt-pkg4.12:i386

erst das Paket mit seinen Abhängigkeiten installieren:

apt-get install libapt-pkg4.12

jetzt erst das Upgrade durchführen, ein paar Fragen mit <q> beantworten und dann neustarten:

apt-get dist-upgrade
reboot

wenn Paket nicht installiert werden konnten, dann erneut:

apt-get update
apt-get upgrade


Aufräumarbeiten, wenn System mit neuem Kernel läuft:

#squeeze:
apt-get remove linux-image-2.6.32-5.686
apt-get remove linux-headers-2.6.32-5-686
#lenny:
apt-get remove linux-image-2.6.26-1.686
apt-get remove linux-image-2.6.26-2.686
apt-get install linux-headers-`uname -r`
apt-get remove linux-headers-2.6.26-2.common
upgrade-from-grub-legacy
#alle:
#vmware-tools-upgrader
#/usr/lib/AntiVir/dazuko/install_dazuko.sh
apt-get autoremove


Update von Wheezy auf Jessie

BACKUP/SNAPSHOT durchführen!!! und unötige Dienste stoppen.
zuerst das Sytem auf den neuesten Wheezy-Stand bringen.Gegebenenfalls durchbooten:

apt-get update
apt-get upgrade
apt-get clean
apt-get autoremove
apt-get -f install
reboot

dann in der Datei /etc/apt/sources.list alle Repoeinträge von wheezy nach jessie ändern.
dann testen, ob das Upgrade auch funktioniert.:

apt-get update
apt-get dist-upgrade --dry-run

wenn Fehler auftreten diese erst beheben:

z.B.:
apt-get install python-minimal

Nach upgrade war bei mir winbind nicht mehr funktionstüchtig:

getent passwd (findet nur noch lokale Benutzer)

Abhilfe:

apt-get install libpam-winbind libnss-winbind

Fehler: apache lässt sich nicht mehr mit ssl starten.
Abhilfe: spdy deaktivieren und deinstallieren.(wenn vorhanden)


alte Programmreste entfernen, Plattenplatz schaffen

#vorher Sicherung gemacht? ok dann:
apt-get --purge autoremove
apt-get install deborphan
deborphan | xargs apt-get -y --purge remove
#eventuell mehrere Male den folgenden Befehl ausführen:
dpkg -l | grep ^rc | cut -c5-39 | xargs dpkg --purge
apt-get --purge remove deborphan #(eventuell auch dialog)
apt-get --purge autoclean


auftretende Fehlermeldungen während des Upgrades beheben:

Fehler:
Der GPG-Key des neuen Repositories wird nicht akzeptiert.

W: GPG error: http://meinrepo Release: Die folgenden Signaturen konnten nicht überprüft werden,
weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 010908312D230C5F
W: Probieren Sie >>apt-get update<<, um dieses Problem zu korriegieren.

Behebung:
Führe den folgenden Befehl mit dem angemeckerten HASH aus:

gpg --keyserver pgpkeys.mit.edu --recv-key  010908312D230C5F     
gpg -a --export 010908312D230C5F | sudo apt-key add -
apt-get update


Fehler:

am Ende des apt-get dist-upgrade –dry-run:

"E: Conf Broken insserv"

Behebung:

erneutes Installieren von insserv.

apt-get install insserv

Fehler:

update-alternatives: error: readlink(/etc/alternatives/irgendwas) failed: Invalid argument

Behebung:

Löschen des Inhalts des Alternative-Verzeichnisses und erneutes Upgrade.

cp -avr /etc/alternatives /etc/alternatives.org
rm /etc/alternatives/*
#bis auf das awk-tool
cp /etc/alternatives.org/awk* /etc/alternatives/
apt-get dist-upgrade
reboot
apt-get upgrade
apt-get -f install

Fehler:

insserv: warning: script is corrupt or invalid: /etc/init.d/../rc ..."

oder :

update-rc.d: warning: /etc/rc1.d/K11cron is not a symbolic link
update-rc.d: warning: /etc/rc2.d/S89cron is not a symbolic link
update-rc.d: warning: /etc/rc3.d/S89cron is not a symbolic link
update-rc.d: warning: /etc/rc4.d/S89cron is not a symbolic link
update-rc.d: warning: /etc/rc5.d/S89cron is not a symbolic link
invoke-rc.d: not a symlink: /etc/rc2.d/S89cron

Behebung:

Löschen der Dateien. Danach werden diese vom System automatisch neu angelegt. Dann erneutes Upgrade.
Beispiel exim4:

find /etc -name "???exim4" -exec rm "{}" \;
apt-get upgrade

Fehler:

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable

Behebung:

PID killen, Lockdatei löschen und neu konfigurieren.

fuser -v /var/cache/debconf/config.dat
#dann ausgegebene PID killen:
kill 1234
#dann noch ev. vorhandene Lockdatei löschen
rm /var/lib/dpkg/lock
#dann nochmal alles neu konfigurieren:
dpkg --configure -a
apt-get update
apt-get upgrade

Fehler:

Starting MySQL database server: mysqld ......failed!

Behebung:

in Datei /etc/mysql/my.cnf den Wert skip-bdb auskommentieren.
Wenn der Wert nicht gefunden wird hilft eine Neuinstallation des Mysql-servers. Die Datenbankdateien bleiben erhalten.

apt-get --reinstall install mysql-server


Fehler:
Treiber für Broadcom tg3 (tigon) wird nicht mehr unterstützt.
Behebung:

apt-get install firmware-linux-nonfree


Fehler:
Nach dem Update auf Squeeze kann der Apache2 sich nicht mehr per Kerberos am ActiveDirectory authentifizieren.
Der Grund liegt in der einfachen DES-Verschlüsselung der Keytabdatei.
Fehlermeldung in der /var/log/apache2/error.log:

 ...failed to verify krb5 credentials: KDC has no support for encryption type

Behebung:
Erstellung einer neuen Keytabdatei oder neuer Eintrag in der /etc/krb5.conf:

[libdefaults]
              ...
              allow_weak_crypto = true
              ...

Anschließend ist ein Neustart des Apache erforderlich.
Fehler:

Nach update auf wheezy wird von apache2 die Lib /usr/lib/xml2.so.2 nicht mehr gefunden
Behebung:
Änderung in Datei /etc/apache2/mods-enabled/proxy_html.load:

#von 
LoadFile /usr/lib/libxml2.so.2
#in
LoadFile libxml2.so.2
#die Datei liegt jetzt in /usr/lib/i386-linux-gnu


Fehler:
nach Update auf wheezy startet apache2 nicht mehr
Behebung:

touch /etc/apache2/httpd.conf



Fehler:
nach Update auf wheezy startet mysql-server 5.5 nicht mehr
Behebung:

altes Backup zurück spielen, /etc/mysql/my.cnf sichern und bei der Installation eine neue my.cnf anlegen lassen.


Fehler:
debian kann sich nicht aktualisieren, weil ein Proxy den Weg versperrt
Behebung:
Eintrag in Datei /etc/apt/apt.conf.d/70debconf oder /etc/apt/apt.conf eintragen:

Acquire::http::Proxy "http://Benutzername:Passwort@proxysrv:PortNr";


Fehler:
ein Programm soll deinstalliert werden aber ohne die abhängigen Programme
z.B. will phpmyAdmin gleich den Apache und mysql mit deinstallieren.
Behebung:

dpkg -r --force-depends phpmyadmin

danach aber Vorsicht bei:

apt-get autoremove


Fehler:
apt-get schlägt bei eigenem https-repo fehl.
Behebung:
Paket apt-transport-https installieren, dann:

#Repo-Zertifikat nach /usr/local/share/ca-certifcates/ kopieren
#Datei muss auf .crt enden
#dann 
update-ca-certificates
#Test mit
wget https://meinreposrv
#evtl. auch nach '/usr/share/ca-certificates/meinefirma/' kopieren.\\
#dann mit 'dpkg-reconfigure ca-certificates' importieren.