Instaluj pakiety z nowszej wersji bez budowania (apt pin)

34

Potrzebuję tych pakietów z najnowszą wersją backportu dla systemu Ubuntu / natty

  • libccid_1.4.5-0ubuntu1_amd64.deb
  • libpcsclite1_1.8.1-0ubuntu1_amd64.deb
  • libpcsclite-dev_1.8.1-0ubuntu1_amd64.deb
  • libusb-1.0-0_1.0.9-0ubuntu1_amd64.deb
  • libusb-1.0-0-dev_1.0.9-0ubuntu1_amd64.deb
  • opensc_0.12.2-1ubuntu1ppa1 ~ natty1_amd64.deb
  • pcscd_1.8.1-0ubuntu1_amd64.deb pcsc-tools_1.4.18-0ubuntu1_amd64.deb

Próbowałem zbudować je ze źródła z aktualizacją, ale nie udało się. Nie jestem ekspertem od pakowania, a jest tam tak wiele samouczków i przepisów.

Czy znasz dobry i aktualny samouczek dotyczący backportowania pakietów Ubuntu?

Jak uzyskać pakiety z innych wydań bez konieczności ich samodzielnego tworzenia?

Janning
źródło

Odpowiedzi:

36

Lepiej byłoby odkryć trafne przypinanie, patrz man apt_preferences.

Załóżmy, że korzystasz z Oneiric i chcesz uzyskać te pakiety od Precise.

Jeśli przeczytasz man, zobaczysz, że skopiowałem / wkleiłem odpowiednie sekcje i właśnie zmodyfikowałem nazwę wydania

/etc/apt/preferences:

Package: libccid
Pin: release n=precise
Pin-Priority: 990

Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990

Package: libusb*
Pin: release n=precise
Pin-Priority: 990

Package: opensc
Pin: release n=precise
Pin-Priority: 990

Package: pcscd
Pin: release n=precise
Pin-Priority: 990


Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900

Package: *
Pin: release o=Ubuntu
Pin-Priority: -10

Potem skopiował moje /etc/apt/sources.listsię /etc/apt/sources.list.d/precise.listi zastępuje wszystkie wystąpienia sid z precyzyjne. Potem pobiegł apt-get updatei wreszcie apt-get upgrade.

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
 Fetched 86.0 kB in 0s (124 kB/s) 

Z jakiegoś powodu, pccd i opensc nie zostały zainstalowane, prawdopodobnie dlatego, że nie zostały zainstalowane na początku, więc nie było nic do uaktualnienia, nic wielkiego, mogę zainstalować dokładnie tę wersję, używając dokładnych takich referencji.

apt-get install opensc pcscd -t precise

Zwróć uwagę na użycie -t, packagename/preciserównież by działało.

i są pakiety, które chcesz, z najnowszej wersji, i tylko te pakiety , będą one również aktualizowane automatycznie. Jeśli nie chcesz ich więcej, po prostu usuń wpisy z, /etc/apt/preferencesa przy następnym uruchomieniu apt-get upgradezostaną usunięte. Jeśli usuniesz cały plik prefs, pamiętaj, aby usunąć również ten precise.listplik źródłowy, a nasz system spróbuje zaktualizować do najnowszego zestawu pakietów. Również, jeśli zdecydujesz się na późniejszą aktualizację, będziesz musiał usunąć cały plik prefs i prawdopodobnie dobrym pomysłem byłoby usunięcie innych źródeł. Lista mniej uaktualnienia znajdzie, dzięki wyższemu priorytetowi, że istnieją brak pakietów do aktualizacji.

Apt pinowanie nie jest takie trudne, wystarczy trochę wkopać i poeksperymentować. Wszystkie czasowniki dla n=etc można znaleźć, sprawdzając apt-cache policy.

Dlatego doświadczeni administratorzy rant i rave o apt vs yum. Możesz zwięźle aktualizować usługi i utrzymywać je na bieżąco w czysty, deterministyczny i łatwy do utrzymania sposób.

Nigdy więcej kompilacji pakietów.

Zdecydowanie zalecamy przeczytanie całej strony podręcznika man i zapoznanie się z tą koncepcją oraz przeczytanie innych przewodników na temat trafnego przypinania przed kontynuowaniem tej propozycji. Powodzenia i miłej zabawy!

https://help.ubuntu.com/community/PinningHowto

ppetraki
źródło
to świetna odpowiedź, ale nie dla mnie. Wiem już przypinanie, ale niektóre pakiety nie są dokładnie najnowszymi wersjami, a niektóre zawierają błędy (opensc). więc naprawdę chcę mieć najnowsze źródło.
Janning
Wtedy naprawdę jesteś w trybie programowania, zobacz przewodnik UDD. Zobacz developer.ubuntu.com/packaging/html/getting-set-up.html . Po zbudowaniu pakietów możesz przesłać łatki i ostatecznie zrezygnować z tych zbudowanych lokalnie. Korzystanie z PPA trochę pomaga, ale naprawdę musisz najpierw zapoznać się z podstawowymi informacjami na temat pakowania, inaczej będziesz po prostu czekał 10 minut, aby dowiedzieć się, że popełniłeś błąd podczas kompilacji, usuń deb z PPA, powtórz płukanie. Nadal możesz używać poprzedniej odpowiedzi w trybie współpracy z nowym PPA, aby zapewnić, że pakiety te będą miały pierwszeństwo przed linią bazową, dopóki nie znajdą się w aktualizacjach.
ppetraki
Przewodnik po pakowaniu Ubuntu: developer.ubuntu.com/packaging/html/index.html
ppetraki
Jaką metodą preferujesz wersje amd64 i i386 tego samego pakietu?
qed