apt-key-Ersatz ab Jammy 22.04

Das Problem, wenn man ein zusätzliches Repository in /etc/apt/sourced.list.d hinzufügt, ist für gewöhnlich der fehlende Verifizierungs-Key. Nicht alle Quellen liefern den gleich mit.
Bis 20.04 hat man den Key mit apt-key hinzugefügt. Das geht bei 22.04 immer noch, aber es führt zu einer Warnmeldung, weil dieses Verfahren abgeschaltet werden wird. Der Grund ist der, dass so hinzugefügte Keys systemweit gültig sind, was ein potenzielles Sicherheitsleck darstellt. Mit der neuen Methode gilt ein Key nur noch für ein Repository und sonst für nix.

Den apt-key-Ersatzbefehl musste ich lange suchen und mir teilweise noch selber zusammen basteln. Deswegen hier das neue Verfahren:

Bei dem gpg-Befehl wird in /root/.gnupg gearbeitet. Wer das nicht möchte, erstellt ein temporäres Verzeichnis und gibt vorher diesen Befehl ein:
sudo export GNUPGHOME=[Verzeichnis als absoluter Pfad]
Diese Einstellung gilt nur für die eine Terminal-Session und ist nicht dauerhaft.
Das Unterverzeichnis .gnupg muss aber auch vorhanden sein bzw. ggf. erstellt werden.

sudo gpg --no-default-keyring --keyring /usr/share/keyrings/[Dateiame].gpg --keyserver [Keyserver] --recv-keys [Key-Code]

Dabei gilt:
[Dateiname] Dateiname, den man frei vergeben kann. Beim Pfad ist Jammy zickig, also den hier vorgegebenen benutzen.
[Keyserver] z.B. keyserver.ubuntu.com, man kann auch noch den Port mit Doppelpunkt anhängen (:80)
[Key-Code] wie früher bei apt-key die Hex-Zeichen, die in der apt-get update Fehlermeldung stehen, ohne Leerzeichen*

Nun muss man noch den Pfad zur Key-Datei in die Repository-List-Datei aufnehmen. Man editiert sie (mit sudo) wie folgt:
Zwischen deb bzw. deb-src und http… kommt:
[signed-by=/usr/share/keyrings/[Dateiname.gpg]
Wenn die Architektur angegeben ist, kommt das signed-by in die vorhandene eckige Klammer:
[arch=amd64 signed-by=/usr/share/keyrings/[Dateiname.gpg]

Hat man noch den Key im alten Verfahren gespeichert, löscht man ihn mit diesem Befehl:
apt-key del [Letzte-8-Zeichen-des-Key-Codes]

Nach dem nächsten apt-get update sollten keine Fehlermeldungen mehr auftauchen und man auf das Repository zugreifen.

*) Leerzeichen sind nicht in der apt-get update Fehlermeldung, aber in der Ausgabe, wenn man nach dem Key sucht.

Hier alles am Beispiel Firefox-ESR:
PPA hinzufügen:
sudo add-apt-repository ppa:mozillateam/ppa
=> Datei /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list hinzugefügt
=> und den Key /etc/apt/trusted.gpg.d/mozillateam-ubuntu-ppa.gpg hinzugefügt – das führt zwar nicht zur Warnung, ist aber genauso unsicher!!
sudo rm /etc/apt/trusted.gpg.d/mozillateam-ubuntu-ppa.gpg
apt-get update
=> Fehler NO_PUBKEY 9BDB3D89CE49EC21
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/mozilla.gpg --keyserver keyserver.ubuntu.com --recv-keys 9BDB3D89CE49EC21
=> Da steht was von wegen importiert: 1
Hier die erste Zeile der Datei /etc/apt/sources.list.d/mozillateam-ubuntu-ppa-jammy.list
deb [signed-by=/usr/share/keyrings/mozilla.gpg] https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/ jammy main
Das Löschen in apt-key sähe so aus:
sudo apt-key del CE49EC21

Multicore ZIP mit pigz

Um mit mehreren Kernen zu zippen, kann man pigz benutzen. Der entsprechende tar-Befehl sieht dann so aus:
tar [Optionen] – [Quelle] | pigz -[Kompression] -p [Anzahl-Kerne] > [Ziel-Archiv]
Für die Kompression wird man typischer Weise 9 eingeben. Beispiel mit 6 Kernen:
tar cpf - . | pigz -9 -p 6 > /media/Backup/System.tar.gz

Quelle: https://stackoverflow.com/questions/12313242/utilizing-multi-core-for-targzip-bzip-compression-decompression/12320421#12320421

Hinweise zu tar und rsync

Hier ein paar Hinweise zu den beliebten Tools tar und rsync.

tar
Bislang hatte ich immer Ärger mit dem exclude. Mein Befehl für tar lautete nämlich stets tar -c..f /Pfad/zur/tar-Datei.tar –Optionen .
Wenn exclude hier platziert wird, stresst tar rum. Baut man den Befehl aber so um, dass -f /Pfad/zur/tar-Datei.tar erst ganz am Schluss kommt, klappt die Sache:
tar -c.. --Optionen . -f /Pfad/zur/tar-Datei.tar

rsync
Wie man die neuen Dateien in ein anderes Verzeichnis speichert, um so eine Art differenzielles Backup oder in meinem Fall eine überlappende Synchronisation zwischen zwei Standorten hinzukriegen, steht hier. Die Option lautet compare-dest und funktioniert so:
rsync --andere_Optionen --compare-dest=/Pfad/zum/Vergleich* /Pfad/zur/Quelle/ /Pfad/zum/Ziel*
*) Vergleich: beim normalen rsync das Ziel (Angabe ohne letztes / )
Ziel: hier landet das differenzielle Backup (Angabe ohne letztes / )
(Bei der Quelle Angabe mit letztem / )
Nicht wundern, rsync legt hier die komplette Verzeichnisstruktur an, schreibt aber nur geänderte und neue Dateien. Bei diesem Aufbau ist ein exaktes Abbild nicht möglich, weil man nichts löschen kann. Die Option prune-empty-dirs klappte im Zusammenhang mit compare-dest bei mir nicht. Zur Übersicht könnte man ein zweites rsync so nachschalten und dessen Inhalt dann sichern. Am Ende wird man eh aufräumen. In meinem Fall brauche ich dieses zweite rsync zwischen den Standorten ohnehin.

Port durch SSH tunneln

Mal wieder ein Eintrag gegen die / wegen der Vergesslichkeit:
ssh -L [lokaler Port]:[IP im Zielnetz]:[Port auf Zielrechner] [Benutzer]@[Server/IP]
ggf. sind weitere Optionen wie eine Portangabe nötig
Bsp.: ssh -L 6000:10.10.1.10:443 admin@server.net
=> So kann der interne Port 443 vom Browser aus erreicht werden, indem man im Browser „https://localhost:6000“ eingibt.

Befehl gegen flackerndes KDE

Das Problem scheint nur bei AMD-Grafikkarten aufzutauchen. Bei Blenden wird flackert der Bildschirm, wenn Fenster angezeigt werden sollen, kann es passieren, dass nur die Knöpfe da sind bis man mit der Maus drüber fährt, bei der Office fehlen Textteile, wobei hier zoomen hilft, usw.
Abhilfe: mit Alt+F2 das Befehl-ausführen Minifenster ganz oben starten und darin eingeben:
kwin –replace
Enter und gut is‘!

Mount-Befehle und fstab

Mount-Befehle

SMB mounten:
mount -t smbfs //server/freigabe /lokalesVerzeichnis -o ro,uid=1000,gid=1000,username=SMBName\\Benutzer,password=Passwort
Bemerkungen: -o ro = read only. SMBName\\ nur, falls Zielrechner in einer Domäne befindlich und auf einen lokalen, Nicht-Domänen-Benutzer verbunden werden soll.
uid=Nummer des lokalen Linux-Users, gid=Nummer der lokalen Linux-Gruppe => Rechteproblem gelöst
encfs /media/[Beispiel]/[Quellverzeichnis]/ /media/Beispiel/[Zielverzeichnis]/

fstab

LABEL=[NAME] / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
discard,noatime,nodiratime schonen SSDs
UUID=[UUID] /media/Beispiel ext4 nofail,errors=remount-ro 0 3
Die 3 hinten führt das fsck später durch
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
man kann auch /var/cache/apt/archives nach tmp mounten, muss aber seit 16.04 immer ./partial erstellen und kassiert bei Synamtic am Ende eine ignorierbare Fehlermeldung wegen der Rechte. Dafür läuft einem aber nie die Platte voll mit Paketen.
/dev/sda3 none swap sw 0 0
UUID=[UUID] /media/Beispiel ext4 defaults,nofail 0 5
UUID=[UUID] /media/Windows ntfs-3g ro,nofail,nls=utf8,uid=1000,gid=1000 0 7
anstelle von ro (read-only) geht auch rw (read-write) – will man ggf. aber besser nicht
//[IPv4]/[FREIGABENAME] /media/Beispiel cifs noperm,credentials=/root/.smbpwd,_netdev 0 0

Ohne die Option nofail hängt das System, falls beim Booten ein Laufwerk nicht verfügbar oder sauber ist.

Linux Datei-Rechte-Codes

chmod-Tabelle

CHMOD-Tabelle für all jene, die sich die Zahlen nicht merken können:
Reihenfolge: Besitzer, Gruppe, Public.

R: Lesen + + + +
W: Schreiben + + + +
X: Ausführen + + + +
chmod-Zahl 0 1 2 3 4 5 6 7

WLAN Passwort für alle Benutzer

Seit 16.04 muss man folgende Schritte unternehmen, wenn man erreichen will, dass ein WLAN-Netzwerk vor dem Login gestartet wird. Üblicherweise geschieht dies nach dem Login, da das WLAN-Passwort dann KWallet entnommen wird.

In /etc/NetworkManager/system-connections sucht man sich die gewünschte Verbindung heraus und öffnet die Datei mit Root-Rechten. Dann löscht man bei [wifi-security] den Eintrag „psk-flags=1“ und fügt diesen Eintrag ein:
psk=[PASSWORT-IM-PLAINTEXT]
Nach einem Neustart oder dem Befehl „nmcli con reload“ funktioniert das dann.

KDE Plasma 5 Probleme nach 16.04-Upgrade

Es gibt einige Probleme, u.a. wird keine Einstellung übernommen. Um alles wieder halbwegs vernünftig aussehen zu lassen, installierte ich über Synaptic die Pakete plasma-theme-oxygen und oxygen-cursor-theme sowie als Arbeitsflächen-Design (wohl unnötigerweise) Naked.
Nach einiger Einstellerei habe ich die Settings von Rechner A zu B per tar übertragen.

Das Icon-Problem löst man, indem man ein Eintrag
export QT_QPA_PLATFORMTHEME=kde
in die Datei
home/[USER]/.profile
einträgt und sich neu anmeldet.
(Quelle: https://bugs.launchpad.net/ubuntu/+source/kubuntu-meta/+bug/1450068)

Als Startmenü finde ich das überarbeitete „Anwendungsmenü“ schöner. Es übernimmt die Favoriten nur teilweise, aber man kann neue hinzufügen.

2 Be continued …