Strona 1 z 2

[+] Polecenie do znalezienia nowszej wersji pakietu - opera

: 20 lipca 2009, 18:19
autor: Katiusha
Jakiego polecenia należy użyć aby znaleźć nowszą wersję pakietu, a chodzi konkretnie o wersje Opery.

Mam takie wpisy w /etc/apt/sources.list dotyczące Opery (Debian Lenny):

Kod: Zaznacz cały

#~~~~~~Opera~~~~~~# 
 deb [url]http://deb.opera.com/opera/[/url] lenny main contrib non-free
 deb [url]http://deb.opera.com/opera-beta/[/url] lenny main contrib non-free
 deb [url]http://deb.opera.com/opera-snapshot/[/url] lenny main contrib non-free
i chcę znaleźć informacje o najnowszej Operze tj. w wersji 10.00, ale wpisując standardowe polecenia takie jak:

Kod: Zaznacz cały

apt-cache search opera
apt-cache search opera_10
apt-cache show -a opera lub opera_10
aptitude show opera
aptitude show opera_10
aptitude search opera
aptitude search opera_10
dostaję informacje o wersji 9.64 lub nic.

Jak trzeba ułożyć składnie komendy aby apt lub aptitude wiedział, że szukam informacji o nowszym pakiecie, a nie standardowym?

Sprawdzałam te repozytoria co mam wpisane i jest w nich na pewno wersja Opery 10:

http://deb.opera.com/opera-beta/pool/non-free/o/opera/

Kod: Zaznacz cały

aptitude update
też nie zgłasza błędów z tymi wpisami i mimo tego nie umiem wydobyć z nich nic na temat Opery 10.
Może jeszcze oprócz wpisywanej przeze mnie złej składni polecenia, jest jednak też coś źle w /etc/apt/source.list?
Ale te wpisy są z repozytorium Opery i powinny być w porządku.

http://deb.opera.com/

: 20 lipca 2009, 18:37
autor: ilin
Sądzę że te paczki z opery 10 nie mają stosownych informacji.
W końcu to beta.

Natomiast:

Kod: Zaznacz cały

aptitude dist-upgrade
pokazuje:

Kod: Zaznacz cały

Następujące pakiety zostaną zaktualizowane:
  libgdbm3 opera

: 20 lipca 2009, 19:03
autor: ArnVaker
Wszystko jest w porządku. Dodałem Twoje repozytoria (wywaliłem tylko sekcje "main" oraz "contrib") i informacje wyświetlane są prawidłowo.

Kod: Zaznacz cały

apt-cache policy opera
opera:
  Zainstalowana: 9.64.2480.gcc4.qt3
  Kandydująca: 10.00.4492.gcc4.qt3
  Tabela wersji:
     10.00.4492.gcc4.qt3 0
        600 [url]http://deb.opera.com[/url] lenny/non-free Packages
     10.00.4478.gcc4.qt3 0
        500 [url]http://deb.opera.com[/url] lenny/non-free Packages
 *** 9.64.2480.gcc4.qt3 0
        600 [url]http://deb.opera.com[/url] lenny/non-free Packages
        100 /var/lib/dpkg/status

Kod: Zaznacz cały

apt-cache show opera
Pokazuje osobne informacje o wszystkich trzech wersjach.

: 20 lipca 2009, 19:29
autor: Katiusha
ArnVaker, super, dziękuję.
Usunięcie z /etc/apt/sources.list tych wpisów (main i contrib) pomogło i informacja już wyskakuje.

Tylko ciekawi mnie czemu tak się działo? Jaki to może mieć wpływ na szukanie wersji pakietu?
Nawet jeśli te sekcje w repozytorium nie istnieją, to apt powinien je zignorować, a nie ukrywać nowsze wersje...
Ja nie rozumiem tego ;-)

: 20 lipca 2009, 19:37
autor: ArnVaker
Jeśli nieistniejące sekcje były przyczyną problemu, to ja nie wiem dlaczego.
Tym razem zagadka rozwiązała się przypadkiem ;-) .

: 20 lipca 2009, 19:45
autor: yantar
A jakiś dziwny pin-priority nie jest ustawiony w /etc/apt/preferences ?

: 20 lipca 2009, 19:51
autor: Katiusha
Jeszcze jedno pytanie, na tym przykładzie mam trzy wersje do wyboru i jakie polecenie wydać aptitude aby zainstalował mi wybrana przeze mnie wersje?
Powiedzmy, że mam teraz 9.64, a nie chce najnowszej 10.00.4492 do której by automatycznie aktualizował, tylko wersje "środkową" 10.00.4478.

yantar, nie mam wcale pliku preferences, więc to nie miesza raczej.

: 20 lipca 2009, 20:04
autor: ArnVaker
Można na przykład tak:

Kod: Zaznacz cały

aptitude install opera=10.00.4478.gcc4.qt3
Po czym wstrzymać pakiet.

W tym konkretnym przypadku można też dodać takie wpisy do sources.list:

Kod: Zaznacz cały

deb [url]http://deb.opera.com/opera/[/url] lenny non-free
deb [url]http://deb.opera.com/opera-beta/[/url] squeeze non-free
deb [url]http://deb.opera.com/opera-snapshot/[/url] sid non-free
Wersje opery dla różnych gałęzi Debiana są takie same. Po czym ustawić Pin-Priority dla opery na konkretną gałąź (nie trzeba będzie wstrzymywać).

Jest też możliwość ustawienia Pin-Priority na źródło (origin), ale nie wiem, czy w tym przypadku zadziała. Najłatwiej zostawić po prostu tylko to repozytorium, z którego chcesz zainstalować.

: 20 lipca 2009, 20:30
autor: Katiusha
Jeszcze raz dzięki ArnVaker.

Już musiałam zatrzymać swoją wersje Opery 9.64,

Kod: Zaznacz cały

aptitude hold opera
bo po naprawieniu tych wpisów w source.list po

Kod: Zaznacz cały

aptitude update
chciało mi zaktualizować do Opery 10.

A na poznanie/oswojenie się z Pin-Priority też jeszcze pewnie przyjdzie pora jak zaczne mieszać gałęzie Debiana, ale teraz mi to nie potrzebne. ;-)

Na razie nie zmieniam wersji Opery, a pytałam z ciekawości co i jak, jakbym kiedyś chciała coś pozmieniać w ten sposób i to niekoniecznie Opere.
Teraz wystarczają mi nowe wersje pakietów i ich aktualizacje z lenny-backports. Przynajmniej wiem, że będą chodzić tak jak trzeba.

: 20 lipca 2009, 20:50
autor: ArnVaker
Do korzystania z backportów bardzo przydaje się właśnie Pin-Priority.

Wystarczy utworzyć plik:

Kod: Zaznacz cały

nano /etc/apt/preferences
I wrzucić do niego taką zawartość:

Kod: Zaznacz cały

Package: *
Pin: release a=lenny-backports
Pin-Priority: 800

Package: *
Pin: release a=stable
Pin-Priority: 700
Od tej pory pakiety będą automatycznie instalowane oraz aktualizowane z backportów (oczywiście jeśli dany pakiet jest dostępny w backportach).