Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Selbstverschuldeter Ärger (gelöst)  (Read 3158 times)

Offline pit

  • User
  • Posts: 217
Selbstverschuldeter Ärger (gelöst)
« on: 2013/07/12, 19:16:01 »
Angefangen hat alles damit, dass ich ffmpeg in der Version 2.0 installieren wollte. In dieser Version ist das Programmpaket aber nicht in den regulären Repositorien vertreten. Also:
Ja, ich habe gesündigt.
Ich habe das Repo von Christian Marillat eingebunden und ffmpeg aktualisiert.

Danach fiel mir auf, dass jeglicher Versuch, z.B. beliebige Videos mittels ffplay abzuspielen oder Konvertierungen mittels ffmpeg vorzunehmen massenhaft Fehler produzierte, das Vorhaben scheiterte in jedem Fall. Bsp.:
Code: [Select]
Value -4616189618054758400.000000 for parameter 'aq_mode' out of range

Das böse Repo habe ich zwischenzeitlich natürlich wieder rausgeschmissen (verbunden mit dem obligatorischen apt-get update).

Mein Versuch, die Version wieder downzugraden (reguläres Paket), brachten auch keine Besserung. Im IRC hat man mir empfohlen, möglichst alle dmo Pakete gegen ihre regulären Pendants auszutauschen. Ich hatte mittlerweile gut 60 dmo Pakete angesammelt. Nach umfangreichem Konfigurationsorgien verbleiben nun immer noch 13 dmo Pakete, die ich nicht wieder loswerde:

Code: [Select]
$ dpkg -l | grep dmo | grep ^ii.* | cut -d " " -f 3
libaacplus2:amd64
libavcodec53:amd64
libavformat53:amd64
libavutil51:amd64
libavutil52:amd64
libfaac0:amd64
libloudmouth1-0                                                                                                                          
libmp3lame0:amd64
libswscale2:amd64
libtag1-vanilla:amd64
libtag1c2a:amd64
libx264-124:amd64
libxvidcore4:amd64


Es gelingt z.B. weder via apt-get purge xyz noch via apt-get --reinstall install xyz eins der oben aufgelisteten Pakete loszuwerden bzw. gegen die Version aus den regulären Repos auszutauschen.
Stichprobe mit libaacplus2, da heißt es entweder
Code: [Select]
0 aktualisiert, 1 neu installiert, 200 zu entfernen und 0 nicht aktualisiert.
oder
Code: [Select]
Erneute Installation von libaacplus2 ist nicht möglich, es kann nicht heruntergeladen werden.
Ähnliches Ergebnis bei allen anderen oben genannten Paketen.

Ich bin kurz davor, das System neu aufzusetzen. Sollte jemand von euch noch sachdienliche Hinweise haben, wie ich diesen selbstverschuldeten Schlamassel wieder ausbügeln kann, wäre das schick!

Grundsätzliche Probleme mit der Grafik (i7 3770 mit hd4000) kann ich sonst nicht beobachten. Avconv und Konsorten zeigen allerdings die gleichen Fehler. Mplayer, vlc + Co verhalten sich dagegen wunschgemäß.

Offline der_bud

  • User
  • Posts: 1.034
  • member
Selbstverschuldeter Ärger
« Reply #1 on: 2013/07/12, 20:20:31 »
Wenn im Zweifelsfall eh eine Neuinstallation ansteht, könntest Du vielleicht ganz dirty statt mittels apt-Paketmanagement die Pakete einzeln mittels dpkg deinstallieren und dabei das ignorieren von Abhängigkeiten forcieren
Code: [Select]
dpkg --force-depends --remove foo(http://debiananwenderhandbuch.de/dpkg.html#dpkgfd).
Danach wird apt zwangläufig heftigst über fehlende Abhängigkeiten meckern, die sich eventuell mit sauberen sourcen und mehrfachen updates und install -f richten lassen. Viel Spass dabei ;)
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

Offline michaa7

  • User
  • Posts: 2.193
Selbstverschuldeter Ärger
« Reply #2 on: 2013/07/12, 21:24:48 »
Ich würde ähnlich vorgehen wie der_bud, aber doch mit einigen korrekturen:

Grundsätzlich würde ich auch dpkg mit force optionen nutzen. Das ist unter normalen umständen quasi untersagt, weil dein system *garantiert* inkonsistent wird. Per definition wird damit *erzwungen* gegen regeln zu verstoßen die dazu da sind das system konsistent zu halten.
Wir tuen das hier dennoch, weil wir recht gut wissen was wir tun, dennoch ohne garantie. Wir wollen pakete, von denen *andere* pakete abhängen, löschen um sie durch pakete zu ersetzen, die (hoffentlich ;-) ) genau die gleichen rückwärtsabhängigkeiten besitzen. Am ende ist das system wieder konsistent, soll es zumindest sein.

Im gegensatz zu der_bud würde ich *auf keinen fall* remove verwenden, weil es konfigurationsfiles zurückläßt. Statt dessen würde ich "purge" verwenden was (ausser in deinem home, aber libraries werden dort kaum etwas hinterlassen) alle konfigfile eine pakets mitlöscht:

Code: [Select]
dpkg --force-depends --purge foo

Dann würde ich nicht apt verwenden, sondern würde, nachdem ich zuvor schon alle neuen ersatzpakete, notfalls per browser, heruntergeladen hätte - und es gibt hoffenlich zu jedem dmo paket ein entsprechendes Debian paket - alle pakete per
Code: [Select]
dpkg -i foo installieren, und falls dies so nicht gehen sollte, was gut möglich wäre, dann installierst du die pakete mittels
Code: [Select]
dpkg -i --force-overwrite foo

Da am ende alle benötigten pakete wieder da sind ist dein system wieder konsistent.

Dann erst würde ich ein d-u hinterherschieben.

Ich will nicht behaupten das der_bud_s variante mit apt-get -f install nicht funktioniert, vielleicht kann auch das klappen, aber die remove option solltes du in jedem fall durch die purge option ersetzen. Der rest ist *vielleicht* ausprobierbar.
Ok, you can't code, but you still might be able to write a bug report for Debian's sake

Offline der_bud

  • User
  • Posts: 1.034
  • member
Selbstverschuldeter Ärger
« Reply #3 on: 2013/07/12, 23:20:46 »
michaa7, +1, danke für die korrigierenden Hinweise :)
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

Offline pit

  • User
  • Posts: 217
RE: Selbstverschuldeter Ärger
« Reply #4 on: 2013/07/13, 13:56:07 »
Hallo @bud + @michaa,

vielen Dank für euren wertvollen Input! Ich konnte in der Tat (so wie von michaa beschrieben) alle genannten Pakete deinstallieren und den größten Teil (nach vorherigem Herunterladen) reinstallieren. Gescheitert bin ich nur mit

- libaacplus2
- libfaac0
- libx264-124

Diese drei Pakete gibt es offensichtlich nur im multimedia repo. Jetzt mach ich mal ein d-u, dann einen reboot und schaue dann, ob das System noch läuft (und vielleicht sogar ffmpeg wieder sauber funktioniert).

Nachtrag: Ein dmo-Paket habe ich mir wohl wieder eingefangen, das ist merkwürdigerweise in den regulären unstable u. testing Repositorien und wird für amarok benötigt:

Code: [Select]
apt-cache policy libloudmouth1-0
libloudmouth1-0:
  Installiert:           1.4.3-9
  Installationskandidat: 1.4.3-9
  Versionstabelle:
 *** 1.4.3-9 0
        500 http://http.debian.net/debian/ unstable/main amd64 Packages
        500 http://ftp.de.debian.org/debian/ testing/main amd64 Packages
        100 /var/lib/dpkg/status


Nachtrag:
apt-get dist-upgrade lief sauber durch, ein anschließendes apt-get install -f bot nix an und auch ffmpeg und Konsorten laufen wieder korrekt. Vielen Dank! Mit eurer Hilfe bin ich um ein Neuaufsetzen des Gesamtsystems herumgekommen. Von deb-multimedia.org werde ich künftig die Finger lassen. Versprochen! ;-)