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/.
Ponieważ w LibreOffice 4.0 zepsuli [url=https://bugs.freedesktop.org/show_bug.cgi?id=60589]opcje[/url], których [url=https://bugs.freedesktop.org/show_bug.cgi?id=50699]potrzebuję[/url], 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 Packages
Zgodnie 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 [i]downgrade[/i] (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 Packages
[b]Potrafi ktoś to wyjaśnić?[/b] 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
Porównaj wersje:
$ cat /etc/apt/preferences.d/10_LibreOffice
Package: libreoffice* ure uno-libs3
Pin: version [b]3.6.5~rc2-1+b1[/b]
Pin-Priority: 999[/quote]$ apt-cache policy libreoffice
libreoffice:
Zainstalowana: [b]1:3.6.5~rc2-1+b1[/b]
Kandydująca: 1:3.6.5~rc2-1+b1
[b]Sposób przypięcia: (nie znaleziono)[/b][/quote]
Z jedynką jest to samo?Offline
Masz rację.
Byłem przekonany, że APT traktuje brak [i]epoch[/i] (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
Wiem co to epoch ;)
Tu akurat łatwo było na to wpaść:
Sposób przypięcia: (nie znaleziono)[/quote]
Offline
[b]yossarian[/b]: 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 [i]epoch[/i] zazwyczaj odnosi się do czasu (gdzie zresztą funkcjonuje w dwóch różnych znaczeniach), a tutaj chodzi o coś zupełnie innego.
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00006 | SET NAMES latin2 |
0.00093 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.136.22.204' WHERE u.id=1 |
0.00101 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.136.22.204', 1732621690) |
0.00055 | SELECT * FROM punbb_online WHERE logged<1732621390 |
0.00049 | SELECT topic_id FROM punbb_posts WHERE id=232227 |
0.00111 | SELECT id FROM punbb_posts WHERE topic_id=23492 ORDER BY posted |
0.00083 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23492 AND t.moved_to IS NULL |
0.00007 | SELECT search_for, replace_with FROM punbb_censoring |
0.00124 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23492 ORDER BY p.id LIMIT 0,25 |
0.00180 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23492 |
Total query time: 0.00818 s |