Nicht-Standard-Paketquellen deaktivieren?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Nicht-Standard-Paketquellen deaktivieren?

Beitrag von halo44 » 02.01.2017 20:07:07

Ich habe mal eine grundsätzliche Frage, daher auch in dieser Sektion gestellt.

Vor einiger Zeit habe ich mal mit avidemux experimentiert und musste hierzu die sources.list um diesen Eintrag ergänzen:

Code: Alles auswählen

deb ftp://ftp.deb-multimedia.org/ jessie non-free main
.
Inzwischen benötige ich avidemux nicht mehr und könnte es deinstallieren und das Paket löschen. Das habe ich versucht, muß aber leider feststellen, daß inzwischen etliche Pakete die u.a. auch ffmpeg und vlc betreffen aus dieser Paketquelle installiert oder aktualisiert wurden. Vermutlich hätte ich gleich nach der Installation von avidemux die Paketquelle in der sources.list deaktivieren sollen. Das bringt aber jetzt nichts mehr.

Wie kann ich alle Pakete, die mit "dmo" markiert sind durch die der regulären Debian-Paketquellen ersetzen? Versuche ich z.B. vlc-nox 1:2.2.1-dmo3+deb8u1 zunächst einmal zu löschen, dann will er u.a. ark, digikam, dolphin, gwenview, kdm und etliche weitere KDE-Komponenten mit löschen. Das möchte ich aber nicht wirklich.

Gibt es überhaupt noch eine Möglichkeit jetzt die Angelegenheit noch zu "reparieren"? Anderenfalls würde ich einfach eine Neuinstallation, dann aber Stretch (wenn es noch weiter gereift ist) vornehmen. Auf meinem Notebook läuft Stretch schon ohne Probleme und ohne diese Paketquelle, allerdings ohne avidemux.

Gruss H.

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: Nicht-Standard-Paketquellen deaktivieren?

Beitrag von tobo » 02.01.2017 20:36:19

halo44 hat geschrieben:IGibt es überhaupt noch eine Möglichkeit jetzt die Angelegenheit noch zu "reparieren"?
Es sollte eigentlich funktionieren, dass man die Pakete (inklusive Abhängigkeiten) downgraden kann:

Code: Alles auswählen

# apt-get install vlc/jessie ffmpeg/jessie
Das deaktivieren der Paketquelle wäre übrigens nicht die Lösung gewesen, sondern ein ordentlicher Pinning-Wert der dmo-Quelle.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Nicht-Standard-Paketquellen deaktivieren?

Beitrag von smutbert » 02.01.2017 22:52:00

Hätte aber wahrscheinlich auch nicht viel geholfen, weil viele, wenn nicht gar die meisten Programme von deb-multimedia zumindest von den Abhängigkeiten her auch die angepassten Bibltiotheken benötigen, die die von Debian ersetzen und deb-multimedia obendrein die Epoch-Nummern hochsetzt, damit bei Upgrades auf jeden Fall die Pakete von deb-multimedia installiert werden. Daher ist die Rückkehr zu den Originalpaketen von Debian auch nicht immer ganz so simpel.

Je nachdem wie tief das mit den Abhängigkeiten dazu geführt hat, dass Originaldebianpakete durch welche von deb-multimedia ersetzt wurden, hat man mehrere Varianten zur Auswahl. Ich bin einmal recht brutal vorgegangen und hab (grob)
  1. die Paketquelle aus der »sources.list« entfernt und »apt update« ausgeführt
  2. mit »dpkg -P --force-all paket1 paket2 …« die Deinstallation aller fremden Pakete erzwungen und durch Ignorieren der Abhängigkeiten die originalen Debianpakete „stehen gelassen“
  3. mit »apt -f install« die Abhängigkeiten aus den Debianquellen wieder installiert
Zu einer Liste für 2. (der zu deinstallierenden Pakete) könnte man mit zB mit

Code: Alles auswählen

dpkg -l | grep dmo | awk '{print $2}'
kommen, aber achtung, in der Liste sind dann auch Pakete, die "dmo" lediglich im Namen haben - also auf jeden Fall die Liste noch einmal überfliegen.
Ich möchte dieses brutale Vorgehen jetzt nicht unbedingt weiterempfehlen, aber bei mir hat es funktioniert und es war weniger Arbeit als das einzelne Durchgehen der Pakete und das manuelle Auflösen der Abhängigkeiten.

Eleganter ist es einfach ein Downgrade zu machen. Dazu muss man deb-multimedia nicht einmal unbedingt aus den Paketquellen verbannen. Mit

Code: Alles auswählen

Package: *
Pin: origin *.debian.org
Pin-Priority: 1001 
 
Package: *
Pin: origin *.deb-multimedia.org
Pin-Priority: 1
in einer selbt angelegten Datei unter »/etc/apt/preferences.d/« (zB »/etc/apt/preferences.d/deb-multimedia«) setzt man die Priorität von den Originalpaketen auf mehr als 1000, damit auch downgegradet wird und weist deb-multimedia obendrein eine niedrige Priorität zu. Ob danach ein »apt update« notwendig ist, weiß ich jetzt gar nicht, aber ein »apt upgrade« »apt dist-upgrade« sollte jedenfalls die deb-multimedia-Pakete wieder durch die von Debian ersetzen - eventuell vorher die Auswirkungen mit -s (also »apt -s upgrade«) simulieren.


Wenn ich übrigens gelegentlich avidemux brauche, hole ich mir das kompilierte Programm von hier:
http://fixounet.free.fr/avidemux/download.html (Linux 64, Universal binaries)

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Nicht-Standard-Paketquellen deaktivieren?

Beitrag von uname » 03.01.2017 08:18:56

Du kannst dir noch das Paket Debianapt-show-versions anschauen, um die Zuordnung zu den Quellen zu erkennen.

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: Nicht-Standard-Paketquellen deaktivieren?

Beitrag von halo44 » 03.01.2017 09:08:47

Danke für Euer Engagement. Ich werde mir die Operation mal für heute gegen Mittag vornehmen. Vorher noch eine Systemsicherung um Eventualitäten vorzubeugen.

Ich berichte.

Gruss H.

halo44
Beiträge: 703
Registriert: 12.05.2015 15:19:13

Re: Nicht-Standard-Paketquellen deaktivieren?

Beitrag von halo44 » 03.01.2017 11:55:27

Danke für Eure Hilfe. Die Welt ist wieder in Ordnung.

Das Paket apt-show-versions ist sehr interessant. Ich werde mich damit auch mal näher beschäftigen.

Durchgeführt habe ich aber die "brutale" Methode von smutbert. Zwar wollte dieser Befehl

Code: Alles auswählen

dpkg -l | grep dmo '{print $2}'
nicht so recht, weil ich erhielt

Code: Alles auswählen

grep: {print $2}: Datei oder Verzeichnis nicht gefunden
, daher habe ich mir mit

Code: Alles auswählen

cut -d' ' -f3
geholfen und dann weiter verfahren, wie vorgeschlagen.

Nochmals vielen Dank.

Gruss H.

Edit: ich sehe, daß smutbert inzwischen nachgebessert hat, also geht auch damit

Antworten