¿Cómo puedo especificar el repositorio desde el que se instalará un paquete? (instantánea de emacs)

Respuestas:

19

Puede especificar un repositorio con -topción. Como ejemplo, he agregado el siguiente repositorio /etc/apt/sources.listpara instalar la última versión de Iceweasel:

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

Como saben, hay un mismo paquete iceweaselen el repositorio oficial de Debian. Si quiero instalar Iceweasel desde este repositorio específico, ejecuto:

apt-get install -t squeeze-backports iceweasel

de la página del manual de 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.

Creo que esta es una mejor solución,

Fuente de: /ubuntu/27362/how-to-only-install-updates-from-a-specific-repository/57749#57749

hukko
fuente
Sí, tu solución es mejor que la mía.
elviejo79
1
¿Qué sucede si no desea agregar dicha fuente a su lista sources.list?
LittleNooby
12

Encontré una solución alternativa. Primero necesitaba encontrar los repositorios que tenían el paquete:

$ 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: ...
...

En las Versiones: sección. Veo las versiones que provienen de diferentes repositorios:

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

Así que ahora solo le decimos a apt o aptitude para instalar esa versión específica:

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

nombre-paquete = nombre_versión

Victoria.

Todavía no sé cómo usar un repositorio específico. Pero en este caso, una versión específica fue suficiente.

elviejo79
fuente
1

Hay un archivo de preferencias para apt. Creo que se encuentra en / etc / apt, pero no está 100% seguro. Allí puede establecer la prioridad para que un paquete de un repositorio sea más alto que para el mismo paquete del repositorio de Ubunto. Para la sintaxis exacta, busque en man apt-get. Edite el archivo, luego instálelo como de costumbre con apt-get, se obtendrá del origen de mayor prioridad. Solo asegúrese de antemano que el paquete de ese repositorio esté compilado para su distribución (por ejemplo, un binario de Debian puede buscar dependencias en los lugares incorrectos) y para su versión del kernel (esto cambia con bastante frecuencia a lo largo del ciclo de vida de una versión de Ubuntu). De lo contrario, es una casualidad si funcionará.

rumtscho
fuente