Archiv der Kategorie: Ubuntu / Kubuntu

Shell: Pakete nicht updatebar (packages not upgraded)

Wenn Pakete nicht ge-upgraded werden und die Mitteilung kommt:

„12 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.“

sudo apt list --upgradable

Die Pakete, die dann angezeigt werden zB mutter und mutter-common versuchen einzeln zu installieren:

sudo apt-get install --only-upgrade mutter

Im Erfolgsfall wurde das Paket installiert (in diesem Beispiel wurde auch das 2. Paket mitinstalliert). Sollte es fehlende Pakete geben:

sudo apt-get --with-new-pkgs upgrade

Shell: Fehlende Libraries manuell nachinstallieren (zB libssl.so.1.0.0)

Ein älteres Softwarepaket von GOG.com (BaldursGate=myprog) – was sogar mit einem Installer für Linux kam – verweigerte seinen Dienst unter Ubuntu 20.04, weil zwei Libraries fehlten (libssl.so.1.0.0 und libcrypto.so.1.0.0). Die Fehlermeldung sieht dann so aus: „ImportError: libssl.so.1.0.0: cannot open shared object file: No such file or directory“

ldd myprog

ldd lieferte Liste mit den zwei fehlenden Libraries (not found). An dieser Stelle eine Warnung bei untrusted binaries: Statt ldd lieber objdump zu verwenden, um ungewollte Codeausführung zu vermeiden (siehe: man ldd).

objdump -p myprog | grep NEEDED

Die fehlenden Libraries können aus alten Paketquellen besorgt und ausgepackt werden. Oder ein

locate libssl.so.1.0.0

zeigt alle verfügbaren Versionen auf dem Rechner an. Die können nun in den Zielordner der Wahl (/lib/x86_64-linux-gnu/) kopiert werden. Aber Achtung: Keine 32-bit und 64-bit Versionen mischen.

file libssl.so.1.0.0

bringt Klarheit, um welche Version es geht. Denn eine 32-bit Version von libssl.so.1.0.0 in /lib/x86_64-linux-gnu/ wird ignoriert und die obige Fehlermeldung bleibt, obwohl eine Datei mit passendem Namen im Ordner liegt! Nach dem Erstzen durch eine 64-bit-Version lief alles planmässig. Die Vorgehensweise für libcrypto.so.1.0.0 war dann identisch.

Hinweis: Das der Einsatz veralteter Software problematisch sein kann, sollte klar sein und unter Sichterheitsaspekten abgewogen werden.

Shell: Locale Problem Ubuntu

Folgende Fehlermeldung beim Install/Upgrade eines Paketes:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = „de_DE.UTF-8“,
LC_MONETARY = „de_DE.UTF-8“,
LC_ADDRESS = „de_DE.UTF-8“,
LC_TELEPHONE = „de_DE.UTF-8“,
LC_NAME = „de_DE.UTF-8“,
LC_MEASUREMENT = „de_DE.UTF-8“,
LC_IDENTIFICATION = „de_DE.UTF-8“,
LC_NUMERIC = „de_DE.UTF-8“,
LC_PAPER = „de_DE.UTF-8“,
LANG = „C“
are supported and installed on your system.
perl: warning: Falling back to the standard locale („C“).
locale: Cannot set LC_ALL to default locale: No such file or directory

Abhilfe:
Codeseiten auflisten
sudo locale
Fehlende Codeseiten generieren:
sudo locale-gen "de_DE.UTF-8"

dpkg-reconfigure locales
Dabei die fehlenden Codeseiten auswählen (zB: „de_DE.UTF-8“)

Shell: Alte Linux-Images und Kernel löschen

Alte Kernel-Versionen löschen (aktuelle bestehen lassen):

dpkg -l linux-* | \
awk '/^ii/{print $2}' | egrep [0-9] | \
sort -t- -k3,4 --version-sort -r | \
sed -e "1,/$(uname -r | cut -f1,2 -d"-")/d" | \
grep -v -e `uname -r | cut -f1,2 -d"-"` | \
xargs sudo apt-get -y purge
  • Alle linux-* Pakete auflisten
  • Nur die Pakete listen, die installiert sind und Nummern haben
  • Alles absteigend sortieren (alte kernel stehen unten)
  • Nur die listen, die nach der aktuellen Version (uname -r) kommen
  • apt-get aufrufen und alte Kernel löschen (ohne Bestätigung)

von: https://askubuntu.com/questions/401581/bash-one-liner-to-delete-only-old-kernels