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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-05-09 23:32:11

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

[SOLVED] APT: Pin ignoruje wartości większe niż 999?

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:

Kod:

$ 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

Kod:

$ 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:

Kod:

$ 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:

Kod:

$ 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”):

Kod:

$ 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:

Kod:

$ 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)


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

#2  2013-05-10 00:57:58

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: [SOLVED] APT: Pin ignoruje wartości większe niż 999?

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

 

#3  2013-05-10 12:32:32

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

Re: [SOLVED] APT: Pin ignoruje wartości większe niż 999?

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.


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

#4  2013-05-10 12:42:12

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: [SOLVED] APT: Pin ignoruje wartości większe niż 999?

Wiem co to epoch ;)

Tu akurat łatwo było na to wpaść:

Sposób przypięcia: (nie znaleziono)[/quote]

Offline

 

#5  2013-05-10 13:10:46

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

Re: [SOLVED] APT: Pin ignoruje wartości większe niż 999?

[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.


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.011 seconds, 13 queries executed ]

Informacje debugowania

Time (s) Query
0.00015 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00103 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='18.223.237.246' WHERE u.id=1
0.00066 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.223.237.246', 1732628774)
0.00057 SELECT * FROM punbb_online WHERE logged<1732628474
0.00116 DELETE FROM punbb_online WHERE ident='18.190.253.56'
0.00082 DELETE FROM punbb_online WHERE ident='85.208.96.197'
0.00067 SELECT topic_id FROM punbb_posts WHERE id=232219
0.00005 SELECT id FROM punbb_posts WHERE topic_id=23492 ORDER BY posted
0.00055 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.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00119 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.00091 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23492
Total query time: 0.00788 s