Instale pacotes da versão mais nova sem construir (apt pinning)

32

Eu preciso desses pacotes com a versão mais recente do upstream backported para 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

Eu tentei criá-los a partir da fonte com atualização, mas falhou. Eu não sou especialista em embalagens e há muitos tutoriais e receitas por aí.

Você conhece um bom e atualizado tutorial para backportar pacotes do Ubuntu?

Como obtenho pacotes de outros lançamentos sem ter que construí-los eu mesmo?

    
por Janning 11.02.2012 / 15:58

1 resposta

36

Você seria muito melhor explorar o pinagem adequado, consulte man apt_preferences .

Vamos supor que você esteja no Oneiric e queira obter esses pacotes da Precise.

Se você ler o man , verá que copiei / colei as seções relevantes e modifiquei o nome do release

/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

Depois, copiei meu /etc/apt/sources.list para /etc/apt/sources.list.d/precise.list e substituí todas as ocorrências oníricas por precisas. Em seguida, executei apt-get update e finalmente 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) 

Por algum motivo, o pcscd e o opensc não foram instalados, provavelmente porque não foi instalado para começar, então não havia nada para atualizar, não é grande coisa, eu posso instalar exatamente essa versão usando precisão como a referência como esta .

apt-get install opensc pcscd -t precise

Tome nota do uso de -t , packagename/precise também funcionaria.

e há os pacotes que você quer, desde o último lançamento, e somente esses pacotes , eles também serão atualizados automaticamente. Se você não quiser mais, basta excluir as entradas de /etc/apt/preferences e, da próxima vez que você executar apt-get upgrade , elas serão removidas. Se você remover todo o arquivo prefs, lembre-se de excluir o arquivo precise.list sources, assim como nosso sistema tentará atualizar para o conjunto mais recente de pacotes. Além disso, se você decidir fazer o dist-upgrade mais tarde, você precisará remover o arquivo prefs inteiro e provavelmente seria uma boa idéia remover as outras sources.list, menos a atualização descobrirá, graças à maior prioridade, que existem nenhum pacote para atualizar.

Apt pinning não é tão difícil, você só precisa cavar um pouco e experimentar. Todos os verbos para n= etc são encontrados examinando apt-cache policy .

É por isso que os administradores experientes reclamam do apt vs yum. Você pode atualizar serviços de maneira concisa e mantê-los atualizados de maneira limpa, determinística e sustentável.

Não é mais necessário compilar pacotes.

Sugiro que você leia toda a página do manual e se familiarize com o conceito e leia outros guias sobre o ajuste de PIN antes de continuar com esta proposta. Boa sorte e divirta-se!

link

    
por ppetraki 11.02.2012 / 17:29