Lo más normal del mundo es que configuremos nuestros repos en Debian, Ubuntu o derivados apuntando a los repos oficiales por HTTP o FTP, o sea, yo edito el archivo /etc/apt/sources.list y pongo algo como esto:
deb http://repos.mired.net/ubuntu-precise/ precise universe multiverse restricted
O con Debian:
deb ftp://repos.mired.net/debian/wheezy/ wheezy main contrib non-free
Y esto está bien, no tiene nada erróneo.
El asunto es que a veces necesitamos actualizar e instalar software en un ordenador de casa o por ejemplo, en un servidor de nuestra empresa, y necesitamos hacer esto sin muchas complicaciones, sin necesidad de tener que instalar un servidor web (Apache, Nginx, etc) en el server FTP nuestro (actualizar desde internet queda descartado muchas veces pues consume ancho de banda y tiempo, además, al usar el navegador para buscar la ruta del repositorio nos podemos entretener con algún tipo de anuncios gratis), necesitamos actualizar y listo, no tener que instalar Apache o pure-ftpd ni mucho menos… para ello podemos usar SSH.
SSH es la forma en que controlamos nuestros ordenadores remotamente, es un servicio que viene instalado por default en cada servidor, pues bien, para indicarle a X servidor/ordenador que deberá usar los repos ubicados en el servidor Y, configuramos nuestro /etc/apt/sources.list de la siguiente forma:
deb ssh://root@repos.mired.cu:/var/www/ftp/repos/debian/wheezy/ wheezy main contrib non-free
Como pueden ver, se mantiene el deb del inicio, luego cambiamos http/ftp por ssh, seguido del usuario con el cual se accederá y el servidor al cual se accederá, luego le indicamos exactamente la ubicación del repositorio usando :/ruta como se muestra en la línea, luego ya nos queda lo de siempre, la versión de la distro y las ramas del repo.
Luego queda lo de toda la vida:
apt-get update
Y ahí es donde no se actualizará de forma automática, o sea, al indicarle al sistema que use ese repositorio por SSH el sistema les preguntará si desean añadir a los servidores conocidos SSH a este nuevo, le indican que sí escribiendo yes y presionando Enter, luego les pedirá el password de root y al ponerlo ya empezará el proceso de actualización de los índices, que es lo que indicaron 🙂
Esto me ha sido realmente útil, pues mi servidor virtual lo tengo configurado así (uso Arch, pero mi servidor virtual usa Debian), igual ahorra montón de trabajo o ancho de banda no? 🙂
En fin… que espero esto les haya resultado de utilidad 😀
Saludos
6 comentarios, deja el tuyo
Un compañero de trabajo de acá te dirías «eres un tigre»
gracias por el post se ve hecho a la medida para nosotros (.cu)
Vaya, que bien. Un gran aporte como todos los que publicas. quisiera una ayuda y es respecto a la actualización de un repo desde home, ¿como se debe estructurar la linea en ese caso del sources.list?
Suponiendo que el repo esté en /home/neo/Linux/debian-repo sería:
deb ssh://root@mipc:/home/neo/Linux/debian-repo/ wheezy main contrib non-free
Disculpa la tardanza, no había marcado para que se me notificara por mail, gracias compañero por tus aportes y explicación. Como diría algún mexicano de «padre guey»
Tengo mi archivo sources.list en sources.list.d
de la siguiente manera:
#Poner este archivo en /etc/apt/sources.list.d/
#SSH-Inicio del archivo /etc/apt/sources.list para máquinas de escritorio o lap$
deb ssh://c3uz@VODK:/media/USBDEB/debian/debian/ wheezy main contrib non-free
deb-src ssh://c3uz@VODK:/media/USBDEB/debian/debian/ wheezy main contrib non-f$
deb ssh://c3uz@VODK:/media/USBDEB/debian/debian/ wheezy-updates main contrib n$
deb-src ssh://c3uz@VODK:/media/USBDEB/debian/debian/ wheezy-updates main contr$
deb ssh://c3uz@VODK:/media/USBDEB/debian/debian-security/ wheezy/updates main $
deb-src ssh://c3uz@VODK:/media/USBDEB/debian/debian-security/ wheezy/updates m$
#Backports
deb ssh://c3uz@VODK:/media/USBDEB/debian/debian-backports/ wheezy-backports mai$
#SSH-Multimedia
deb ssh://c3uz@VODK:/media/USBDEB/debian/debian-multimedia/ wheezy main non-free
#Iceweasel-realease
deb ssh://c3uz@VODK:/media/USBDEB/debian/debian-mozilla/ wheezy-backports icewe$
#Fin del archivo /etc/apt/sources.list
Pero no me funciona totalmente.
Puedes ayudarme
esta es la salida al ejecutar «# aptitude update»
Ign ssh://c3uz@VODK wheezy-backports Release.gpg
Hit ssh://c3uz@VODK wheezy Release.gpg
Ign ssh://c3uz@VODK wheezy-backports Release.gpg
Ign ssh://c3uz@VODK wheezy-backports Release
Hit ssh://c3uz@VODK wheezy Release
Ign ssh://c3uz@VODK wheezy-backports Release
Hit ssh://c3uz@VODK wheezy/main amd64 Packages
Hit ssh://c3uz@VODK wheezy/non-free amd64 Packages
Hit ssh://c3uz@VODK wheezy/main Translation-en
Hit ssh://c3uz@VODK wheezy/non-free Translation-en
Ign ssh://c3uz@VODK wheezy/main Translation-es
Err ssh://c3uz@VODK wheezy-backports/main amd64 Packages
Fichero no encontrado
Err ssh://c3uz@VODK wheezy-backports/contrib amd64 Packages
Fichero no encontrado
Err ssh://c3uz@VODK wheezy-backports/non-free amd64 Packages
Fichero no encontrado
Ign ssh://c3uz@VODK wheezy-backports/contrib Translation-es_ES
Ign ssh://c3uz@VODK wheezy-backports/contrib Translation-es
Ign ssh://c3uz@VODK wheezy-backports/contrib Translation-es_SV
Ign ssh://c3uz@VODK wheezy-backports/contrib Translation-en
Ign ssh://c3uz@VODK wheezy-backports/main Translation-es_ES
Ign ssh://c3uz@VODK wheezy-backports/main Translation-es
Ign ssh://c3uz@VODK wheezy-backports/main Translation-es_SV
Ign ssh://c3uz@VODK wheezy-backports/main Translation-en
Ign ssh://c3uz@VODK wheezy-backports/non-free Translation-es_ES
Ign ssh://c3uz@VODK wheezy-backports/non-free Translation-es
Ign ssh://c3uz@VODK wheezy-backports/non-free Translation-es_SV
Ign ssh://c3uz@VODK wheezy-backports/non-free Translation-en
Err ssh://c3uz@VODK wheezy-backports/iceweasel-release amd64 Packages
Fichero no encontrado
Ign ssh://c3uz@VODK wheezy-backports/iceweasel-release Translation-es_ES
Ign ssh://c3uz@VODK wheezy-backports/iceweasel-release Translation-es
Ign ssh://c3uz@VODK wheezy-backports/iceweasel-release Translation-es_SV
Ign ssh://c3uz@VODK wheezy-backports/iceweasel-release Translation-en
Esta es la estructura en el disco duro USB del cual estoy sacando los datos
├── debian
│ ├── debian
│ │ ├── dists
│ │ │ ├── oldstable -> squeeze
│ │ │ ├── squeeze
│ │ │ ├── stable -> wheezy
│ │ │ └── wheezy
│ │ ├── pool
│ │ │ ├── contrib
│ │ │ ├── main
│ │ │ └── non-free
│ │ └── project
│ │ └── trace
│ ├── debian-backports
│ │ └── dists
│ │ └── squeeze-backports
│ ├── debian-mozilla
│ │ └── dists
│ │ ├── squeeze-backports
│ │ └── wheezy-backports
│ ├── debian-multimedia
│ │ ├── dists
│ │ │ ├── oldstable -> squeeze
│ │ │ ├── squeeze
│ │ │ ├── stable -> wheezy
│ │ │ └── wheezy
│ │ ├── pool
│ │ │ ├── main
│ │ │ └── non-free
│ │ └── project
│ │ └── trace
│ └── debian-security
│ ├── dists
│ │ ├── squeeze
│ │ └── wheezy
│ ├── pool
│ │ └── updates
│ └── project
│ └── trace