Actualizar Debian y derivados con un solo comando [Script]

Bueno verán decidí hacer esto debido a que tenía que usar el borrador que tenía en mi bandeja pudriéndose así que les comparto un script que no es la gran cosa solo posee 2 líneas y pedirá la contraseña de root o de los sudoers.

SCRIPT: actualizar

#!/bin/bash
sudo aptitude update
sudo aptitude full-upgrade

Y listo no se vayan a abrumar con tantas líneas de complicada programación (Sarcasmo).

Una vez que lo guardamos, le da permisos de ejecución, entramos como root a nuestro navegador de archivos copiamos y pegamos el script para que les quede algo así:

Ahora cerramos abrimos una terminal y escribimos ‘actualizar’ (obviamente sin las comillas)

Como verán en la Siguiente Imagen se han Actualizado los Repositorios:

Escribimos Y para aceptar lo que se va instalar y/o actualizar y esperemos que se descarguen e instalen las actualizaciones y quede la terminal así:

Y ahora has Actualizado tu sistema con un solo comando.


45 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   e Xe dijo

    Don de está el script?

    1.    merlin el debianita dijo

      se encuentra después de las primeras 3 líneas del post.

      1.    e Xe dijo

        Pues realmente no entiendo este post.

  2.   Hugo dijo

    No deja de resultarme curioso que algunos usuarios prefieran complicarse con scripts y permisos cuando pueden solucionar el problema con un simple alias. De hecho, este post es muy parecido a uno que recién acaba de publicarse sobre «simplificar comandos», y para el cual, por cierto, puse un comentario con un alias que es incluso más completo que el que se ha publicado en este propio post. En fin, que desear contribuir a la comunidad es noble, pero cuando los posts son tan parecidos no me parece que ayude.

    1.    Atheyus dijo

      Cuando era debianita me «complique» con este:

      http://paste.desdelinux.net/4680

      Los alias son para tuberias y ands ~_~, pero eso es lo que hace me guste GNU/Linux las muchas formas de hacer las cosas,solo hay que tener cuenta los permisos de los archivos.

  3.   Berbellon dijo

    Entiendo que no todos somos buenos en el manejo de un S.O. (ya sea windows, GNU/Linux, etc), pero por lo menos, hay que informarse un poco acerca de ellos (el que se utiliza).
    Como bien dijo Hugo, «Actualizar Debian y derivados con un solo comando [Script]» y «Simplificar comandos», al menos para mí, no tienen sentido, si esto se resuelve editando el .bashrc y agregar:

    alias actualizar=’sudo aptitude -y update && sudo aptitude -y safe-upgrade’

    Saludos…..

    PD: Hay que abrumarse con código, cuando realmente se necesite.

    1.    merlin el debianita dijo

      admito que tienes razón, pero al menos para mí hacer el script o ponerle alias es igual fácil.

      1.    msx dijo

        Aquí es donde entra en juego la diferencia entre el que hace las cosas bien y el que als hace mal.
        Si recién te estás iniciando y todavía no conocías el comando ALIAS, bienvenido a GNU/Linux y enjoy tu (dirty) hack.

        En tu caso es distinto: demostrás ser un ignorante y negligente total al hacer un uso incorrecto de los estándares de uso de un sistema GNU/Linux. En tu caso cuanto más lejos de la consola, mejor.

    2.    merlin el debianita dijo

      Haber Intentalo:
      porque «alias actualizar=’sudo aptitude -y update && sudo aptitude -y safe-upgrade’»
      No me funciono y en teoría debería funcionar.

      Y si quite el script con el mismo nombre y hasta intente con otro alias.

      1.    Hugo dijo

        Si concatenar dos comandos en una línea no te funciona es porque algo tienes roto en tu sistema, porque la ejecución condicional es funcionalidad estándard de bash.

        No será que en tu PC estás combinando paquetes de diferentes versiones de Debian y/o derivadas? Si yo fuese tu, reinstalaría bash o incluso el sistema completo solo por ese síntoma que describes, pues ya no podría confiarme de que el sistema se me va a comportar de manera estable.

        1.    merlin el debianita dijo

          la verdad es que sí tengo un par de repos de launchpad y linuxmint pero no creo sea tan severo como para reinstalar el sistema completo.

          1.    Hugo dijo

            Eso aclara un poco las cosas. Claramente, tenemos diferentes criterios en cuanto a la importancia de la estabilidad de un sistema. 😉

            Después de todo, es tu sistema; estás en todo tu derecho de usarlo así, aunque francamente mezclar Debian con repos de Ubuntu y Linux Mint … vaya, que para un auténtico debianita eso es como un sacrilegio. Es más, muchos debianitas miran con malos ojos incluso usar apt-pinning.

            En mi himilde opinión, para tener esa promiscuidad de repositorios, estarías mejor usando algo con Debian Cut, Sid, alguna derivada de Sid, o quizás otra cosa como Ubuntu, Fedora, Arch, LFS, etc.

  4.   Christopher dijo

    Puede ser mucho más sencillo poner todo en una sola linea

    sudo aptitude update && sudo aptitude dist-upgrade

    1.    merlin el debianita dijo

      la verdad es un proceso de una sola vez y ahora solo debo escribir «actualizar» para hacerlo y no toda línea que acabas de poner.

  5.   Alf dijo

    Pues hay algo que no entiendo, ya que Desde linux es:
    Nosotros

    ¿Qué es <° Linux?
    <° Linux (a.k.a DesdeLinux) es un sitio dedicado a temas relacionados con El Software y Las Tecnologías Libres. Nuestro objetivo no es otro que brindarle a todo aquel usuario que se inicia en el mundo de GNU/Linux, un lugar donde pueda adquirir nuevos conocimientos de la forma más fácil posible.

    Nuestros intereses:
    Compartir y adquirir conocimientos con cualquier persona.
    Debatir sobre cualquier tema, siempre y cuando esté relacionado con GNU/Linux, El Software y Las Tecnologías Libres.
    Crear un espacio comunitario de Ayuda y Soporte.
    Formar una Comunidad de Usuarios con los que compartir experiencias.

    Entonces, ¿porque cada que alguien comparte algo, salta la crítica?

    1.    Hugo dijo

      Probablemente sea porque a la mayoría de los usuarios de Linux les gustan las soluciones eficientes, y si ven algo que en su opinión puede mejorarse, lo dicen. Hasta ahora y por lo que conozco a los creadores de este blog, se intenta respetar el criterio de todos los usuarios; es decir, tanto derecho tiene alguien a publicar un artículo como los otros usuarios a comentar al respecto.

      Veamos, las críticas no son necesariamente algo malo, ya que pueden enriquecer mucho los artículos, si se hacen de manera constructiva. Evidentemente, las críticas destructivas (es decir, aquellas carentes de argumentos, falsas u ofensivas) sí son perjudiciales, pero hasta ahora yo no recuerdo haber visto muchas críticas de ese tipo por aquí.

      1.    msx dijo

        Creo que lo que más nos puede molestar es el total desprecio por el uso correcto del sistema que hace el autor del post y el además ufanarse por su acción:

        «admito que tienes razón, pero al menos para mí hacer el script o ponerle alias es igual fácil.»

        Si sabés que estás haciendo algo mal cuando tenés la posibilidad de hacerlo bien, sin costo extra -es más, con beneficios agregados- pero insistís en hacerlo mal es que:
        1. sos un nenito rebelde sin causa.
        2. sos un idiota.

        No hay muchas más vueltas al asunto, sólo pongo en palabras escritas lo que piensa cualquier usuario que trata de aprender las mejores prácticas de GNU/Linux y usarlo de la forma más eficaz.

        Para crear «ugly hacks» antes es necesario demostrar competencia sino sos simplemente un sucio.

        1.    merlin el debianita dijo

          hmm tal vez sea el número 2 porque no entendí el punto.

          XD

        2.    merlin el debianita dijo

          No se puede ponerle un alias 2 ordenes lo más parecido fue lo que ya tenía en mi alias que sería update && upgrade para hacer lo que el script actualizar hace. No veo donde esta el problema aún. O es que soy demasiado haragán para escribir update && upgrade.

          por cierto mis alias que ya los tenía antes hacer artículo.

          alias rm=’rm -i’
          alias cp=’cp -i’
          alias mv=’mv -i’
          alias upgrade=’aptitude full-upgrade’
          alias update=’aptitude update’
          alias install=’aptitude install’
          alias remove=’aptitude remove’
          alias clean=’aptitude clean’

        3.    msx dijo

          Estos son mis alias para el home server Ubuntu Server 12.04 LTS:

          $ cat ~/.bash_aliases

          ################################
          # Ubuntu/Debian specific aliases
          #——————————-

          alias UpdateSystem=’sudo aptitude update && sudo aptitude safe-upgrade && sudo aptitude full-upgrade’
          alias Remove=’sudo aptitude purge’
          alias SearchLocal=’dpkg -l|grep -i’
          alias Search=’aptitude search’
          alias Install=’sudo aptitude install ‘
          alias Show=’aptitude show’
          alias Clean=’bleachbit && gksudo bleachbit && sudo apt-get autoremove && sudo apt-get autoclean && sudo deborphan | xargs sudo apt-get -y remove –purge && sudo aptitude clean && sudo aptitude autoclean && sudo deborphan | xargs sudo apt-get -y remove –purge’
          alias Cleancli=’bleachbit -d deepscan.tmp system.desktop_entry system.localizations system.rotated_logs system.tmp && sudo bleachbit -d deepscan.tmp system.desktop_entry system.localizations system.rotated_logs system.tmp && sudo apt-get autoremove && sudo apt-get autoclean && sudo deborphan | xargs sudo apt-get -y r\
          emove –purge && sudo aptitude clean && sudo aptitude autoclean && sudo deborphan | xargs sudo apt-get -y remove –purge’

          1.    merlin el debianita dijo

            a mí si pongo más de 2 comandos no me funcionan :(, o será que en ubuntu si funcionan? (No puede ser el mismo archivo que se modifica no?).

          2.    msx dijo

            Justamente como todos somos harganes, especialmente los administradores de sistemas y los programadores, hacemos uso, abuso y recontra abuso de alias y hacks para tener que apretar la menor cantidad posible de teclas; el ideal de todo admin o coder es llegar al punto de tener un alias de una sola letra que actualice el sistema y limpie la casa (cocinar, cocino yo).
            En serio, la cuestión aquí es automatizar tareas redundantes de la forma más eficiente, práctica y cómoda.

            Mi política de alias es la siguiente:
            1 como tengo *muchos* alias que comparto en un mismo ~/.bash_aliases a través de distintos sistemas casi siempre empiezo mis alias con letra mayúscula lo que además evita que eventualmente _pise_ algún comando propio del sistema.
            2. para la cantidad de alias que uso, un buen alias no debe hacerme apretar más de 4 teclas, 5 con la tecla siendo generalmente la 4ta tecla la tecla TAB.
            De esta forma me alcanza con escribir las dos o tres primeras letras del alias -> TAB -> ENTER.
            3. teniendo alias bien definidos podés estructurar comando complejos o automatizar tareas complejas.
            $ Up[TAB] && Cleanc[TAB]
            osea
            # UpdateSystem && Cleancli
            Actualiza y limpia el sistema. Como siempre tengo corriendo alguna instancia de tmux, desacoplo la terminal, deconecto la sesión ssh y dejo trabajando al servidor por su cuenta.

            Por último, tené en cuenta que los comandos alias no se pueden anidar, es decir no podés usar un alias dentro de otro alias.
            En algún momento tuve definido un alias UpdateFull que actualizaba el sistema y luego accionaba los limpiadores pero dejé de usarlo porque actualizar y limpiar los sistemas no son una tarea trivial -por más que nos faciliten mucho la vida los desarrolladores- y prefiero tener un control más fino sobre estas acciones.

          3.    Hugo dijo

            Estan muy interesantes algunos de esos alias, jeje. Mira este que acabo de preparar jugueteando con las expresiones regulares, para solucionar un problemita de páginas webs guardadas desde Linux a una flash, que luego no pueden abrirse desde Windows por tener caracteres extraños:

            alias fixnames='sudo find . -depth -regextype posix-extended -regex '\''.*(\s+|:+|\\+|>+|+|<+|"+|\*+|\?+|\|+)/_/g'\'' "{}" \;'

            Por cierto, me perdonan comentar desde Windows, es que borré mi partición de Linux para hacer espacio para unos juegos 😉

          4.    Hugo dijo

            Bueno, disculpen pero en primer lugar respondía a msx (que no lo quedó muy claro por el límite de niveles de anidación de comentarios), y en segundo lugar, al parecer el blog se comió parte de mi alias (parece que no le agradan mucho las expresiones regulares), de modo que lo puse en el paste: http://paste.desdelinux.net/4685

      2.    msx dijo

        Excelente alias @Hugo!
        Yo me enamoré de las expresiones regulares cuando descubrí Perl (juntos son imbatibles!), lástima que son tan crípticas que a los 20 minutos de haberlas creado y comprobado que funcionan ya me olvidé lo que hacían y tengo que ponerme a desenmarañarlas paso por paso! xD

        Ahí copio la ER que pegaste para probarla, si tenés más así de útiles bienvenido sea un post con todas ellas 😉

    2.    Berbellon dijo

      Acaso te parece correcto este script o lo que hicieron en el directorio /bin (checa el tema Simplificando comandos).

      Es una crítica constructiva, que remarca dicho error, para que futuros usuarios de GNU/Linux, no tropiecen con semejante estupidez (sin referencia a alguna persona).

      Para este caso lo correcto es editar el .bashrc e introducir las líneas que crean convenientes.

      Saludos…..

      1.    msx dijo

        ~/.bash_aliases

        1.    Hugo dijo

          Aparentemente no todas las distribuciones proporcionan este archivo (algo que no ha dejado de llamarme la atención). En tal caso, podría arreglarse fácilmente colocando algo como esto en el .bashrc

          if [ ! -f ~/.bash_aliases ] ; then
          {
          echo "HISTIZE=5000"
          echo "HISTCONTROL=ignoreboth"
          } > ~/.bash_aliases
          fi
          if [ -f ~/.bash_aliases ] ; then
          source ~/.bash_aliases
          fi

          1.    Hugo dijo

            Perdon, es HISTSIZE. A propósito, histsize es para definir la cantidad de comandos a guardar en el historial, y HISTCONTROL=ignoreboth es para que no se guarden en el historial los comandos repetidos y los que comienzan con un espacio. Yo he encontrado que ambas cosas son muy útiles, junto con HISTIGNORE, opción que también coloco en mi .bash_aliases

        2.    Berbellon dijo

          Bueno, si tomo a Debian de ejemplo, veran que solo existe el .bashrc, pero si son algo curiosos y leen las líneas, observaran una sección:
          (a) # some more ls aliases, y
          (b) # Alias definitions. You may want to put all your additions into a separate file like ~/.bash_aliases, instead of adding them here directly. See /usr/share/doc/bash-doc/examples in the bash-doc package.

          if [ -f ~/.bash_aliases ]; then
          . ~/.bash_aliases
          fi

          Y claro para ello, $vim ~/.bash_aliases (porque hay que crearlo). Introducir, alias XX=’XXXXXX’, salvar y salir del archivo.

          Ahora con ArchLinux, resulta que su .bashrc esta prácticamente vacio. Y si .bashrc cumple esa función (la de alias), no veo necesario crear el .bash_aliases. Pero hay que tenerlo ordenado.

          Saludos…..

          1.    Berbellon dijo

            PD: Tomen en cuenta que mis alias, no son tan especiales en una tarea.

            Saludos MSX, Hugo.

          2.    msx dijo

            Hola @Berbellon,
            personalmente me gustaría que el ~/.bashrc de Arch viniera más robusto, es decir con varios seteos de variables de entorno que usamos cotidianamente ya que por más que uno esté continuamente aprendiendo sobre GNU/Linux y tratando de iluminar los rincones más oscuros siempre hay alguna tortuga que se nos escapa (eso si, que venga con muchos ejemplos de variables del sistema pero todo absolutamente comentado).
            Ahora, es comprensible el ~/.bashrc casi pelado de Arch ya que la distro está destinada a desarrolladores, científicos, sysadmins y todo aquel que quiera configurarla a su manera, a su gusto y uso personal aprendiendo del sistema y leyendo sobre cómo configurarlo – no en vano Arch es -si no me equivoco- junto con Slack una de las distros más puras de GNU/Linux en cuanto a que cada paquete que forma parte del sistema se toca lo menos posible, por ejemplo el servidor web apache que se llama httpd (nombre real de la aplicación) y se instala en /etc/httpd en contraste con Debian que lo llama apache y lo instala en /etc/apache2 con una configuración de archivos un tanto… personal.

            «Y si .bashrc cumple esa función (la de alias), no veo necesario crear el .bash_aliases. Pero hay que tenerlo ordenado.»
            En realidad ~/.bashrc no cumple esa función ya que en Arch Linux se busca incentivar las buenas prácticas de uso del sistema por lo que expresamente se recomienda usar ~/.bash_aliases para guardar los alias.
            Sin embargo esta distinción para la definición de alias -~/.bashrc vs ~/.bash_aliases- es meramente administrativa y se provee para que el administrador del sistema pueda organizar de forma modular y limpia su sistema ya que bien se puede utilizar el archivo ~/.bashrc para definir todos los alias que utilicemos.

      2.    merlin el debianita dijo

        Cierto pero a veces tienes algunos comando en el alias y que a veces necesitas hacerlos por separado y otras veces juntas y como ya me dijeron arriba no puedes ponerle alias a un comando que ya tiene aunque este anidado a otro, y por cierto tampoco tengo el sistema roto ya solo tengo un launchpad de jdownloader y el de linuxmint debian edition lo elimine porque me pareció redudante.

  6.   patz dijo

    es en serio? y este es un script que te actualiza el sistema y reinicia en un solo paso
    #!/bin/bash
    sudo aptitude update
    sudo aptitude full-upgrade
    sudo reboot

    normalmente las cosas que se hacen de forma constante son las que merecen ser scripteadas, un full upgrade no es constante, mucho menos en debian….

    1.    merlin el debianita dijo

      Yo suelo hacerlo seguido. :p

      1.    msx dijo

        Deberías probar con Semplice (Debian Sid maravillosamente estable y precioso con Openbox+tint2), aptosid/Sidduction (Debian Sid casi estable y muy bloated), Arch (la mejor distro RR de la historia), Gentoo/Sabayon o cualquier otra distro RR.
        Si usás debian yo le daría una oportunidad a Semplice, es más moderno que Crunchbang (Debian Stable) y anda excelente.

        1.    merlin el debianita dijo

          Lo voy a ver que tal y si me convence puede que se lo instale a la nueva laptop.

          1.    msx dijo

            Y un nuevo post? 😉

      2.    patz dijo

        que tan seguido aparece una version nueva de debian?

        1.    merlin el debianita dijo

          Cada 2 años aprox. si usas stable en testing podría decirse que es Rolling Release o sea que se actualiza por internet casi de manera diaria y no necesitas reinstalar el sistema de nuevo.

  7.   merlin el debianita dijo

    Hmm es probable. supongo que pasar por idiota una segunda vez no ha de ser tan malo.

    XD

    1.    msx dijo

      Uhh, dale che, dónde está ese cuero de campeón!!! xD
      Que te resbale, vieja!

  8.   Scraf23 dijo

    Como administrador de sistemas, solo hago scripts para tareas repetitivas y arduas, este no parece el caso xD

  9.   microzono dijo

    Pues llámame raro pero usar alias para comandos que usas a menudo vale pero para algo que se hace ¿una vez al año? (yo uso ubuntu lts osea que más) no tiene sentido.

    Además de tanto usar el alias como a alguno lo cambien de máquina ya lo veo tirando del -h 🙂

    1.    microzono dijo

      se me olvidó ponerlo pero pienso lo mismo del script