Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.




Użyszkodnik
Ponieważ w LibreOffice 4.0 zepsuli opcje, których potrzebuję, planuję pozostać przy 3.6.5 tak długo, jak to możliwe (i konieczne). Chciałem sobie przy pomocy preferences ustawić APT tak, aby posiadana przeze mnie wersja zawsze miała najwyższy priorytet.
W katalogu preferences.d mam dwa pliki:
$ cat /etc/apt/preferences.d/01_releases Package: * Pin: release o=Debian,a=testing Pin-Priority: 600 Package: * Pin: release o=Debian,a=unstable Pin-Priority: 400 Package: * Pin: release o=Debian,a=experimental Pin-Priority: 102
$ cat /etc/apt/preferences.d/10_LibreOffice Package: libreoffice* ure uno-libs3 Pin: version 3.6.5~rc2-1+b1 Pin-Priority: 999
Poza tym w apt.conf mam wpis, który chyba to dubluje:
$ cat /etc/apt/apt.conf.d/02default-release APT::Default-Release "testing";
Póki co jest dobrze — APT preferuje moją wersję, chociaż w repozytorium ma nowsze:
$ apt-cache policy libreoffice
libreoffice:
Zainstalowana: 1:3.6.5~rc2-1+b1
Kandydująca: 1:3.6.5~rc2-1+b1
Sposób przypięcia: (nie znaleziono)
Tabela wersji:
1:4.0.3-1 999
400 http://ftp.pl.debian.org/debian/ unstable/main amd64 Packages
1:4.0.3~rc3-1 999
102 http://ftp.pl.debian.org/debian/ experimental/main amd64 Packages
*** 1:3.6.5~rc2-1+b1 999
100 /var/lib/dpkg/status
1:3.5.4+dfsg-4 999
990 http://ftp.pl.debian.org/debian/ testing/main amd64 PackagesZgodnie z dokumentacją apt_preferences, najwyższym priorytetem jest „P >= 1000”, który wymusza instalację danej wersji zawsze i wszędzie — nawet jeżeli oznacza to powrót do wcześniejszej wersji.
Jak teraz w pliku /etc/apt/preferences.d/10_LibreOffice zamienię Pin-Priority na 1001, to APT radośnie stwierdza, że wersja z Wheezy jest najlepszą możliwą i najchętniej dokonałby downgrade (patrzcie na „Kandydująca”):
$ apt-cache policy libreoffice
libreoffice:
Zainstalowana: 1:3.6.5~rc2-1+b1
Kandydująca: 1:3.5.4+dfsg-4
Sposób przypięcia: (nie znaleziono)
Tabela wersji:
1:4.0.3-1 1001
400 http://ftp.pl.debian.org/debian/ unstable/main amd64 Packages
1:4.0.3~rc3-1 1001
102 http://ftp.pl.debian.org/debian/ experimental/main amd64 Packages
*** 1:3.6.5~rc2-1+b1 1001
100 /var/lib/dpkg/status
1:3.5.4+dfsg-4 1001
990 http://ftp.pl.debian.org/debian/ testing/main amd64 PackagesPotrafi ktoś to wyjaśnić? Wygląda to tak, jak gdyby APT ignorował priorytety wyższe niż 999, ale najprawdopodobniej po prostu nie rozumiem, jak on działa.
System to właściwie Wheezy — co prawda używam testinga, ale od tygodnia nie robiłem aktualizacji. Wersje ważnych pakietów poniżej:
$ dpkg -l |grep -P '(dpkg|apt)\b' | while read state pkg version other; do echo "$pkg: $version" ; done apt: 0.9.7.8 apt-file: 2.5.1 apt-listchanges: 2.85.11 apt-show-versions: 0.20 apt-utils: 0.9.7.8 dpkg: 1.16.10 dpkg-dev: 1.16.10 libapt-inst1.5:amd64: 0.9.7.8 libapt-pkg-perl: 0.1.26+b1 libapt-pkg4.12:amd64: 0.9.7.8 libdpkg-perl: 1.16.10 python-apt: 0.8.8.2 python-apt-common: 0.8.8.2
Ostatnio edytowany przez Minio (2013-05-10 12:32:54)
Offline





Szczawiożerca






Porównaj wersje:
$ cat /etc/apt/preferences.d/10_LibreOffice
Package: libreoffice* ure uno-libs3
Pin: version 3.6.5~rc2-1+b1
Pin-Priority: 999
$ apt-cache policy libreoffice
libreoffice:
Zainstalowana: 1:3.6.5~rc2-1+b1
Kandydująca: 1:3.6.5~rc2-1+b1
Sposób przypięcia: (nie znaleziono)
Z jedynką jest to samo?
Offline




Użyszkodnik
Masz rację.
Byłem przekonany, że APT traktuje brak epoch (liczby przed dwukropkiem) jako 1. Tymczasem on traktuje brak jako 0. Tak więc mój pin pasował do pakietów 0:3.6.5~rc2-1+b1, czyli nigdzie. Po zamianie wersji na 1:3.6.5~rc2-1+b1 wszystko działa jak należy.
Dziękuję za pomoc.
Offline





Szczawiożerca






Wiem co to epoch ;)
Tu akurat łatwo było na to wpaść:
Sposób przypięcia: (nie znaleziono)
Offline




Użyszkodnik
yossarian: nie wątpię, że wiesz. Wyjaśnienie podałem raczej z myślą o tych, którzy nie wiedzą, a trafią na ten wątek np. z wyszukiwarki. Zwłaszcza że w Linuksie epoch zazwyczaj odnosi się do czasu (gdzie zresztą funkcjonuje w dwóch różnych znaczeniach), a tutaj chodzi o coś zupełnie innego.
Offline