Nur Teile eines Repositories benutzen

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
cronotk
Beiträge: 112
Registriert: 30.10.2006 20:58:28
Kontaktdaten:

Nur Teile eines Repositories benutzen

Beitrag von cronotk » 11.04.2013 13:58:39

Hallo!

Ich habe neulich mal Wheezy (amd64) installiert und dazu die Closed-Source-NVidia-Treiber von deren Homepage. Allerdings werden die 32-Bit Kompatibilitätsbibliotheken da nicht korrekt mitinstalliert. Bevor ich da ewig lange (und ohne X) rumprobiere, dachte ich, dass ich ja auch einfach den aus non-free nehmen könnte. Das hat auch alles prima funktioniert, ich habe ein funktionierendes X und auch Grafikbeschleunigung für 32-Bit-Programme.

Aber jetzt habe ich all diese ganzen unfreien Programme in meinen Paketquellen. Stallman wäre böse!
Gibt es eine Möglichkeit, apt so zu konfigurieren, dass ich nur bestimmte Pakete aus non-free und contrib habe (um genau zu sein die NVidia-Treiber), der ganze Rest aber nicht installierbar ist und main ansonsten die einzige Paketquelle?

Ich hatte zuerst an Pinning gedacht, aber soweit ich bisher nachgelesen habe geht das nur über Releasergenzen hinweg (also Mischung von z.B. Testing mit Unstable), und nicht innerhalb eines Repositories (also nicht zwischen main und non-free). Und selbst dann wären die Pakete noch versehentlich installierbar.

Ich könnte die Pakete aus non-free natürlich auch selbst herunterladen und mit dpkg installieren, aber dann muss ich mich um die Aktualisierung und Abhängigkeitsauflösung manuell kümmern -> nicht toll.


mfg

lemak
Beiträge: 1213
Registriert: 09.11.2007 13:25:57
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Nur Teile eines Repositories benutzen

Beitrag von lemak » 11.04.2013 14:02:06

cronotk hat geschrieben: Aber jetzt habe ich all diese ganzen unfreien Programme in meinen Paketquellen. Stallman wäre böse!
Wieviel Stockschläge gibt es denn: Debianvrms? Installiert sind/werden ja nur die gewollten und benötigten Pakete aus non-free.

Radfahrer

Re: Nur Teile eines Repositories benutzen

Beitrag von Radfahrer » 11.04.2013 14:05:12

Wenn du in eine Bücherei gehst, stehen dir auch alle Bücher zur Verfügung, die es da gibt.
Lesen musst du nur die, die du willst. :wink:

Also:
In den Repos sind halt alle Pakete, die da sind.
Das hat ja aber nichts damit zu tun, was du auf deinem Rechner installierst.

cronotk
Beiträge: 112
Registriert: 30.10.2006 20:58:28
Kontaktdaten:

Re: Nur Teile eines Repositories benutzen

Beitrag von cronotk » 11.04.2013 14:10:10

lemak hat geschrieben:Wieviel Stockschläge gibt es denn: Debianvrms?
Haha, das muss ich heute abend mal ausprobieren :wink:

Nein, mich ärgert es nur, wenn ich versehentlich ein unfreies Programm installiere, damit ernsthaft arbeite und welches dann in der nächsten Version von Debian rausfliegt. Sowas hatte ich früher schonmal, leider habe ich vergessen, welches Programm das war (es hatte irgendwas mit Videobearbeitung zu tun). Darum hatte ich sonst auch ausschließlich main verwendet.
Dann nehme ich lieber ein Opensource-Programm, das kann ich notfallsweise immer noch selbst nachkompilieren, auch wenn die "Hersteller" keine Lust mehr drauf haben.

Radfahrer

Re: Nur Teile eines Repositories benutzen

Beitrag von Radfahrer » 11.04.2013 14:25:34

Naja, dann schaust du halt nach, bevor du ein Programm installierst.

Ein:

Code: Alles auswählen

apt-cache policy <Paketname>
gibt hier Auskunft.

lemak
Beiträge: 1213
Registriert: 09.11.2007 13:25:57
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Nur Teile eines Repositories benutzen

Beitrag von lemak » 11.04.2013 14:49:13

Du könntest dir mit Debianequivs ein Paket bauen das alle anderen Pakete aus non-free als Conflicts aufführt. Das würde dann deinstalliert sobald ein neues Paket aus non-free installiert werden soll (Hier sollte man dann drüber stolpern). Wenn du das Paket noch auf Priority: required setzt, bekommst du dann eine Meldung wie:
Sie sind im Begriff, etwas potentiell Schädliches zu tun.
Zum Fortfahren geben Sie bitte »Ja, tue was ich sage!« ein.
Vgl. Debianharden-clients usw. aber obs den Aufwand lohnt... und das mit der Meldung so im Sinne des Erfinders ist :-/
Zuletzt geändert von lemak am 11.04.2013 15:00:16, insgesamt 1-mal geändert.

cronotk
Beiträge: 112
Registriert: 30.10.2006 20:58:28
Kontaktdaten:

Re: Nur Teile eines Repositories benutzen

Beitrag von cronotk » 11.04.2013 14:59:47

Tja, dann muss ich bei Paketinstallationen eben etwas vorsichtiger sein.
Radfahrer hat geschrieben:Naja, dann schaust du halt nach, bevor du ein Programm installierst.
Klar kann ich immer manuell nachschauen. Ich könnte die nötigen Pakete auch manuell installieren und warten. Aber es wäre viel praktischer, wenn das auch schon mit Bordmitteln (wie z.B. apt-pinning) gehen würde. :wink:

Radfahrer

Re: Nur Teile eines Repositories benutzen

Beitrag von Radfahrer » 11.04.2013 15:06:16

Man sollte man schon wissen, was man so installiert.
Und nochmal:
Nur, weil man die contrib und non-free-Quellen in die sources.list einträgt, "hat" man ja noch lange keine unfreien Pakete. Man hat halt nur die Möglichkeit, sie zu installieren, wenn man will.
Ich habe ja auch nicht alles von Ikea, nur weil der Katalog bei mir rumliegt. :wink:

Und apt-pinning hat damit überhaupt nichts zu tun, da geht es um was ganz anderes.

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

Re: Nur Teile eines Repositories benutzen

Beitrag von uname » 11.04.2013 15:32:47

Nur, weil man die contrib und non-free-Quellen in die sources.list einträgt, "hat" man ja noch lange keine unfreien Pakete. Man hat halt nur die Möglichkeit, sie zu installieren, wenn man will.
Aber was das nicht gerade der Grund warum Debian von der FSF als nicht frei angesehen wurde? Oder wie ist der aktuelle Stand? Wobei der non-free-firmware-freie Kernel von Squeeze wurde vom FSF sehr gelobt.

lemak
Beiträge: 1213
Registriert: 09.11.2007 13:25:57
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Nur Teile eines Repositories benutzen

Beitrag von lemak » 11.04.2013 16:37:40

IMO stört es die FSF nur, dass es zu einfach ist das non-free Archiv zu nutzen (Schon der D-I bietet es an, Contrib und es nutzt/gehört im Grunde ja schon zur Debian Infrastrucktur. Auch wenn es kein off. Teil von Debian ist).
Als wenn der Schwierigkeitsgrad etwas darüber aussagen würde... Wobei es wohl eher um die Präsentz/Ab-Trennung von non-free geht.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: Nur Teile eines Repositories benutzen

Beitrag von NAB » 11.04.2013 17:10:51

Gerade wenn es um den Nvidia-Treiber geht, bei dem sind Updates ja durchaus mit Vorsicht zu genießen, macht es Sinn, "non-free" nach der Installation einfach wieder zu entfernen/auszukommentieren.

Ansonsten würde ich bei "non-free" nicht so panisch sein ... da finden sich auch eindeutig quelloffene Pakete wie "povray" oder die Dokumentation zum GNU (sic!) C Compiler und etliche Mediendateien für Spiele, bei denen nicht ins Letzte klar ist, wer nun welchen Pixel wohin geschoben hat.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
hikaru
Moderator
Beiträge: 13977
Registriert: 09.04.2008 12:48:59

Re: Nur Teile eines Repositories benutzen

Beitrag von hikaru » 11.04.2013 17:15:04

Ich vermute dass die Sache doch über Pinning zu lösen ist, nämlich über origin [1] indem du dir main und contrib/non-free aus verschiedenen Quellen holst:

Code: Alles auswählen

deb http://ftp.de.debian.org/debian squeeze main
deb http://ftp2.de.debian.org/debian squeeze contrib non-free
Dann fängst du an den zweiten Eintrag zu pinnen, nämlich so, dass du die contrib- und non-free-Quelle generell negativ pinnst (also von der Installation ausschließt), die gewünschten Pakete aber wieder anhebst:

Code: Alles auswählen

Package: *
Pin: origin ftp2.de.debian.org
Pin-Priority: -1

Package: nvidia-glx
Pin: origin ftp2.de.debian.org
Pin-Priority: 500
(Alles ungetestet und mangels apt-System momentan auch freihändig. Nur nvidia-glx zu pinnen reicht natürlich in der Praxis nicht.)

[1] http://wiki.ubuntuusers.de/Apt-Pinning# ... per-origin

Radfahrer

Re: Nur Teile eines Repositories benutzen

Beitrag von Radfahrer » 11.04.2013 17:29:07

Boah, das nenne ich mal von hinten durch die Brust ins Auge. :wink:

Wobei mir das eigentliche Problem auch immer noch nicht klar ist.
Wenn ich das unfreie Paket "Ich-bin-böse" nicht haben möchte, dann installiere ich es nicht. Es ist doch völlig wurscht, ob es im Repo ist oder nicht. Ich könnte es installieren, wenn ich es wollte. Schön, na und?

exubuntu
Beiträge: 169
Registriert: 29.03.2013 22:25:44

Re: Nur Teile eines Repositories benutzen

Beitrag von exubuntu » 11.04.2013 20:53:54

hier sieht man mal wieder dass man aus allem ein problem machen kann ich waere ja stattdessen ein bierchen trinken gegangen

wenn schon fundi dann richtig und komplett auf non-free verzichten herzchen

cronotk
Beiträge: 112
Registriert: 30.10.2006 20:58:28
Kontaktdaten:

Re: Nur Teile eines Repositories benutzen

Beitrag von cronotk » 12.04.2013 13:44:16

Radfahrer hat geschrieben:Wobei mir das eigentliche Problem auch immer noch nicht klar ist.
exubuntu hat geschrieben:hier sieht man mal wieder dass man aus allem ein problem machen kann
Vielleicht habe ich mich etwas falsch ausgedrückt: Es ist gar nicht wirklich ein Problem, ich musste mich in der Vergangenheit mal drüber ärgern. Aber es wäre trotzdem cool, wenn das gehen würde.
Abgesehen davon: Wenn ihr das "Problem" nicht nachvollziehen könnt, warum verspürt ihr dann den Drang, diese unkontruktiven Dinge zu posten? Wenn ihr denkt, dass ich blöd bin, dann lasst mich doch einfach blöd sein.
hikaru hat geschrieben:Ich vermute dass die Sache doch über Pinning zu lösen ist, nämlich über origin [1] indem du dir main und contrib/non-free aus verschiedenen Quellen holst
Die Lösung ist ziemlich witzig :)
lemak hat geschrieben:Du könntest dir mit Debianequivs ein Paket bauen das alle anderen Pakete aus non-free als Conflicts aufführt. Das würde dann deinstalliert sobald ein neues Paket aus non-free installiert werden soll (Hier sollte man dann drüber stolpern)
[...]
aber obs den Aufwand lohnt...
Die Lösung ist das, was meiner Idee wirklich am Nächsten kommt. Das sollte sich mit einem Skript sogar relativ einfach automatisieren lassen. Zum Glück ist fast Wochenende.
lemak hat geschrieben:und das mit der Meldung so im Sinne des Erfinders ist :-/
Jaaah... die conflicts sollten reichen. Ich dürfte stutzig werden, wenn plötzlich ein Konflikt mit stallman-hates-you-1.0-fsf angezeigt wird :wink:

Antworten