¿Cómo agrego un repositorio apt-get sin editar /etc/apt/sources.list?

19

Quiero agregar un repositorio a apt-get (sin potencialmente desordenar /etc/apt/sources.list) a través del usuario de un script. Este script puede ejecutarse varias veces, por lo que no puedo agregar la entrada cada vez. ¿Hay alguna forma de agregar un solo archivo en un directorio con entradas?

Sé que puedes hacer esto por yum, pero no estoy seguro de si es posible para apt-get. Avíseme si necesito agregar más información.

Daisetsu
fuente
Si hace doble clic en /etc/apt/sources.list, se abre una interfaz GUI con un asistente para agregar repositorios. Hay una casilla de verificación donde puede habilitar y deshabilitar entradas (por ejemplo, para permitir el uso de una nueva entrada solo cuando se actualiza algún software de repositorio "extraño"), y las entradas se pueden eliminar. También crea una copia de seguridad llamada sources.list.save en el mismo directorio. Si desea protección adicional, siempre puede hacer una copia del archivo original antes de cambiarlo. Por lo tanto, no hay mucho riesgo de estropear el archivo si va por la ruta del script solo por esa razón.
Fixer1234

Respuestas:

21

Puede colocar archivos en /etc/apt/sources.list.d. Esto se describe en la página del manual para sources.list(tipo man sources.list). La página del manual dice:

FUENTES ANTERIORES LISTA.D

El directorio /etc/apt/sources.list.d proporciona una forma de agregar entradas sources.list en archivos separados. El formato es el mismo que para el archivo regular sources.list. Los nombres de archivo deben terminar con .list y solo pueden contener letras (az y AZ), dígitos (0-9), guión bajo (_), guión (-) y punto (.). De lo contrario, serán ignorados en silencio.

ACTUALIZAR:

2016 FUENTES.LIST.D

El directorio /etc/apt/sources.list.d proporciona una forma de agregar entradas sources.list en archivos separados. Se permiten dos formatos de archivo diferentes como se describe en las siguientes dos secciones. Los nombres de archivo deben tener la extensión .list o .sources según el formato contenido. Los nombres de archivo solo pueden contener letras (az y AZ), dígitos (0-9), guión bajo (_), guión (-) y punto (.). De lo contrario, APT imprimirá un aviso de que ha ignorado un archivo, a menos que ese archivo coincida con un patrón en la lista de configuración Dir :: Ignorar-Archivos-Silenciosamente, en cuyo caso será ignorado silenciosamente.

larsks
fuente
8

Tu podrías intentar:

add-apt-repository <REPOSITORY LINE>

La línea del repositorio sería lo que agregaría a sources.list o a un repositorio PPA. Mira la página de manual aquí , o ejecuta:

man add-apt-repository
BloodPhilia
fuente
1
De un vistazo rápido al archivo man para add-apt-repository, parece que simplemente agrega la línea al archivo sources.list, no menciona si verifica, por lo que esto es lo mismo que "echo line >> sources.list "que ya tenía. Gracias por responder sin embargo.
Daisetsu
2
@Daisetsu Sé que sí, ¡pensé que te sentías incómodo editando manualmente el archivo! Debe haber entendido mal! ¡Genial, obtuviste una respuesta que funcionó para ti!
BloodPhilia
1

Yo (pensé que necesitaba) agregar un repositorio ppa a un crunchbang, instalar (debian):
( NB "raring" es la versión de ubuntu que coincidía con la versión de debian que estaba usando), así que lo hice:

sudo su -

# you can call the file anything that you want, but it has to end with .list to be a valid for apt-get
echo 'deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/ raring main'>> /etc/apt/sources.list.d/boot-repair.list

# get the keys for that repo so that apt can verify the signed .deb files
wget http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/raring/Release.gpg
apt-key add Release.gpg
#gpg --search-keys 60D8DA0B

apt-get update

La mayor parte de esto se explica en el arranque de reparación de página, (aunque al final TestDisk y luego Gparted eran lo que realmente se necesita para restaurar una partición perdida y un MBR dañado.) Esto probablemente no es el método de Debian (TM) pero trabajó para mi.

Algunos repositorios de Debian son el "estilo antiguo" y luego solo necesita una línea como:

deb http://repo.alexx.net/apt/ /
# the trailing slash needs to be there

add-apt-repository es bueno si lo tiene, pero parece ser más ubuntu.

Alexx Roche
fuente
0

add-apt-repository tiene un tercer formulario (además de URL de PPA y líneas completas aptas), que permite componentes de distribución:

sudo add-apt-repository universe
sudo add-apt-repository contrib

Esto se introdujo en 12.10 (Quantal).

Tobu
fuente
se muestra Error: 'contrib' invalid usando Ubuntu 16.04
Jaffer Wilson