Você seria muito melhor explorando a fixação adequada, veja man apt_preferences
.
Vamos assumir que você está no Oneiric e deseja obter esses pacotes do Precise.
Se você ler, man
verá que copiei / colei as seções relevantes e apenas 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
Então, copiei o meu /etc/apt/sources.list
para /etc/apt/sources.list.d/precise.list
e substitui todas as ocorrências de oníricas por precisas. Então correu 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 alguma razão, pcscd e opensc não foram instalados, provavelmente porque não foram instalados para começar, portanto não havia nada para atualizar, não é grande coisa, eu posso instalar exatamente essa versão usando a precisão como referência como esta.
apt-get install opensc pcscd -t precise
Tome nota do uso de -t
, packagename/precise
também funcionaria.
e existem os pacotes que você deseja, desde a versão mais recente, e somente esses pacotes , eles também serão atualizados automaticamente. Se você não quiser mais, basta excluir as entradas /etc/apt/preferences
e, na próxima vez em que apt-get upgrade
elas forem executadas, elas serão removidas. Se você remover o arquivo inteiro prefs, não se esqueça de excluir esse precise.list
arquivo de origem, pois nosso sistema tentará atualizar para o último conjunto de pacotes. Além disso, se você decidir fazer a atualização distinta posteriormente, será necessário remover o arquivo prefs inteiro e provavelmente seria uma boa idéia remover as outras fontes.list menos a atualização encontrará, graças à prioridade mais alta, que existem nenhum pacote para atualizar.
Fixar apt 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 administradores experientes reclamam e elogiam o apt vs yum. Você pode atualizar de forma concisa os serviços e mantê-los atualizados de maneira limpa, determinística e sustentável.
Não é mais necessário compilar pacotes.
Eu sugiro fortemente que você leia a página de manual inteira e se familiarize com o conceito e leia outros guias sobre fixação adequada antes de continuar com esta proposta. Boa sorte e divirta-se!
https://help.ubuntu.com/community/PinningHowto