Administrar paquetes desde la línea de comandos
La forma más común de administrar paquetes o software es desde Synaptic Package Manager. Es la herramienta de interfaz gráfica de usuario más sencilla para instalar y eliminar software de su sistema debian/ubuntu.
Sin embargo, para aquellos que prefieren la consola, hay muchas herramientas para hacer el trabajo con la misma facilidad. En este tutorial vamos a ver apt, la herramienta de gestión de paquetes utilizada en ubuntu.
Aunque antes era un usuario de Synaptic, cuando comencé con las herramientas de línea de comandos, las encontré más fáciles y rápidas.
En Ubuntu hay 3 comandos principales para administrar paquetes. Estos son dpkg, apt-* y aptitude.
En este tutorial, veremos rápidamente algunos de los ejemplos del comando apt-get que se puede usar para instalar y administrar paquetes.
Ejemplos de comandos apt-get
El comando apt-get se puede usar para instalar, eliminar y actualizar paquetes. También puede actualizar toda la distribución a una nueva versión.
1. Di Moo con apt-get
Esto es lo más importante que hacer con apt-get. Es decir, decir Mu....
$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... $
2. Instalar un nuevo paquete
Este es el comando más común. El comando apt-get install instalará el paquete y extraerá todas las dependencias necesarias, es decir, otros paquetes necesarios para ejecutar el paquete requerido actual. El uso es de nuevo, muy simple
$ sudo apt-get install apache2
Para instalar varios paquetes de una sola vez, solo menciónelos separados por espacios. Por ejemplo:
$ sudo apt-get install php-fpm php-curl
3. Actualizar paquete seleccionado
Para actualizar un paquete seleccionado, simplemente instálelo de nuevo
$ sudo apt-get install nginx
Esto actualizará el paquete si hay actualizaciones disponibles desde el repositorio.
4. Obtener el código fuente de un paquete
El código fuente de cualquier paquete se puede descargar usando el siguiente comando
$ apt-get source gbrainy
5. Eliminar un paquete instalado
Use la opción de eliminación con apt-get para eliminar un paquete
$ apt-get remove apache2
Ejemplos de comandos de apt-cache
Apt-cache es un comando que viene con apt-get y se puede usar para verificar información sobre paquetes.
1. Encuentra las dependencias de un paquete
Para encontrar las dependencias de un determinado paquete, use el comando apt-cache
$ apt-cache depends apache2 apache2 |Depends: apache2-mpm-worker |Depends: apache2-mpm-prefork |Depends: apache2-mpm-event Depends: apache2-mpm-itk Depends: apache2.2-common Conflicts: apache2:i386
Indicará de qué paquetes adicionales depende un determinado paquete y qué paquetes entran en conflicto con él. También enumerará los paquetes que se eliminarán al instalar este paquete y todos los paquetes recomendados para instalar con este paquete.
2. Buscar paquetes
El comando apt-cache se puede usar para buscar los paquetes desde la consola. Esto es útil cuando se trabaja en un servidor remoto donde no hay interfaz gráfica de usuario disponible. Pero además, la consola es más potente y rápida.
$ apt-cache search nginx
El comando apt-cache por defecto busca tanto el nombre del paquete como la descripción. Entonces, para afinar los resultados, necesitamos filtrarlos aún más usando grep.
apt-cache search nginx | grep nginx lua-nginx-memcached - Pure Lua memcached client driver for the nginx embedded Lua language lua-nginx-redis - Pure Lua redis client driver for the nginx embedded Lua language nginx - small, powerful, scalable web/proxy server nginx-common - small, powerful, scalable web/proxy server - common files nginx-doc - small, powerful, scalable web/proxy server - documentation nginx-extras - nginx web/proxy server (extended version) nginx-extras-dbg - nginx web/proxy server (extended version) - debugging symbols nginx-full-dbg - nginx web/proxy server (standard version) - debugging symbols nginx-light - nginx web/proxy server (basic version) nginx-light-dbg - nginx web/proxy server (basic version) - debugging symbols nginx-naxsi - nginx web/proxy server (version with naxsi) nginx-naxsi-dbg - nginx web/proxy server (version with naxsi) - debugging symbols nginx-naxsi-ui - nginx web/proxy server - naxsi configuration front-end nginx-full - nginx web/proxy server (standard version)
El comando de búsqueda apt-cache admite expresiones regulares.
$ apt-cache search ^nginx$ nginx - small, powerful, scalable web/proxy server nginx-extras - nginx web/proxy server (extended version) nginx-light - nginx web/proxy server (basic version) nginx-naxsi - nginx web/proxy server (version with naxsi) nginx-naxsi-ui - nginx web/proxy server - naxsi configuration front-end nginx-full - nginx web/proxy server (standard version)
apt-cache show <package> Shows the full description of <package>. apt-cache showpkg <package> Shows a lot more detail about <package>, and its relationships to other packages.
3. A qué repositorio pertenece un paquete
Los usuarios a menudo agregan repositorios adicionales para instalar software de otras fuentes. Si queremos averiguar de qué repositorio proviene un paquete, el comando apt-cache puede indicarlo.
$ apt-cache policy wine wine: Installed: (none) Candidate: 1.4.1-0ubuntu5 Version table: 1.4.1-0ubuntu5 0 500 http://in.archive.ubuntu.com/ubuntu/ raring/universe amd64 Packages
El resultado anterior muestra que el paquete vino lo proporciona el repositorio de ubuntu.
Tomemos otro ejemplo
$ apt-cache policy google-chrome-stable google-chrome-stable: Installed: 28.0.1500.45-r205727 Candidate: 28.0.1500.70-r209565 Version table: 28.0.1500.70-r209565 0 500 http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages *** 28.0.1500.45-r205727 0 100 /var/lib/dpkg/status
El resultado anterior muestra que Google Chrome es proporcionado por http://dl.google.com/linux/chrome/deb/ repositorio.
Comando apt-add-repository
Las fuentes de software se almacenan en el archivo llamado /etc/apt/sources.list . Entonces, si necesita agregar un nuevo repositorio
$ sudo apt-add-repository ppa:lubuntu-desktop/ppa
O si es una URL completa, entonces
add-apt-repository 'deb uri distribution [component1] [component2] [...]'
Por ejemplo
$ add-apt-repository 'deb http://extras.ubuntu.com/ubuntu quantal main' $ add-apt-repository 'deb-src http://extras.ubuntu.com/ubuntu quantal main'
Habilidad
Aptitude es otro comando que se puede usar para administrar paquetes desde la línea de comandos al igual que dpkg y apt-get. Aptitude se considera mejor y superior a apt-get por varias razones. Una de las ventajas de aptitude es que, al eliminar un determinado paquete, aptitude también eliminará todas las dependencias de ese paquete, para que no queden como paquetes huérfanos. Apt-get y synaptic no pueden hacer eso y generar paquetes huérfanos/sin usar.
Instalar un paquete
Igual que apt-get, solo use el comando de instalación con aptitude para instalar cualquier paquete
$ sudo aptitude install firestarter
Eliminar paquetes
Nuevamente, igual que apt-get, use la opción de eliminación.
$ sudo aptitude remove firestarter
Buscar los paquetes
Una de las tareas más útiles y frecuentes es buscar paquetes e instalar los necesarios. Buscar desde la línea de comandos es muy útil en un servidor remoto donde no tiene una interfaz gráfica de usuario y también en un sistema local, donde no desea iniciar el administrador de paquetes Synaptic.
El siguiente comando buscará todos los paquetes que tengan la palabra nginx en su nombre de paquete.
$ aptitude search nginx
Lo siguiente buscará paquetes que tengan php o admin en sus nombres.
$ aptitude search php admin
Para buscar todos los términos de búsqueda juntos, enciérrelos entre comillas simples. Lo siguiente buscará todos los paquetes que tengan php y admin en sus nombres
$ aptitude search 'php admin' p mlmmj-php-web-admin - administrative web interface for mlmmj, written p phpldapadmin - web based interface for administering LDAP serve i phpmyadmin - MySQL web administration tool i phppgadmin - web-based administration tool for PostgreSQL
Para buscar tanto el nombre como la descripción del paquete, use el modificador d.
aptitude search nginx ~dnginx aptitude search 'firmware ~dwireless'
La función de búsqueda también admite expresiones regulares
aptitude search ^nginx$
Así que construya cualquier tipo de expresión regular que necesite y busque de inmediato.
Buscar paquetes instalados
Digamos que queremos buscar todos los paquetes con el nombre 'apache'. El comando aptitude se puede usar con el interruptor i como se muestra a continuación
aptitude search ~inginx aptitude search '~inginx'
$ aptitude search '~iapache' i apache2 - Apache HTTP Server metapackage i A apache2-mpm-prefork - Apache HTTP Server - traditional non-threaded model i apache2-suexec - Standard suexec program for Apache 2 mod_suexec .....
O use grep en lugar del interruptor i.
$ aptitude search nginx | grep ^i i nginx - small, powerful, scalable web/proxy server i A nginx-common - small, powerful, scalable web/proxy server i A nginx-full - nginx web/proxy server (standard version)
Rápido y fácil.
Reinstalar paquete
Para reinstalar un paquete usando aptitude use el comando de reinstalación
aptitude reinstall <package>
Actualizar distribución
La actualización completa de la distribución también se puede hacer desde la terminal. Por ejemplo, cuando necesita actualizar ubuntu en su servidor. Aquí está el comando
# prepare the system sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade # upgrade distro sudo apt-get install update-manager-core sudo do-release-upgrade
¡¡Fácil!!
Lista de repositorios
Para enumerar los repositorios actuales, lea los archivos /etc/apt/sources.list y /etc/apt/sources.list.d/* desde la línea de comandos y use grep para filtrar según corresponda. Aquí hay algunos ejemplos
Lo siguiente enumerará los repositorios deb (y no el deb-src) del archivo /etc/apt/sources.list.
$ cat /etc/apt/sources.list | grep "^deb\s" deb http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring universe deb http://in.archive.ubuntu.com/ubuntu/ raring-updates universe deb http://in.archive.ubuntu.com/ubuntu/ raring multiverse .....
A continuación se enumeran los repositorios deb (y no el deb-src) del archivo /etc/apt/sources.list y los archivos /etc/apt/sources.d/*.
$ grep -h "^deb\s" /etc/apt/sources.list /etc/apt/sources.list.d/* deb http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring universe deb http://in.archive.ubuntu.com/ubuntu/ raring-updates universe deb http://in.archive.ubuntu.com/ubuntu/ raring multiverse deb http://in.archive.ubuntu.com/ubuntu/ raring-updates multiverse .....
Para enumerar los repositorios deb y deb-src
$ grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/* deb http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb-src http://in.archive.ubuntu.com/ubuntu/ raring main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb-src http://in.archive.ubuntu.com/ubuntu/ raring-updates main restricted deb http://in.archive.ubuntu.com/ubuntu/ raring universe
Así que disfruta de la terminal