Como posso especificar o repositório a partir do qual um pacote será instalado? (emacs-snapshot)

25

Eu quero instalar o emacs-snapshot a partir do link Mas já existe um instantâneo do emacs nos repositórios do Ubuntu.

Como posso especificar o repositório a partir do qual um pacote será instalado?

    
por elviejo79 25.03.2010 / 22:17

3 respostas

15

Você pode especificar um repositório com a opção -t . Como exemplo, adicionei o seguinte repositório a /etc/apt/sources.list para instalar a última versão do Iceweasel:

deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

Como você sabe, existe um mesmo pacote iceweasel no repositório oficial da Debian. Se eu quiser instalar o Iceweasel deste repositório específico, eu corro:

apt-get install -t squeeze-backports iceweasel

da página de manual do apt-get:

-t, --target-release, --default-release
           This option controls the default input to the policy engine, it creates a default pin at priority 990 using the specified
           release string. This overrides the general settings in /etc/apt/preferences. Specifically pinned packages are not affected by
           the value of this option. In short, this option lets you have simple control over which distribution packages will be retrieved
           from. Some common examples might be -t '2.1*', -t unstable or -t sid. Configuration Item: APT::Default-Release; see also the
           apt_preferences(5) manual page.

Acho que esta é uma solução melhor,

Fonte de: link

    
por 09.03.2014 / 22:18
10

Eu encontrei uma solução alternativa. Primeiro eu precisava encontrar os repositórios que tinham o pacakage:

$ apt-cache showpkg emacs-snapshot
Package: emacs-snapshot
Versions: 
1:20100111-1~lenny1 (/var/lib/apt/lists/emacs.orebokech.com_dists_lenny_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/emacs.orebokech.com_dists_lenny_main_binary-amd64_Packages
                  MD5: 906df684c212eabe267e6b5c2e8c2032

1:20090909-1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_universe_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_karmic_universe_binary-amd64_Packages
                  MD5: 906df684c212eabe267e6b5c2e8c2032


Reverse Depends: ...
...

Na seção Versões: . Eu vejo as versões que vêm de diferentes repositórios:

  • 1: 20100111-1 ~ lenny1
  • 1: 20090909-1

Agora, basta dizer ao apt ou aptitude para instalar essa versão específica:

$ sudo aptitude install emacs-snapshot=1:20100111-1~lenny1

nome do pacote = version_name

Vitória.

Ainda não sei como usar um repositório específico. Mas neste caso, uma versão específica foi suficiente.

    
por 25.03.2010 / 22:59
1

Existe um arquivo de preferências para o apt. Eu acho que está localizado em / etc / apt, mas não tem 100% de certeza. Lá você pode definir a prioridade para um pacote de um repositório para ser maior do que para o mesmo pacote do repositório do Ubunto. Para a sintaxe exata, procure no man apt-get. Edite o arquivo, e instale como de costume com o apt-get, ele buscará a origem de prioridade mais alta. Apenas certifique-se de antemão que o pacote daquele repositório é compilado para sua distro (por exemplo, um binário debian pode procurar por dependências nos lugares errados) e para sua versão do kernel (isso muda bastante ao longo do ciclo de vida de uma versão do Ubuntu). Além disso, é uma questão de chance se vai funcionar.

    
por 25.03.2010 / 23:07