Debian 9, repositorios externos y apt

Los cambios implementados en la última versión estable de Debian no solo han incomodado a más de uno; sino, contravenido una ley sancionada por la praxis: «Si algo funciona bien, no lo cambies».
En el blog Debian GNU/Linux (admlinux.cubava.cu), en el artículo «Gracias apt, ya no funciona file:/» su autor refiere el particular predicho y deplora:

1.-Incorporción de SystemD en contra de la opinión mayoritaria de la comunidad Debian.
2.-Ya no más eth [0-9] y wlan [0-9]
3.-Apt ya no se entiende con repos locales en /media

A partir de una petición hecha por un internauta en ese espacio digital que refiere a que antes (¿ante de qué?) en el foro del GUTL se obtenían todo tipo de respuestas; pero que ahora ya no es posible, Koratsuki (es el nick del Administrador del blog Debian GNU/Linux) ofrece una solución interesante. A partir de tal circunstancia y en vista de que fui víctima también de dichos cambios, redacto este artículo y ofrezco otra solución al problema planteado.

Es cierto, en Debian 9 no puede utilizarse el repositorio si este está grabado en un dispositivo externo y montado en /media; para usarlo es preciso crear un punto de montaje en /mnt. En el siguiente ejemplo, el repositorio está contenido en una carpeta nombrada «debian9» y esta a su vez en una partición llamada «III», en un disco duro externo con sistema de ficheros NTFS.

Para ello, nos auxiliamos de la consola y, por supuesto, es preciso contar con permisos de root o administrador

1.-Creamos el punto de montaje:

# mkdir /mnt/III

2.-Montamos el dispositvo:

# mount -t ntfs /dev/sdc6 /mnt/III

Nota: En mi caso escribo sdc6 porque así reconoce el sistema la partición III de mi disco duro. ¿Y cómo puede saber Ud. cómo Debian reconoce su disco duro? Simplemente, en la misma consola y con los mismos permisos de administrador teclee:

# blkid

Y el sistema le devolverá lo que necesita saber. No olvide desmontar el dispositivo porque cuando Ud. lo enchufó o conectó a la PC el sistema de seguro se lo montó automáticamente en /media/su_usuario.

3.-Luego, con nuestro editor preferido o el que tengamos instalado en ese momento y permisos de root, editamos el fichero «sources.list» y lo dejamos como se muestra a continuación:

deb file:///mnt/III/debian9 stretch main contrib non-free

Donde:

deb file:///mnt [Es el argumento y lugar donde está montado el dispositivo]
III/debian9 [Es la partición o el dispositivo donde está el repositorio y la carpeta que contiene el mismo]
stretch main contrib non-free [Es el nombre de la versión y las tres ramas básicas que lo componen]

4.-Finalmente, volvemos a la consola (¿eso de consola es porque consuela?) y al actualizar le damos al sistema la ruta desde donde obtendrá nuestros programas:

# apt-get update

Y ya podemos instalar nuestros programas desde el disco duro externo porque no tenemos acceso a Internet, un ancho de banda decente o espacio suficiente en el disco duro interno de nuestra PC para copiar allí los 81,7 Gbytes que demanda Debian 9 conocido también como Stretch.

¿Te resultó interesante? Compártelo ...



Delio Orozco González

Publicado por Delio Orozco González

Forma parte de GUTL desde el 6 diciembre, 2011.

Este artículo tiene 31 comentarios

  1. Teniendo en cuenta que en la version 16.04 de Ubuntu tambien le dieron»guagua» al protocolo File, este tuto serviría tambien?

    • Fitin:

      Estimo que el mejor modo de saberlo es hacer la prueba. Por favor, si tiene a mano un repo de Ubuntu 16.04 proceda al experimento y luego, compartiendo su experiencia, nos comenta el resultado.

      • Es que en mi caso yo copie el repo local de Ubuntu en la carpeta Home, por tanto imagino que este tuto no es tan compatible

        • Como te pudiste percatar, el tutorial está pensado para tener el repositorio en un disposito externo.

          En mi caso, que uso Debian 9, tengo el repositorio en un disco duro interno, distinto a / y home, con sistema de ficheros ext4 y montado en /mnt

        • No tienes problema alguno para probarlo, haces un enlace simbólico que desde /mnt/NNNN apunte a tu /home/DDDDD/YYYYY, así lo hice y éxito total… prueba y nos dices…

          • Bueno colega, le comento que soy de los linuxeros»new», me podria explicar con lenguaje menos tecnico como puedo hacer ese procedimiento? Yo y unos cuantos «iniciados» se lo vamos a agradecer.

          • Sin problemas, imagina que tu repo ahora está en /media/datos/repositorio, lo que yo haría es, crear el enlace simbólico con:

            ln -s /media/datos/repositorio/ /mnt/repositorio

            Luego editar el fichero /etc/apt/sources.list y definiría mis orígenes de paquetes locales para 64bits así:

            deb [arch=amd64] file:///mnt/repositorio stable main contrib non-free

            Así sucesivamente y respetando claro la estructura de tu repositorio en cuestión.

            Intenta y nos dejas saber.

            LordFord.

          • Ya colega, me sirvió, muchas gracias, estoy seguro que esta ayuda le sirve a mas de uno de los que nos estamos iniciando en el precioso mundo de linux.

            Saludos.

      • El problema es que Debian nada me duró menos de 24 horas en el portátil. Igual tuve que luchar con los problemas de apt y eso fue lo que me desilusionó. Un saludo!!

          • Yo diría que antes no había necesidad de evolucionar como ahora, pero con el mundo revuelto y brutal que nos rodea APT tuvo que adaptarse e incrementar la seguridad y eficiencia en las operaciones… nosotros somos un caso aparte. No creen que si al resto de los millones de usuarios les diera alguno de estos problemas se hubiera «resuelto» ya…

        • Mira que preferir «pasar trabajo» con cualquier otra cosa solo por no «pasar trabajo» con Debian… radical…

      • Saludos.necesito que me ayuden con un problema,yo hice un repo local con apt-scanpackages y todo salió bien .a la hora de usarlo lo añado al sources.list y cuando actualizo apt-get update me sale esto …el repositorio no tiene fichero de publicación .
        No se puede actualizar de un repositorio como este de forma segura y por tanto está deshabilitarlo por omisión …podrían decirme cómo habilitarlo por favor ,saludos yero

    • Si Bro, el mismo problema de apt con «File» esta pasando en ubuntu xenial, seria bueno que compartieras tu experiencia al respecto

    • Colegas:
      una pasada por man sources.list devuelve esto:
      […]
      copy
      El esquema «copy» es idéntico a «file», pero los paquetes se copian al directorio almacén en vez de usarlos directamente en su ubicación original. Es de utilidad para personas que utilizan dispositivos extraíbles, ya que permite realizar la copia de ficheros con APT.

      […]

        • Leo:

          El problema con esta opción, me explicó Maikel, es que te llena la caché con programas y sus dependencias, hipotecándote el poco espacio que tienes en disco duro; además, no te ubica los ficheros en carpetas, sino, que los mezcla todos, de modo que si desinstalas uno y quieres volver a instalarlo y usas el necesario «dpkg -i *.deb» instalará todo los deb que ahí están, entonces, tienes que usar «apt-get clean» o fuerza bruta (borrarlos como administrador) y volver a usar «apt-get copy» apuntando al dispositivo externo para que lo copie a la caché y desde ahí lo instale. Es una vía, cierto, pero no la más efectiva para la situación descrita.

          El objeto del artículo es mostrar la solución más expedita al uso de un repositorio de Debian 9 en un dispositivo externo local (muy común en nuestro entorno), porque no puedes obtenerlo vía http, ftp o copiarlo a disco duro por la falta de espacio, toda vez que, en el tradicional punto de montaje «/media» la opción «deb file:/» no funciona.

          • Hmmm… bueno bueno… creo que la solución para obtenerlo por HTTP siempre será usando python que viene de fábrica jejejee… python3 -m http.server y a apuntar los repos al localhost:8000 !!!

  2. Quisiera pedirle a los administradores del sitio que de ser posible publiquen la nueva actualización de la aplicación LiveUSB-Install, la cual yo descargue de este sitio ya hace como dos años pero que ya como que se ha quedado atrás, haria falta la actualizacion de la misma, esta es una herramienta muy importante y útil a la hora de hacer memorias boot para instalar distros.

    Saludos

    • Hola Fitin, yo utilizo el programa Easy2Boot que te permite no solo distros de linux sino de windows y tambien antivirus booteable y windows PE, todo junto en una misma memoria bootebale. Este programa va por la version 1.95 creo y pesa 50 Mb. Mi correo es almeida.iga@gmail.com

  3. Muy buena solución, aunque por desarrollador prefiero la que se propone al usar el servidor simple de HTTP que implementa python (desconocia esa funcionalidad hasta que leí el artículo 😉 ), en más de una ocación he usado el protocolo file:// para actualizar algún servidor de algún colega desde el HD externo. En la próxima update que tenga que hacer probaré a ver si me funciona, sino le pego al web y listo.
    Salu2

  4. me llamo José Luis y me an dicho el mundo de linux es bastante bonito devido a que soy un mero prinsipiante deseo saber si alguien me podria ayudar los SO de linux que poseo son los Kali Linux si alguen sabe al al respecto porfa ayudenme

  5. Increíblemente útil !!! Jejejeje… lo he probado sin problemas, la de pasos que me he ahorrado, pero igual hay que razonar que los cambios que se realizan en Debian se consultan con la comunidad antes de hacerlos, que nosotros resultemos afectados tiene sus razones objetivas, más eso no quiere decir que APT ha cambiado para peor, si se fijan cada uno de los «errores» que nos afectan «a nosotros» tiene una razón que de alguna forma incluye una mejora de seguridad, APT cada vez implementa más y mejores mecanismos para evitar que seamos, bueno que sean ellos, afectados por software malicioso que encontremos en orígenes desconocidos o poco confiables… no hay que tirar el sofá por la ventana, porque nosotros somos la ventana…

    • Carlos Rafael:

      Perdone la demora en responder pero ahora es que puedo acceder a nuestro portal. Cuando a mi correo personal llegó su pedido, traté de enviarle la disposición de serle útil a la cuenta «nauta.cu» desde donde Ud. escribió esta solicitud y me devolvía el mensaje de que esa cuenta no existía. Si aún está interesado en preguntar; puede poner aquí mismo una dirección válida y me comunicaré con Ud.

Los comentarios están cerrados.