Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Crossgrade Ubuntu -> Debian

4 views
Skip to first unread message

Christian Garbs

unread,
Sep 13, 2022, 3:57:41 PM9/13/22
to
Mahlzeit!

Wir hatten das Thema "Wechsel von Ubuntu zu Debian" schon vereinzelt
hier in der Gruppe angerissen, aber nur auf der Ebene "eigentlich
müsste man mal, hat schon wer?". Hatte aber keiner.

Da meine Ubuntu 20.04 LTSse jetzt offiziell mit dem Update auf 22.04
LTS drohen (das erste Pointrelease ist da), war der ideale Zeitpunkt
gekommen, das einfach mal durchzuziehen. So einen großen "Abstand"
(möglichst alte Ubuntu-Pakete, möglichst neue Debian-Pakete) gibt es
erst wieder, wenn das nächste Debian Stable frisch draußen ist (oder
man schwenkt auf testing oder unstable).

Ergebnis: Es klappt, bisher keine Probleme auf anderhalb¹ migrierten
Systemen.

CAVEAT: YMMV. Das ist eine Bastelei. Wer bei "es bootet nicht mehr"
an Neuinstallation denkt, statt den USB-Stick mit einem Rescue-System
zu zucken, ist hier falsch ;-)


Vorbereitung
------------

1. alle externen Paketquellen deaktivieren (macht das ganze einfacher,
geht vielleicht auch ohne)

2. /etc/apt/sources.list durch die Debian-Paketquellen ersetzen

3. die Debian-Repository-Keys in /etc/apt/trusted.gpg.d ablegen
?? hab ich eigentlich die Ubuntu-Keys gelöscht? lagen die da
einzeln oder in dem großen apt-Keyring?

4. 'apt update' aufrufen

5. apparmor deaktivieren! Das war wohl nur auf einem der beiden
Systeme installiert, aber dort kam es zu lustigen Fehlern², die
sich mit Deinstallation von apparmor gelöst haben.

6. Die Kombination von apt-listchanges mit einem eher langsamen Laptop
ist unerträglich, weil er bei jedem apt-Kommando erstmal die
Changelogs zusammensucht -- und wir rufen apt in einer Schleife
auf. Ich habe kurzerhand in /usr/bin/apt-listchanges hinter die
Zeile 'def main(config):' passend eingerückt ein 'sys.exit(0)'
geschrieben, dann ging's schneller.

7. Wenn man die per ecrypt verschlüsselten Home-Directories von Ubuntu
nutzt, sollte man die Dateien entweder vorher unverschlüsselt
wegschreiben (so habe ich das gemacht, weil ich noch auf ZFS
umstellen wollte, dazu müssen eh alle Daten einmal runter und dann
wieder drauf) oder sicherstellen, dass das Debian-ecrypt das
noch entschlüsseln kann (das habe ich _nicht_ verprobt).


Umstellung
----------

Die läuft grob so:

- man macht ein 'apt dist-upgrade'
- das bricht irgendwann ab
- teilweise kommt man mit 'apt --fix-broken install' weiter
- wenn nicht, muss man selber Hand anlegen
- repeat bis fertig

Da ich faul bin und nicht so viel selber tippen wollte, ist dieses
Shellskript mit dem treffenden Namen install-hard.sh entstanden:

#v+

#!/bin/bash
to_update() {
apt list --upgradable 2>/dev/null | wc -l
}
while true; do
before=$(to_update)
if apt --yes -o Dpkg::Options::=--force-confnew dist-upgrade; then
echo FINISHED
exit 0
fi
apt --yes -o Dpkg::Options::=--force-confnew --fix-broken install
apt --yes autoremove
after=$(to_update)
if [ $before -eq $after ]; then
echo NO PROGRESS, MANUAL ERROR FIX NEEDED
exit 1
fi
done

#v-

Auf beiden Systemen hat er jeweils ca. 2000 Pakete updaten wollen.

Ich wollte mich nicht ständig wegen conffile-Updates fragen lassen und
habe erstmal überall die Maintainer-Version genommen und im Anschluss
einmal mit merge-conffile-updates.sh³ die Änderungen gemerged. Wer
das nicht so will, nimmt das '-o Dpkg::Options::=--force-confnew'
raus.

Das 'apt autoremove' kann auch raus, aber das eine System hatte wenig
Platz, da wollte ich keine volle Platte riskieren.

Wenn das Script mit "NO PROGRESS" aussteigt, muss man selbst basteln.
Das tritt aber erstaunlich selten auf. Meistens handelt es sich um
Dateien, die unter Ubuntu in Paket A liegen, in Debian aber Paket B
gehören, wobei dann 'dpkg --force-depends -r $UBUNTU-PAKET' hilft.
Ich habe die Änderung über SSH durchgeführt, da hatte ich z.B. wenig
Skrupel, dass das System mal kurzzeitig ohne "libxfixes3" dasteht.

Bei anders gearteten Fehlern muss man halt schauen und sich irgendwie
selber helfen :-)


Wenn das durch ist, hat man das gröbste hinter sich.


Nachbereitung:
--------------

1. /etc/profile.d/01-locale-fix.sh löschen. Unter Ubuntu gehörte die
Datei zu base-files, unter Debian nicht mehr - sie ist aber als
conffile markiert und damit nicht gelöscht worden. Solange sie da
noch liegt, meldet jede Login-Shell einmalig '-bash:
/usr/bin/locale-check: No such file or directory' - nervig.

!! Das ist ein Punkt, wo ich noch eine Frage hätte: conffiles
werden ja nicht gelöscht. Wie kriege ich raus, wo im System
noch conffiles liegen, die mal von Ubuntu angelegt wurden und
nicht aus den Debian-Paketen stammen? dpkg merkt sich ja nur
'das ist ein conffile von Paket X', ohne den Unterschied
Ubuntu-X zu Debian-X zu kennen (oder gar Version X+1 vs. X-1),
oder?

2. 'apt dist-upgrade' macht nur Updates, die Downgrades müssen wir
manuell anstoßen. Man findet die Pakete über folgende Suchen und
muss dann manuell eingreifen (ich habe das über die aptitude-UI
erledigt):

- aptitude search ~o ('Local and obsolete Packages')
- aptitude search ~Vubuntu ('Ubuntu' in der Versionsnummer)
- aptitude search ~Vbuild ('build in der Versionsnummer)
- aptitude search '?narrow(?installed, ?not(?origin(Debian)))'
(Tipp von Marc Haber)
- apt list |grep ',local' (Tipp von Marco Moock)

Das sind auch gar nicht so viele Downgrades, wie man initial denkt,
denn es gibt öfter den Fall, dass Ubuntu z.B. 1:1.32-3 hat, Debian
aber 1.38-0. Nach dpkg-Zählung ist das Ubuntu-Paket wegen der
Epoch neuer, aber vom Inhalt des Paketes her bringt Debian ein
neueres Upstream-Release.

3. ggf. apparmor wieder installieren

4. ggf. die Änderung in /usr/bin/apt-listchanges zurücknehmen

5. Damit mein X ordentlich lief und ich wieder mehr als 80x25 Zeichen
auf der Konsole bekam, musste ich auf dem einen System noch
'firmware-amd-graphics' installieren. Bei anderen Grafikkarten
vermutlich was anderes (oder gar nichts).

6. Mein Thunderbird lief danach out-of-the box (aber da ist auch nicht
viel konfiguriert, den nutze ich nur als Fallback).

7. Firefox wird bei der Aktion von 104 auf 91.13esr downgegraded

!! Vorsicht: abweichender Paketname: 'firefox' unbedingt
deinstallieren, der kriegt sonst keine Updates; unter Debian
heißt das Paket 'firefox-esr'.

Beim Start legte Firefox stillschweigend ein neues Profil (bei mir:
'xyz.default-esr' statt wie bisher 'zyx.default') an. Wenn man per
--ProfileManager auf das alte default-Profil wechseln will, lehnt
Firefox das wegen Versionsimkompatibilität ab

Ich habe das wie folgt gelöst (und das ist der Teil von der ganzen
Anleitung, für den ich noch weniger Garantie übernehme also sowieso
schon keine):

- Profilverzeichnis 'xyz.default-esr' komplett löschen (sofern das
wie bei mir neu angelegt wurde; sonst nehmt ein neues Profil)

- kompletten Inhalt von 'zyx.default' dort reinkopieren (oder nicht
alles; da waren 5 Jahre alte Profil-Backups drunter, die paar
hundert MB habe ich gelöscht, als mir das auffiel)

- die Datei 'compatibility.ini' im Profil 'zyx.default-esr' löschen

Jetzt weiß Firefox nicht mehr, dass das Profil mal einer anderen
Firefox-Version gehört hat und lädt es ohne zu Mucken. Bei mir hat
es geklappt, aber ich habe den Browser auch nur 1 Tag benutzt
seitdem. Langzeitschäden unbekannt.



Das war's!
Adé Ubuntu, willkommen Debian.
Ohne Neuinstallation, alles noch da: Mailserver, VPNs, Backup-Skripte,
all das, was ich jahrelang auf den Systemen eingerichtet habe.

Ein weiteres System habe ich noch, falls sich da noch Erkenntnisse
ergeben, melde ich mich.


Guten Abend,
Christian


¹ Das erste System hat schon sauber unter Debian gebootet, dann habe
ich es zusätzlich auf ZFS umgezogen und auf UEFI gewechselt und bei
letzterem habe ich mir in den Fuß geschossen - das muss noch gefixt
werden, dann kann ich weitertesten.

² Wenn man als root 'dhclient eth0' ausführt, um wieder Netzwerk zu
bekommen, und das System das mit 'no permission' quittiert, guckt
man erst einmal sparsam.

³ https://github.com/mmitch/mitchscripts/blob/master/bash/merge-conffile-updates.sh
--
....Christian.Garbs....................................https://www.cgarbs.de
Same Rei. New Story.
Check out Neon Exodus Evangelion http://www.eyrie.net/NXE/

Tim Ritberg

unread,
Sep 13, 2022, 4:25:34 PM9/13/22
to
Am 13.09.22 um 21:57 schrieb Christian Garbs:
> Mahlzeit!
>
> Wir hatten das Thema "Wechsel von Ubuntu zu Debian" schon vereinzelt
> hier in der Gruppe angerissen, aber nur auf der Ebene "eigentlich
> müsste man mal, hat schon wer?". Hatte aber keiner.
>
> Da meine Ubuntu 20.04 LTSse jetzt offiziell mit dem Update auf 22.04
> LTS drohen (das erste Pointrelease ist da), war der ideale Zeitpunkt
> gekommen, das einfach mal durchzuziehen. So einen großen "Abstand"
> (möglichst alte Ubuntu-Pakete, möglichst neue Debian-Pakete) gibt es
> erst wieder, wenn das nächste Debian Stable frisch draußen ist (oder
> man schwenkt auf testing oder unstable).
>
> Ergebnis: Es klappt, bisher keine Probleme auf anderhalb¹ migrierten
> Systemen.
>
> CAVEAT: YMMV. Das ist eine Bastelei. Wer bei "es bootet nicht mehr"
> an Neuinstallation denkt, statt den USB-Stick mit einem Rescue-System
> zu zucken, ist hier falsch ;-)
>
>
Wäre es nicht schneller und einfacher die Systemplatte platt zu machen,
wenn man sich vorher die Paketnamen exportiert hat und dann so die
Programme einfach neuinstalliert? Auf Desktopsystem packt man /etc
sicher kaum an. Die meisten Programme sind für den User und haben ihre
Config im Home.

Tim



Christian Garbs

unread,
Sep 13, 2022, 5:11:19 PM9/13/22
to
Mahlzeit!

Christian Garbs <mi...@cgarbs.de> wrote:

> Ein weiteres System habe ich noch, falls sich da noch Erkenntnisse
> ergeben, melde ich mich.

Uff, Nachmeldung vom aktuellen System: Ich habe gerade 'wine32'
installiert. Das hat 'libthai0:i386' mit reingezogen. Das ließ sich
aber nicht installieren:

dpkg: error processing archive /var/cache/apt/archives/libthai0_0.1.28-3_i386.deb (--unpack):
trying to overwrite shared '/usr/share/doc/libthai0/changelog.Debian.gz', which is different from other instances of package libthai0:i386

Scheint so, als ob Ubuntu auch manchmal Änderungen an Debian-Paketen
macht, _ohne_ die Versionsnummer zu aktualisieren. Die installierte
libthai0 hat zwar die gleiche Versionsnummer wie in Debian, aber
anderen Inhalt.

Lösung in diesem Fall:

$ apt reinstall libthai0 libthai0:i386

Das muss man wohl die "Nacharbeiten" noch um den Punkt "debsums
installieren und laufen lassen" ergänzen.

Wobei debsums wohl das falsche Tool ist: Das vergleicht die Dateien
auf der Platte mit dem, was in /var/lib/dpkg steht. Das findet keine
Ubuntu-Abweichungen, weil bei denen /var/lib/dpkg ja ebenfalls
abweicht.

Was nimmt man da? Man müsste irgendwie sagen "vergleiche die lokalen
Dateien mit den Hashes von https://deb.debian.org/pool". Oder
einfacher/schneller: "vergleiche die Hashes in /var/lib/dpkg mit denen
der originalen .debs von /var/lib/dpkg".

debsig-verify geht wohl nicht bei schon installierten Paketen.

Es bleibt interessant :)

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Das Glück der Pferde
ist der Reiter auf der Erde!

Marco Moock

unread,
Sep 14, 2022, 1:37:07 AM9/14/22
to
Am Dienstag, 13. September 2022, um 19:57:40 Uhr schrieb Christian
Garbs:

> Ergebnis: Es klappt, bisher keine Probleme auf anderhalb¹ migrierten
> Systemen.
>
> CAVEAT: YMMV. Das ist eine Bastelei. Wer bei "es bootet nicht mehr"
> an Neuinstallation denkt, statt den USB-Stick mit einem Rescue-System
> zu zucken, ist hier falsch ;-)

Damit hast du vollkommen recht. Man vermischt Pakete beider Systeme, die
teilweise unterschiedlich sind, gerade bei Skripten, die etwas an Daten
verändern, z.B. bei Datenbank-Managementsystemen.

Die Wahrscheinlichkeit, dass so ein System irgendwann man komische
Sachen macht, ist groß. Ich rate davon ab. Auf neu zu
installierenden Desktop-PCs werde ich Debian Sid einsetzen, Ubuntu ist
bei mir wegen Snap weniger beliebt.

Christian Garbs

unread,
Sep 14, 2022, 3:11:33 AM9/14/22
to
Mahlzeit!

Christian Garbs <mi...@cgarbs.de> wrote:

> Nachbereitung:
> --------------

> 2. 'apt dist-upgrade' macht nur Updates, die Downgrades müssen wir
> manuell anstoßen. Man findet die Pakete über folgende Suchen und
> muss dann manuell eingreifen (ich habe das über die aptitude-UI
> erledigt):

Hier ist noch eine gute Stelle für 'aptitue purge ~c', damit man die
Conffiles der deinstallierten Pakete loswird und die nicht ständig in
den Listen auftauchen.

> - aptitude search ~o ('Local and obsolete Packages')
> - aptitude search ~Vubuntu ('Ubuntu' in der Versionsnummer)
> - aptitude search ~Vbuild ('build in der Versionsnummer)
> - aptitude search '?narrow(?installed, ?not(?origin(Debian)))'
> (Tipp von Marc Haber)
> - apt list |grep ',local' (Tipp von Marco Moock)
>
> Das sind auch gar nicht so viele Downgrades, wie man initial denkt,
> denn es gibt öfter den Fall, dass Ubuntu z.B. 1:1.32-3 hat, Debian
> aber 1.38-0. Nach dpkg-Zählung ist das Ubuntu-Paket wegen der
> Epoch neuer, aber vom Inhalt des Paketes her bringt Debian ein
> neueres Upstream-Release.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Q: How many mathematicians does it take to screw in a light bulb?
A: One. He gives it to six Californians, thereby reducing the problem
to the earlier joke.

Marc Haber

unread,
Sep 14, 2022, 3:27:25 AM9/14/22
to
Christian Garbs <mi...@cgarbs.de> wrote:
>6. Die Kombination von apt-listchanges mit einem eher langsamen Laptop
> ist unerträglich, weil er bei jedem apt-Kommando erstmal die
> Changelogs zusammensucht -- und wir rufen apt in einer Schleife
> auf. Ich habe kurzerhand in /usr/bin/apt-listchanges hinter die
> Zeile 'def main(config):' passend eingerückt ein 'sys.exit(0)'
> geschrieben, dann ging's schneller.

Kurz deinstallieren war keine Option?

apt-listchanges wird aus /etc/apt/apt.conf.d/20listchanges aufgerufen,
da hätte man es auch auskommentieren können.

>1. /etc/profile.d/01-locale-fix.sh löschen. Unter Ubuntu gehörte die
> Datei zu base-files, unter Debian nicht mehr - sie ist aber als
> conffile markiert und damit nicht gelöscht worden. Solange sie da
> noch liegt, meldet jede Login-Shell einmalig '-bash:
> /usr/bin/locale-check: No such file or directory' - nervig.

Es gibt cruft, das Dir Dateien meldet die nicht zu einem Paket
gehören. Und deborphan, das Dir Pakete meldet von denen nix mehr
abhängt. Und debfoster, das sich solche Entscceidungen merkt.

Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " |
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834

Peter Scholz

unread,
Sep 14, 2022, 5:43:48 AM9/14/22
to
Christian Garbs schrieb am Tue, 13 Sep 2022 19:57:40 -0000 (UTC):

> Adé Ubuntu, willkommen Debian.

Danke für die ausführliche Dokumentation!

War bestimmt so zeitintensiv und mühevoll wie die Migration selbst :-)

Die allgemeine Unzufriedenheit mit Ubuntu wächst überall wohl immer
mehr.

--
Gruß Peter

Tim Ritberg

unread,
Sep 14, 2022, 12:05:28 PM9/14/22
to
Am 14.09.22 um 11:43 schrieb Peter Scholz:
Ach was, bin recht zufrieden mit meinem Xubuntu since 2013.
Den Firefox hole ich mir als tar. Die Snapperei sitze ich aus.

Tim

--
Xubuntu 22.04 64 bit, Kernel 5.15 (native)

Joerg Lorenz

unread,
Sep 15, 2022, 5:58:34 AM9/15/22
to
Am 14.09.22 um 18:05 schrieb Tim Ritberg:
> Am 14.09.22 um 11:43 schrieb Peter Scholz:
>> Christian Garbs schrieb am Tue, 13 Sep 2022 19:57:40 -0000 (UTC):
>>
>>> Adé Ubuntu, willkommen Debian.
>>
>> Danke für die ausführliche Dokumentation!
>>
>> War bestimmt so zeitintensiv und mühevoll wie die Migration selbst :-)
>>
>> Die allgemeine Unzufriedenheit mit Ubuntu wächst überall wohl immer
>> mehr.
> Ach was, bin recht zufrieden mit meinem Xubuntu since 2013.
> Den Firefox hole ich mir als tar. Die Snapperei sitze ich aus.

Peter hat schon recht: Meinen mit Ubuntu gelieferten Dell XPS-9310 habe
ich nach kürzester Zeit auf meine bevorzugte Distri Mint mit
Zimtgeschmack umgerüstet. Wieso habe ich bei der Arbeit Ubuntu und vor
allem Anpassungen immer so Reminiszenzen an M$ Windows gehabt? Das wurde
mit jedem Release ausgeprägter.
Brauch ich nicht.

--
De gustibus non est disputandum

Tim Ritberg

unread,
Sep 15, 2022, 9:08:13 AM9/15/22
to

Am 15.09.22 um 11:58 schrieb Joerg Lorenz:
>
> Peter hat schon recht: Meinen mit Ubuntu gelieferten Dell XPS-9310 habe
> ich nach kürzester Zeit auf meine bevorzugte Distri Mint mit
> Zimtgeschmack umgerüstet. Wieso habe ich bei der Arbeit Ubuntu und vor
> allem Anpassungen immer so Reminiszenzen an M$ Windows gehabt? Das wurde
> mit jedem Release ausgeprägter.
> Brauch ich nicht.

Da ich mit meinem PC auch mal daddel, ist mir die LTS schnell zu alt.
Ansonsten habe ich auch keine Lust 2 Jahre auf neue Pakete zu warten.

Tim

Christian Garbs

unread,
Sep 15, 2022, 3:46:22 PM9/15/22
to
Mahlzeit!

Marc Haber <mh+usene...@zugschl.us> wrote:
> Christian Garbs <mi...@cgarbs.de> wrote:

>>6. Die Kombination von apt-listchanges mit einem eher langsamen Laptop
>> ist unerträglich, weil er bei jedem apt-Kommando erstmal die
>> Changelogs zusammensucht -- und wir rufen apt in einer Schleife
>> auf. Ich habe kurzerhand in /usr/bin/apt-listchanges hinter die
>> Zeile 'def main(config):' passend eingerückt ein 'sys.exit(0)'
>> geschrieben, dann ging's schneller.
>
> Kurz deinstallieren war keine Option?

Zu einfach :) Ich glaube, ich hab's kurz überlegt, aber weil ich
mitten in den Updates war, wollte ich nicht plötzlich was löschen.
Als ich gesehen habe, dass das nur ein Python-Skript ist, war das so
fix gemacht (ich war gerade root), da hab ich nicht lange überlegt.

> apt-listchanges wird aus /etc/apt/apt.conf.d/20listchanges aufgerufen,
> da hätte man es auch auskommentieren können.

Ah! So geht das. Logisch, irgendwo muss es sich einhängen.
Wieder was gelernt.

>>1. /etc/profile.d/01-locale-fix.sh löschen. Unter Ubuntu gehörte die
>> Datei zu base-files, unter Debian nicht mehr - sie ist aber als
>> conffile markiert und damit nicht gelöscht worden. Solange sie da
>> noch liegt, meldet jede Login-Shell einmalig '-bash:
>> /usr/bin/locale-check: No such file or directory' - nervig.

> Es gibt cruft, das Dir Dateien meldet die nicht zu einem Paket
> gehören.

Ich habe cruft und cruft-ng ausprobiert (kannte ich vorher noch
nicht), die machen beide genau das falsche: Sie melden mir, dass die
Datei /etc/profile.d/01-locale-fix.sh unerwartet verschwunden sei.

Das ist nachvollziehbar, weil das base-files aus Ubuntu die Datei mal
als conffile angemeldet hat und die anschließende Installation von
base-files aus Debian diese Datei nicht als conffile abgemeldet hat
(warum sollte sie auch, die kennt die ja gar nicht).

Jetzt denkt dpkg weiterhin, dass base-files diese Datei als conffile
hat und führt sie als solches.

Was ich jetzt bräuchte, wäre so etwas wie ähnliches cruft, das mein
lokales /var/lib/dpkg/info/*.conffiles mit dem "offiziellen" Stand aus
Debian Bullseye abgleicht.

Sind die conffiles eines Paketes irgendwo abrufbar aufgelistet?
Dann kann ich mir ein Skript schreiben, dass das vergleicht.

Unter packages.debian.org finde ich zwar eine "list of files" für
jedes Paket, aber das sind ja nicht speziell die conffiles, die
könnten ja z.B. auch von pre- oder post-inst dynamisch angelegt
werden.

> Und deborphan, das Dir Pakete meldet von denen nix mehr abhängt.

Unbenutzte abhängige Pakete sind schon wegen der
Abhängigkeitserkennung von apt/aptitude rausgefallen (deswegen das
"apt autoremove" in meinem Skript), aber deborphan hat tatsächlich
noch 4 Libraries gefunden, die seiner Meinung nach unnötig waren.

Ich habe die einfach aufgeräumt, aber jetzt gerade würde ich schon
gerne wissen, warum deborphan die ausgespuckt hat, wenn laut
apt/aptitude alles nicht benötigte schon weg war. Hätte ich mal
nachforschen müssen.

> Und debfoster, das sich solche Entscceidungen merkt.

Stimmt, das hatten wir schonmal. Ich bin immer noch der Meinung,
dass das ungefähr das gleiche tut wie 'apt-mark' bzw. die
'manuell/automatisch'-Auswahl in apt oder aptitude :-)

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
gsenedt vno miemen iPghone !

Christian Garbs

unread,
Sep 15, 2022, 4:04:12 PM9/15/22
to
Mahlzeit!

Marco Moock <mo...@posteo.de> wrote:
> Am Dienstag, 13. September 2022, um 19:57:40 Uhr schrieb Christian
> Garbs:
>
>> Ergebnis: Es klappt, bisher keine Probleme auf anderhalb¹ migrierten
>> Systemen.
>>
>> CAVEAT: YMMV. Das ist eine Bastelei. Wer bei "es bootet nicht mehr"
>> an Neuinstallation denkt, statt den USB-Stick mit einem Rescue-System
>> zu zucken, ist hier falsch ;-)
>
> Damit hast du vollkommen recht. Man vermischt Pakete beider Systeme, die
> teilweise unterschiedlich sind, gerade bei Skripten, die etwas an Daten
> verändern, z.B. bei Datenbank-Managementsystemen.

Also eigentlich will ich sie ja (abgesehen temporär während der
Migration) _nicht_ mischen, sondern versuche, die letzten Restanten zu
finden, wo ich noch unerkannt eine Ubuntu-Version auf der Platte habe
statt des passenden Debian-Paketes.

Aber an Server und Datenbanken habe ich gar nicht gedacht, da würde
ich Ubuntu gar nicht erst draufpacken :)

Ich habe hier nur drei Laptops und Desktops mit Ubuntu, von damals,
als der Firefox in Debian unerträglich alt war und ich deswegen mal zu
Ubuntu geschwenkt bin. Seitdem schleppe ich die so mit, aber da der
Rest alles Debian ist und ich dafür nicht bezahlt werde, will ich
alles mit einer Distribution fahren.

Nach "Ubuntu hat Syncthing kaputtgemacht, da muss man das
Upstream-Repository nehmen", "bei gleicher .emacsrc funktionieren
nicht alle Tasten im Emacs im Textmodus" und jetzt "Ubuntu macht
Firefox nur noch als Snap, überall den Upstream-Tarball installieren"
kommt bestimmt bald das nächste. Das ist alles lösbar, aber ich habe
keine Lust, da immer Zeit zu investieren.

> Die Wahrscheinlichkeit, dass so ein System irgendwann man komische
> Sachen macht, ist groß. Ich rate davon ab. Auf neu zu
> installierenden Desktop-PCs werde ich Debian Sid einsetzen, Ubuntu
> ist bei mir wegen Snap weniger beliebt.

Ja, das kann irgendwann mal komisch reagieren. Ich bin gespannt :)

Am meisten Bammel hatte ich übrigens vor dem Firefox-Profil. Dass das
das Downgrade um 13 Versionsnummern dem ersten Anschein nach überlebt
hat, ist unerwartet. Bei z.B. einer MariaDB hätte ich da weniger
Angst gehabt - vielleicht wäre es da aber auch eher ein Up- als
Downgrade gewesen.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
find / -name \*yourbase\* -exec chown us:us {} \;

Marc Haber

unread,
Dec 27, 2022, 11:33:05 AM12/27/22
to
Christian Garbs <mi...@cgarbs.de> wrote:
>Marc Haber <mh+usene...@zugschl.us> wrote:
>> Christian Garbs <mi...@cgarbs.de> wrote:
>>>6. Die Kombination von apt-listchanges mit einem eher langsamen Laptop
>>> ist unerträglich, weil er bei jedem apt-Kommando erstmal die
>>> Changelogs zusammensucht -- und wir rufen apt in einer Schleife
>>> auf. Ich habe kurzerhand in /usr/bin/apt-listchanges hinter die
>>> Zeile 'def main(config):' passend eingerückt ein 'sys.exit(0)'
>>> geschrieben, dann ging's schneller.
>>
>> Kurz deinstallieren war keine Option?
>
>Zu einfach :) Ich glaube, ich hab's kurz überlegt, aber weil ich
>mitten in den Updates war, wollte ich nicht plötzlich was löschen.
>Als ich gesehen habe, dass das nur ein Python-Skript ist, war das so
>fix gemacht (ich war gerade root), da hab ich nicht lange überlegt.

Aber eigentlich sollt apt-listchanges doch auch nur die Changelogs von
den Paketen ziehen, die vom aktuellen apt gerade bearbeitet werden.
Ist das ein wiederkehrendes Problem?

>> apt-listchanges wird aus /etc/apt/apt.conf.d/20listchanges aufgerufen,
>> da hätte man es auch auskommentieren können.
>
>Ah! So geht das. Logisch, irgendwo muss es sich einhängen.

Sich apt.conf.d mal näher anzugucken ist sehr hilfreich.

>Das ist nachvollziehbar, weil das base-files aus Ubuntu die Datei mal
>als conffile angemeldet hat und die anschließende Installation von
>base-files aus Debian diese Datei nicht als conffile abgemeldet hat
>(warum sollte sie auch, die kennt die ja gar nicht).
>
>Jetzt denkt dpkg weiterhin, dass base-files diese Datei als conffile
>hat und führt sie als solches.

Okay, dass sowas nicht berücksichtigt wird ist unschön. Crosscrades
zwischen Debian und Derivaten sind weder getestet noch supported, aber
vieleicht lohnt sich hier wenigestens ein (nett geschriebener, yadda
yadda, "I know this is unsupported but...") Bugreport zur
Dokumentation des Verhaltens.

>Was ich jetzt bräuchte, wäre so etwas wie ähnliches cruft, das mein
>lokales /var/lib/dpkg/info/*.conffiles mit dem "offiziellen" Stand aus
>Debian Bullseye abgleicht.
>
>Sind die conffiles eines Paketes irgendwo abrufbar aufgelistet?

Eines installierten Pakets? In /var/lib/dpkg/info. Conffiles eines
deb-Files? dpkg --ctrl-tarfile $DEB | tar --extract --to-stdout --file
- ./conffiles

Ich glaube nicht dass es irgendwo einen Dienst gibt der alle debs im
Archiv auspackt und die Controlfiles irgendwo hinwirft.

>Unter packages.debian.org finde ich zwar eine "list of files" für
>jedes Paket, aber das sind ja nicht speziell die conffiles, die
>könnten ja z.B. auch von pre- oder post-inst dynamisch angelegt
>werden.

Ich glaube nicht dass maintainerscripts dpkg-conffiles dynamisch
anlegen dürfen. Aber es gibt noch ucf, eine völlig unabhängige Methode
um Konfigurationsdateien zu verarbeiten.

Über Konfigurationsdateien in Debian könnte ich eine halbe Stunde
rantan, da gibt es mindestens zwei Verfahren, die zueinander
inkompatibel sind und beide andere Lücken haben. Das ist aus meiner
Sicht einfach niemals fertig implementiert worden.

>Ich habe die einfach aufgeräumt, aber jetzt gerade würde ich schon
>gerne wissen, warum deborphan die ausgespuckt hat, wenn laut
>apt/aptitude alles nicht benötigte schon weg war. Hätte ich mal
>nachforschen müssen.

Das könnte was mit Recommends/Suggests oder der Paketpriorität zu tun
gehabt haben.

>> Und debfoster, das sich solche Entscceidungen merkt.
>
>Stimmt, das hatten wir schonmal. Ich bin immer noch der Meinung,
>dass das ungefähr das gleiche tut wie 'apt-mark' bzw. die
>'manuell/automatisch'-Auswahl in apt oder aptitude :-)

Nein, das macht mehr. Vor allen Dingen kann man damit wiederholte
Dinge tun, z.B. benutze ich deborphan um in meiner Entwicklungs-VM die
zum Bauen eines Pakets nachinstallierten build-depends wieder
loszuwerden. Da hilft apt-mark nicht, weil die Pakete ja alle
"manuell" installiert wurden.
0 new messages