Post on 05-Jul-2020
Nivel I
Curso de AdministraciónGNU/Linux
Facultad de Ciencia y Tecnología – Oro Verde – 2009Facultad de Ciencia y Tecnología – Oro Verde – 2009
1
Nivel I
Curso de AdministraciónGNU/Linux
Facultad de Ciencia y Tecnología – Oro Verde – 2009Facultad de Ciencia y Tecnología – Oro Verde – 2009
El Curso de Administración de GNU/Linux en su nivel I pretende formar profesionales en el ámbito del Software Libre.
2
Evolución del Software y los paquetes en GNU/Linux
Capítulo 3: Manejo de paquetes en GNU/LinuxCapítulo 3: Manejo de paquetes en GNU/Linux
Manejo de paquetes con APT y DPKG
Manejo de paquetes con TAR y GZIP
Manejo de paquetes con herramientas gráficas
Para cerrar el capítulo 3 del curso veremos como administrar los paquetes en nuestra distribución Debian GNU/Linux. Comenzaremos con la evolución del Software y tocaremos aspectos históricos de los mismos. Luego pasaremos a ver el manejo de los paquetes con las herramientas apt y dpkg que se utilizan para manipular archivos con extensión .deb. También veremos que manera podremos realizar instalaciones manuales de paquetes con extensión tar.gz o bien tar.bz2. Terminando con la clase veremos algunas utilidades gráficas que nos permitan manipular los paquetes, como ejemplo, podemos citar kpackage para KDE y Synaptic basado en las librerías GTK.
3
Capítulo 3: Evolución del Software y los paquetes GNU/LinuxCapítulo 3: Evolución del Software y los paquetes GNU/Linux
En el principio...
● En GNU/Linux era muy complicado instalar programas.
● Necesitábamos obligatoriamente compilarcompilar los programas
● Esto generaba muchos problemas de por las dependenciasdependencias
● Todo esto hacía que instalar problemas era sumamente complicado
Con la salida de las primeras distribuciones de GNU/Linux hace varios años, resultaba sumamente tedioso y complicado instalar aplicaciones, ya que no existía un mecanismo que permitiera realizar esto de forma simple y eficiente.Como vimos anteriormente, al ser una de las bondades del software libre la posibilidad de disponer libremente del código fuente del programa, necesitábamos compilar el mismo para poder obtener los archivos binarios o ejecutables y así poder correr el problema.Sin embaro muchas veces el proceso de compilación de software puede resultar molesto y muy dificultoso, ya que para realizar esta tarea necesitamos tener acceso además a todas las librerías, compiladores y herramientas que esta utiliza. Llamamos a esto dependencias, ya que son todas las librerías y utilidades necesarias para poder llevar a cabo la compilación e instalación del mismo.A la hora de instalar un programa, necesitábamos primero instalar y configurar todas sus dependencias, y aunque a veces el número de dependencias es muy grande y a sus ves éstas pueden depender de otras herramientas, lo que genera una cadena larga de dependencias a la hora de instalar.
4
Capítulo 3: Evolución del Software y los paquetes GNU/LinuxCapítulo 3: Evolución del Software y los paquetes GNU/Linux
Para solucionar esto...
● Distintas comunidades de usuarios desarrollaron Sistemas de PaquetesSistemas de Paquetes
● Nace el concepto de paquete paquete
● Esto soluciona la gran mayoría de los problemas anteriores
● En la actualidad existen numerosas herramientas para realizar este proceso
Una vez visto este problema, diversas comunidades de usuarios de software libre se pusieron a trabajar para ver como solucionar este problema, y desarrollaron lo que hoy se conoce como Sistema de Paquetes.Un sistema de paquetes es una herramienta que permite administrar toda la instalación de software de una computadora, se encarga de instalar, remover, configurar y actualizar todos las aplicaciones y utilidades del sistema.Un Paquete puede definirse como un programa, herramienta o librería compilada y lista para su uso. En este caso, se instalan directamente los programas compilados y todas sus dependencias y no necesitamos compilar ni preocuparnos por las librerías y las herramientas necesarias para su correcto funcionamiento.
5
Capítulo 3: Evolución del Software y los paquetes GNU/LinuxCapítulo 3: Evolución del Software y los paquetes GNU/Linux
Algunos sistemas de Paquetes
● Debian GNU/Linux: aptget
● Gentoo: Portage
● Slackware: tgz
● Fedora / RedHat / CentOS: yum
Advanced Packaging Tool, (tcc APT), es un sistema de gestión de paquetes creado por el proyecto Debian. APT simplifica en gran medida la instalación y eliminación de programas en los sistemas GNU/Linux. No existe un programa apt en sí mismo, sino que APT es una biblioteca de funciones C++ que se emplea por varios programas de Línea de comandos para distribuir paquetes, en especial, aptget y aptcache. Existen también programas que proporcionan un frontispicio para APT, generalmente basados en aptget, como aptitude con una interfaz de texto ncurses, Synaptic con una interfaz gráfica GTK+, o Adept con una interfaz gráfica Qt. Existe un repositorio central con más de 21.000 paquetes apt utilizados por aptget y programas derivados para descargar e instalar aplicaciones directamente desde Internet, conocida como una de las mejores cualidades de Debian.APTAPT fue diseñado originariamente para trabajar con paquetes .deb, en lo sistemas Debian (y derivados), pero desde entonces ha sido modificado para trabajar con paquetes RPM (aptrpm), y para funcionar en otros sistemas operativos, como Mac OS X (Fink) y OpenSolaris (distribución Nexenta OS).RPM Package ManagerRPM Package Manager (o RPM, originalmente llamado Red Hat Package Manager) es una herramienta de administración de paquetes pensada básicamente para Linux. Es capaz de instalar, actualizar, desinstalar, verificar y solicitar programas. RPM es el formato de paquete de partida del Linux Standard Base.Originalmente desarrollado por Red Hat para Red Hat Linux, en la actualidad muchas distribuciones Linux lo usan dentro de los cuales las más destacadas son Fedora Linux, MandrivaLinux, SuSE Linux y Conectiva Linux. También se ha portado a otros sistemas operativos.Portage es el nombre del sistema avanzado de ports originario de Gentoo. Portage es un verdadero sistema de ports en la tradición de los ports BSD, pero está basado en Python y posee una serie de características avanzadas, entre ellas: la gestión de dependencias, afinamiento preciso de los paquetes a gusto del administrador, instalaciones falsas al estilo OpenBSD, cajas de arena durante la compilación, desinstalación segura, perfiles de sistema, paquetes virtuales, gestión de los ficheros de configuración y múltiples ranuras para distintas versiones de un mismo paquete.Yellow dog Updater, Modified YUM es una herramienta de software libre de gestión de paquetes para sistemas Linux basados en RPM. Fue desarrollado por Seth Vidal y un grupo de programadores voluntarios, y actualmente se mantiene como parte del proyecto Linux@DUKE de la Universidad de Duke.
6
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
¿Qué es APT?● Herramienta avanzada para el manejo de paquetes.● Basada el uso de DPKG.
Algunas funciones de APT
● Resolución de complejas dependencias.● Traer paquetes de servidores remotos para instalar en nuestro
equipo.
Configuración básica de APT
Se realiza desde el archivo /etc/apt/sources.list./etc/apt/sources.list.
APT es un acrónimo para Advanced Packaging Tool, un sistema de gestión de paquetes creado por el proyecto Debian. Su objetivo es simplificar en gran medida la instalación y eliminación de programas en los sitemas Linux.No existe un programa apt en sí mismo; éste es una librería de funciones C++ que se emplea por varios programas de línea de comandos para distribuir paquetes, en especial, aptget y aptcache.Existen también programas que proporcionan un front end para APT, generalmente basados en aptget, como aptitude con una intefaz de texto ncurses o synaptic con una interfaz gráfica GTK+.Existe un repositorio central con más de 19000 paquetes apt utilizados por aptget y programas derivados para descargar e instalar aplicaciones directamente desde Internet, conocida como una de las mejores cualidades de Debian.APT fue diseñado originariamente para trabajar con paquetes .deb en lo sistemas Debian, pero desde entonces ha sido modificado para trabajar con paquetes RPMs, y para funcionar en otros sistemas operativo, como Mac OS X.El archivo /etc/apt/sources.list y el contenido de este archivo, normalmente sigue este formato:
# See sources.list(5) for more information, especialy# See sources.list(5) for more information, especialy# Remember that you can only use http, ftp or file URIs# Remember that you can only use http, ftp or file URIs# CDROMs are managed through the aptcdrom tool.# CDROMs are managed through the aptcdrom tool.deb http://http.us.debian.org/debian stable main contrib nonfreedeb http://http.us.debian.org/debian stable main contrib nonfreedeb http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfreedeb http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfreedeb http://security.debian.org stable/updates main contrib nonfreedeb http://security.debian.org stable/updates main contrib nonfree# Uncomment if you want the aptget source function to work# Uncomment if you want the aptget source function to work#debsrc http://http.us.debian.org/debian stable main contrib nonfree#debsrc http://http.us.debian.org/debian stable main contrib nonfree#debsrc http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfree#debsrc http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfree
La primera palabra en cada línea, deb o debsrc deb o debsrc, indican el tipo del archivo: si son paquetes binarios (deb) o paquetes fuente (debsrc), que son los códigos originales, más el archivo de control de Debian (.dsc) y el diff.gz que contienen los cambios necesarios para "debianizar" el programa. Las líneas que comienzan con # nos indican que son comentarios o fuentes que no están siendo utilizadas por nuestro sistema en este momento. De manera que si queremos agregarlas, solo necesitamos borrar el #. A este proceso se lo suele llamar descomentar.
7
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Configuración de APT
El archivo /etc/apt/sources.list/etc/apt/sources.list posee una lista de las fuentes en donde encontraremos los paquetes.
Estructura de /etc/apt/sources.list
deb http://host/debian distribución sección1 sección2 sección3deb http://host/debian distribución sección1 sección2 sección3debsrc http://host/debian distribución sección1 sección2 sección3debsrc http://host/debian distribución sección1 sección2 sección3
Ejemplo de /etc/apt/sources.list
deb http://http.us.debian.org/debian stable main contrib nonfreedeb http://http.us.debian.org/debian stable main contrib nonfreedebsrc http://http.us.debian.org/debian stable main contrib nonfreedebsrc http://http.us.debian.org/debian stable main contrib nonfree
Sources.listSources.list es archivo hallado, siguiendo la localización completa /etc/apt/sources.list/etc/apt/sources.list, en distribuciones GNU/Linux derivadas de Debian GNU/Linux; donde se enlistan las "fuentes" o "repositorios" disponibles de los paquetes de software candidatos a ser: actualizados, instalados, removidos, buscados, sujetos a comparación de versiones, etc.La herramienta APT administra el acceso a dichos paquetes, utilizando el fichero sources.list, para realizar las acciones previamente mencionadas.
Ejemplo en formato http de repositorio para la versión estable:deb http://ftp.debian.org/debian/ stable maindeb http://ftp.debian.org/debian/ stable maindebsrc http://ftp.debian.org/debian/ stable maindebsrc http://ftp.debian.org/debian/ stable main
Ejemplo de repositorio para la versión de pruebas:deb http://ftp.debian.org/debian/ testing maindeb http://ftp.debian.org/debian/ testing maindebsrc http://ftp.debian.org/debian/ testing maindebsrc http://ftp.debian.org/debian/ testing main
Ejemplo de repositorio para la versión inestable:deb http://ftp.debian.org/debian/ unstable maindeb http://ftp.debian.org/debian/ unstable maindebsrc http://ftp.debian.org/debian/ unstable maindebsrc http://ftp.debian.org/debian/ unstable main
Ejemplo de repositorio de paquetes Experimentalesdeb http://ftp.debian.org/debian/ ../project/experimental maindeb http://ftp.debian.org/debian/ ../project/experimental maindebsrc http://ftp.debian.org/debian/ ..project/experimental maindebsrc http://ftp.debian.org/debian/ ..project/experimental main
El contenido del archivo sources.list en una versión estable de Debian GNU/Linux, normalmente posee el siguiente formato:
deb http://http.PAIS.debian.org/debian stable main contrib nonfreedeb http://http.PAIS.debian.org/debian stable main contrib nonfreedeb http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfreedeb http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfreedeb http://security.debian.org stable/updates main contrib nonfreedeb http://security.debian.org stable/updates main contrib nonfree#debsrc http://http.PAIS.debian.org/debian stable main contrib nonfree#debsrc http://http.PAIS.debian.org/debian stable main contrib nonfree#debsrc http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfree#debsrc http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfree
8
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Configurando/etc/apt/sources.list
Con cualquier editor de textos simple
Existen utilidades para configurarlo automáticamente. Ejemplo: netselect y netselectapt.
Lista de servidores desde:http://www.debian.org/mirror/mirrors_full
Las fuentes en el archivo sources.list sources.list se pueden acceder por : http, ftp, ssh y file.
El contenido de este archivo, normalmente sigue este formato: deb http://host/debian distribución sección1 sección2 sección3deb http://host/debian distribución sección1 sección2 sección3 debsrc http://host/debian distribución sección1 sección2 sección3debsrc http://host/debian distribución sección1 sección2 sección3
Por supuesto que los renglones arriba mencionados son ficticios y no deberán ser usados. La primera palabra en cada línea, deb o debsrc, indican el tipo del archivo: ya sea que contenga paquetes binarios (deb), esto es, los paquetes precompilados que normalmente se usan, o los paquetes fuente (debsrc), que son los códigos originales, más el archivo de control de Debian (.dsc) y el diff.gz que contienen los cambios necesarios para "debianizar" el programa.Generalmente se encuentra lo siguiente por defecto en el archivo sources.list:
# See sources.list(5) for more information, especialy# See sources.list(5) for more information, especialy# Remember that you can only use http, ftp or file URIs# Remember that you can only use http, ftp or file URIs# CDROMs are managed through the aptcdrom tool.# CDROMs are managed through the aptcdrom tool.deb http://http.us.debian.org/debian stable main contrib nonfreedeb http://http.us.debian.org/debian stable main contrib nonfreedeb http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfreedeb http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfreedeb http://security.debian.org stable/updates main contrib nonfreedeb http://security.debian.org stable/updates main contrib nonfree
# Uncomment if you want the aptget source# Uncomment if you want the aptget source function to workfunction to work#debsrc http://http.us.debian.org/debian stable main contrib nonfree#debsrc http://http.us.debian.org/debian stable main contrib nonfree#debsrc http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfree#debsrc http://nonus.debian.org/debiannonUS stable/nonUS main contrib nonfree
Éstas son las líneas necesarias para una instalación básica de Debian. La primer línea deb apunta al archivo en el servidor oficial, la segunda línea apunta hacia el archivo del servidor nonUS y la tercera línea apunta hacia el archivo del servidor de actualizaciones de seguridad. Las dos últimas líneas están deshabilitadas (con un "#" al inicio), así que aptget las ignora. Éstas son las líneas de debsrc, esto es, apuntan hacia los paquetes fuente de Debian. Si frecuentemente descarga paquetes fuente para probar o recompilar, habilítelas (borrando el "#" al inicio de la línea).El archivo /etc/apt/sources.list puede contener varios tipos de líneas. APT sabe como interpretar líneas del tipo http, ftp, file (archivos locales, p.e., un directorio que contiene un CDROM) y ssh, según mis conocimientos.
9
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comando netselect
netselect host1 host2 host3
Elije automáticamente el servidor más rápido de la lista que se pasa como parámetro.
Ejemplo: netselect ftp.debian.org http.us.debian.org ftp.at.debian.org
Una duda frecuente, principalmente entre los usuarios novatos es: "¿Cuál servidor Debian debo incluir en el archivo sources.list?". Hay muchas formas de decidir esto. Los expertos podrían tener un script que determine el tiempo de un ping entre los distintos servidores. Pero hay un programa que hace esto por nosotros: netselect.Para instalar netselect, hágalo así: # aptget install netselect# aptget install netselectAl ejecutarlo sin algún parámetro muestra la ayuda. Ejecutándolo con una lista de servidores separada por un espacio, regresará una lista con la puntuación del host. Esta lista considera el tiempo de ping y el número de "saltos" (servidores por los cuales una petición de red debe pasar para alcanzar su destino) y es inversamente proporcional a la velocidad de descarga (la menor es la mejor). El servidor que regresa es aquel que tiene una puntuación menor (se puede ver la lista completa agregando la opción vv).
Ejemplo:
# netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br# netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br365 ftp.debian.org.br365 ftp.debian.org.br##
Esto significa que, de los servidores incluidos como parámetros en netselect, ftp.debian.org.br fue el mejor, con una puntuación de 365. (Atención, la puntuación depende de la localización geográfica, la topología de red, la distancia entre la computadora y los servidores, por lo tanto, dependiendo de la computadora en la que se ejecute el comando podría ser otro el mejor servidor).
Ahora agregue el servidor más rápido encontrado por netselect en el archivo /etc/apt/sources.list
10
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comando netselectapt
netselectapt árboldeladistribución
Elije el servidor más rápido de todos los mirrors de Debian para el árbol de la distribución indicado y termina creando
un archivo sources.list en el directorio actual.
Ejemplo: netselectapt stable
Iniciando con la versión 0.3, el paquete netselect incluye el script netselectapt, el cual realiza automáticamente el proceso mencionado arriba. Sólo introduzca el árbol de la distribución como parámetro (el cual, por defecto es "stable") y el archivo sources.list será generado con los mejores servidores para main y nonUS y será guardado en el directorio actual. El siguiente ejemplo genera un archivo sources.list de una distribución estable
# ls sources.list# ls sources.list ls: sources.list: File or directory not foundls: sources.list: File or directory not found # netselectapt stable# netselectapt stable (...)(...) # ls l sources.list# ls l sources.list sources.listsources.list ##
Recuerde: el archivo sources.listsources.list se crea en el directorio actual, y debe moverse al directorio /etc/apt/etc/apt .
11
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos APT
aptget update
aptget upgrade
aptget distupgrade
aptget install
aptget remove
aptget clean
aptcache search
aptcache show
aptcdrom add
aptget es la herramienta en línea de órdenes usada para el manejo de paquetes, también es la herramienta usada por otras que dependen de la biblioteca APT. Hay varias interfaces disponibles, como dselect(8), aptitude, synaptic, gnomeapt and wajig.Se debe proporcionar una de las siguientes órdenes a menos que se den las opciones h, o help.update:update: se usa para sincronizar el índice de paquetes respecto a sus fuentes. Los índices de paquetes disponibles se obtienen de los lugares especificados en /etc/apt/sources.list.upgradeupgrade:se usa para instalar la versión más nueva de todos los paquetes instalados en el sistema provenientes de alguna de las fuentes listadas en /etc/apt/sources.list.distupgrade: distupgrade: además de realizar las acciones de upgrade, maneja inteligentemente los cambios de dependencias debidos a nuevas versiones de paquetes, aptget tiene un sofisticado sistema de resolución de conflictos, si es necesario tratará de actualizar los paquetes más importantes a costa de los menos importantes.install:install: instala los paquetes que siguen a la palabra install. Cada nombre de paquete no es el nombre completo del paquete junto con la versión de Debian, sino sólo el nombre del paquete (por ejemplo, en un sistema Debian GNU/Linux, el argumento sería libc6, no libc6_1.9.62.deb).remove:remove: se comporta del mismo modo que install con la diferencia de que desinstala los paquetes en vez de instalarlos.Clean: Clean: borra totalmente el repositorio local que contiene los ficheros .deb descargados.aptcache search:aptcache search: realiza una serie de operaciones sobre la caché de paquetes de APT, no modifica el estado del sistema pero proporciona operaciones de búsqueda en la información de los paquetes, de las cuales se puede obtener información muy útil. aptcache search regex [regex ...]: aptcache search regex [regex ...]: realiza una búsqueda de la expresión regular dada en todo el texto de todos los paquetes disponibles. Busca la expresión regular tanto en el nombre de los paquetes como en su descripción y muestra el nombre del paquete y una pequeña descripción de este.aptcache show paquete(s)aptcache show paquete(s):realiza una función similar a dpkg printavail, muestra los datos de los paquetes listados.aptcache depends paquete(s):aptcache depends paquete(s): depends muestra una lista de todas la dependencias de un paquete y de todos los paquetes que la pueden satisfacer.
12
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptget update
Se utiliza para sincronizar el índice de paquetesrespecto de sus fuentes.
Ejemplo: aptget update
El sistema de paquetes utiliza una base de datos para llevar un monitoreo de los paquetes instalados, los no instalados y cuales están disponibles para su futura instalación. El programa aptget utiliza esta base de datos para averiguar como instalar los paquetes que son requeridos por el usuario y para indagar sobre que paquetes adicionales serán requeridos para que el seleccionado funcione correctamente.
Para actualizar la lista, se utiliza el comandoaptget updateaptget update
Este comando busca el paquete en los archivos listados en /etc/apt/sources.list/etc/apt/sources.list
Es una buena costumbre ejecutar este comando regularmente para mantenerse informado acerca de las posibilidades de actualización para el sistema, particularmente
las actualizaciones de seguridad.
13
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptget upgrade
Se usa para instalar la versión más nueva de todos los paquetes instalados en el sistema provenientes de alguna
de las fuentes listadas en /etc/apt/sources.list
Ejemplo: aptget upgrade
Las actualizaciones de los paquetes son un gran éxito de APT. Pueden realizarse con tan sólo un comando: aptget upgrade. Puede utilizar esa opción para actualizar los paquetes de la distribución actual, o bien para actualizar a una nueva distribución, aunque el comando aptget distupgrade es una mejor opción para esto.
Es muy útil utilizar este comando con la opción u. Esta opción muestra la lista completa de paquetes que APT actualizará. Sin ella, se estaría actualizando a ciegas. APT descargará las versiones más recientes de cada paquete y las instalará de la manera más apropiada. Es muy importante ejecutar siempre aptget update antes de probar esto. Observe este ejemplo:
# aptget u upgrade# aptget u upgradeReading Package Lists... DoneReading Package Lists... DoneBuilding Dependency Tree... DoneBuilding Dependency Tree... DoneThe following packages have been kept backThe following packages have been kept back cpp gcc lilocpp gcc liloThe following packages will be upgradedThe following packages will be upgraded adduser ae apt autoconf debhelper dpkgdev esound esoundcommon ftp indentadduser ae apt autoconf debhelper dpkgdev esound esoundcommon ftp indent ipchains isapnptools libaudiofiledev libaudiofile0 libesd0 libesd0devipchains isapnptools libaudiofiledev libaudiofile0 libesd0 libesd0dev libgtk1.2 libgtk1.2dev liblockfile1 libnewt0 liborbitdev liborbit0libgtk1.2 libgtk1.2dev liblockfile1 libnewt0 liborbitdev liborbit0 libstdc++2.10glibc2.2 libtiff3g libtiff3gdev modconf orbit procps psmisclibstdc++2.10glibc2.2 libtiff3g libtiff3gdev modconf orbit procps psmisc29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used.Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used.Do you want to continue? [Y/n]Do you want to continue? [Y/n]
El proceso es muy fácil. Note que en las primeras líneas aptget menciona que algunos paquetes fueron conservados. Esto significa que hay versiones nuevas de estos paquetes pero no fueron actualizados por alguna razón. Algunas razones pueden ser dependencias fallidas (el paquete del cual depende no tiene una versión nueva para actualizar) o nuevas dependencias (el paquete ahora depende de nuevos paquetes que la versión anterior).
14
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptget distupgrade
Además de realizar las acciones de upgrade, maneja inteligentemente los cambios de dependencias debidos a
nuevas versiones de paquetes.
Ejemplo: aptget distupgrade
Esta opción de APT permite actualizar un sistema debian en un solo paso, ya sea desde Internet o por CDs. También es utilizado cuando son realizados cambios entre las relaciones de los paquetes instalados. Con aptget upgrade, estos paquetes permanecerían sin modificación (conservados). Por ejemplo, supongamos que está utilizando la revisión 0 de la versión estable de Debian, y compra el CD con la revisión 3. Puede utilizar APT para actualizar el sistema al de el CD. Para lograr esto, utilice aptcdrom para agregar el CD al archivo /etc/apt/sources.list y ejecute aptget distupgrade. Es muy importante mencionar que APT siempre busca la versión más reciente de los paquetes. Así pues, si en su archivo /etc/apt/sources.list se encontrara alguna otra fuente que tuviera una versión más reciente que la del CD, APT descargaría esta versión. Solucionaremos este problema ahora con el programa distupgrade:
# aptget u distupgrade# aptget u distupgradeReading Package Lists... DoneReading Package Lists... DoneBuilding Dependency Tree... DoneBuilding Dependency Tree... DoneCalculating Upgrade... DoneCalculating Upgrade... Done The following NEW packages will be installed:The following NEW packages will be installed: cpp2.95 cron exim gcc2.95 libident libopenldapruntime libopenldap1cpp2.95 cron exim gcc2.95 libident libopenldapruntime libopenldap1libpcre2 logrotate mailxlibpcre2 logrotate mailxThe following packages have been kept backThe following packages have been kept backliloliloThe following packages will be upgradedThe following packages will be upgradedadduser ae apt autoconf cpp debhelper dpkgdev esound esoundcommon ftp gccadduser ae apt autoconf cpp debhelper dpkgdev esound esoundcommon ftp gccindent ipchains isapnptools libaudiofiledev libaudiofile0 libesd0 libesd0dev libgtk1.2 libgtk1.2dev indent ipchains isapnptools libaudiofiledev libaudiofile0 libesd0 libesd0dev libgtk1.2 libgtk1.2dev liblockfile1 libnewt0 liborbitdev liborbit0 libstdc++2.10glibc2.2 libtiff3g libtiff3gdev modconf orbit liblockfile1 libnewt0 liborbitdev liborbit0 libstdc++2.10glibc2.2 libtiff3g libtiff3gdev modconf orbit procps psmiscprocps psmisc31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded.31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded.Need to get 0B/7098kB of archives. After unpacking 3118kB will be used.Need to get 0B/7098kB of archives. After unpacking 3118kB will be used.Do you want to continue? [Y/n]Do you want to continue? [Y/n]
Observe que los paquetes ahora serán actualizados, y que nuevos paquetes serán instalados (las nuevas dependencias de los paquetes).
15
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptget install
Instala los paquetes que siguen a la palabra install. Cada nombre de paquete no es el nombre completo del paquete
junto con la versión de Debian, sino sólo el nombre delpaquete.
Ejemplo: aptget install libc6
APT buscará en su base de datos para encontrar la versión más reciente del paquete y lo descargará del servidor correspondiente especificado en sources.list. Si este paquete necesitara otro para funcionar (como en este caso) APT resolverá las dependencias e instalará los paquetes necesarios. Observe este ejemplo:
# aptget install nautilus# aptget install nautilusReading Package Lists... DoneReading Package Lists... DoneBuilding Dependency Tree... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed:The following extra packages will be installed: bonobo libmedusa0 libnautilus0bonobo libmedusa0 libnautilus0The following NEW packages will be installed:The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilusbonobo libmedusa0 libnautilus0 nautilus0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded.0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded.Need to get 8329kB of archives. After unpacking 17.2MB will be used.Need to get 8329kB of archives. After unpacking 17.2MB will be used.Do you want to continue? [Y/n]Do you want to continue? [Y/n]
El paquete nautilus necesita las librerías compartidas mencionadas, así pues APT las descargará del servidor. Si se especifican antes los nombres de esas librerías con el comando aptget APT no pregunta, si desea continuar o no; supone automáticamente que se desean instalar esos paquetes.Esto significa que APT sólo pregunta por confirmación cuando se van a instalar paquetes que no fueron especificados en la línea de comando.
16
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptget remove
Se comporta del mismo modo que install con la diferencia de que desinstala los paquetes en vez de instalarlos.
Ejemplo: aptget remove libc6
Si ya no necesita utilizar cierto paquete, puede eliminarlo de su sistema utilizando APT. Para realizar esta tarea sólo escriba: aptget remove paquete. Por ejemplo:
# aptget remove gnomepanel# aptget remove gnomepanelReading Package Lists... DoneReading Package Lists... DoneBuilding Dependency Tree... DoneBuilding Dependency Tree... DoneThe following packages will be REMOVED:The following packages will be REMOVED: gnomeapplets gnomepanel gnomepaneldata gnomesessiongnomeapplets gnomepanel gnomepaneldata gnomesession0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.Need to get 0B of archives. After unpacking 14.6MB will be freed.Need to get 0B of archives. After unpacking 14.6MB will be freed.Do you want to continue? [Y/n]Do you want to continue? [Y/n]
Como se puede apreciar en el ejemplo anterior, APT se hace cargo de eliminar los paquetes dependientes del paquete eliminado. No hay manera de eliminar un paquete utilizando APT sin eliminar los paquetes que éste necesitaba. Ejecutando aptget como en el ejemplo causará que los paquetes sean eliminados, pero sus archivos de configuración, si existían, permanecerán intactos en el sistema. Para una eliminación completa del paquete, ejecute:# aptget purge remove gnomepanel# aptget purge remove gnomepanelReading Package Lists... DoneReading Package Lists... DoneBuilding Dependency Tree... DoneBuilding Dependency Tree... DoneThe following packages will be REMOVED:The following packages will be REMOVED: gnomeapplets* gnomepanel* gnomepaneldata* gnomesession*gnomeapplets* gnomepanel* gnomepaneldata* gnomesession*0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.Need to get 0B of archives. After unpacking 14.6MB will be freed.Need to get 0B of archives. After unpacking 14.6MB will be freed.Do you want to continue? [Y/n]Do you want to continue? [Y/n]
Observe el "*" después de los nombres. Esto indica que los archivos de configuración de cada paquete serán eliminados también.
17
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptget clean
Borra totalmente el repositorio local que contiene los ficheros .deb descargados.
Ejemplo: aptget clean
Cuando APT instala un paquete, descarga los archivos necesarios de los servidores enlistados en /etc/apt/sources, estos a su vez son guardados en un depósito local (/var/cache/apt/archives/), y de ahí se procede con la instalación, consulte Instalando paquetes.Con el tiempo el depósito puede crecer y ocupar mucho espacio en disco. Afortunadamente, APT provee de herramientas para manejar su depósito local: aptget, clean y autoclean. aptget cleanaptget clean elimina todo excepto los archivos "lock" de /var/cache/apt/archives/ y /var/cache/apt/archives/partial/. Así, si necesita reinstalar un paquete APT, lo descargará de nueva cuenta.aptget autocleanaptget autoclean elimina sólo los archivos que no pueden ser descargados de nuevo.El siguiente ejemplo muestra como funciona la autolimpieza de aptget: # ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm*# ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm* logrotate_3.5.97_i386.deblogrotate_3.5.97_i386.deb logrotate_3.5.98_i386.deblogrotate_3.5.98_i386.deb gpm_1.19.611_i386.debgpm_1.19.611_i386.debEn /var/cache/apt/archives hay dos archivos para el paquete logrotatey uno para gpm. # aptshowversions p logrotate# aptshowversions p logrotate logrotate/stable uptodate 3.5.98logrotate/stable uptodate 3.5.98 # aptshowversions p gpm# aptshowversions p gpm gpm/stable upgradeable from 1.19.611 to 1.19.612gpm/stable upgradeable from 1.19.611 to 1.19.612
aptshowversionsaptshowversions muestra que logrotate_3.5.98_i386.deb provee la versión actualizada de of logrotate, así pues logrotate_3.5.97_i386.deb es innecesario. También gpm_1.19.611_i386.deb no es necesario debido a que una versión mas reciente puede ser descargada. # aptget autoclean# aptget autoclean Reading Package Lists... DoneReading Package Lists... Done Building Dependency Tree... DoneBuilding Dependency Tree... Done Del gpm 1.19.611 [145kB]Del gpm 1.19.611 [145kB] Del logrotate 3.5.97 [26.5kB]Del logrotate 3.5.97 [26.5kB]
Finalmente, aptget autoclean elimina los archivos viejos. Consulte Cómo actualizar paquetes de versiónes específicas de Debian., Sección 3.9 para más información sobre aptshowversions.
18
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptcache search
Realiza una búsqueda de la expresión regular dada como parámetro en todo el texto de todos los paquetes
disponibles.
Ejemplo: aptcache search kopete
Por ejemplo, supongamos que usted quiere revivir la gloria de la época dorada del Atari 2600. Quiere utilizar APT para instalar un emulador de Atari, y después bajar algunos juegos, puede hacer lo siguiente:
1. aptcache search atari 1. aptcache search atari
atarifdiskcross Partition editor for Atari (running on nonAtari)circuslinux The clowns are trying to pop balloons to score points!madbomber A Kaboom! clone tcs Character set translator. atari800 Atari emulator for svgalib/X/cursesstella Atari 2600 Emulator for X windows xmessx X binaries for MultiEmulator Super System
19
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptcache show
Muestra los datos de los paquetes listados como parámetros.
Ejemplo: aptcache show kopete
Para obtener mayor información de un paquete específico, hacemos lo siguiente:
# aptcache show stella# aptcache show stella
Package: stellaPriority: extraSection: nonfree/otherosfsInstalledSize: 830Maintainer: Tom Lear <tom@trap.mtview.ca.us>Architecture: i386version: 1.12Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.51)Filename: dists/potato/nonfree/binaryi386/otherosfs/stella_1.12.debSize: 483430MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5Description: Atari 2600 Emulator for X windows Stella is a portable emulator of the old Atari 2600 videogame console written in C++. You can play most Atari 2600 games with it. The latest news, code and binaries for Stella can be found at: http://www4.ncsu.edu/~bwmott/2600
20
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comandos de APT
aptcdrom add
Se utiliza para añadir un CDROM nuevo a la lista de recursos disponibles de APT.
Ejemplo: aptcdrom add
Si prefiere utilizar el CDROM para instalar los paquetes o para actualizar su sistema con APT, lo puede agregar a su archivo sources.list. Para hacerlo, puede utilizar el programa aptcdrom así: # aptcdrom add# aptcdrom add
con el CDROM de Debian en la unidad. Esta instrucción montará el CDROM, y si es un CD válido de Debian buscará la información de los paquetes en el CD. Si la configuración de su unidad de CDROM es inusual, tiene las siguientes opciones:
h program helph program help d directory CDROM mount pointd directory CDROM mount point r Rename a recognized CDROMr Rename a recognized CDROM m No mountingm No mounting f Fast mode, don't check package filesf Fast mode, don't check package files a Thorough scan modea Thorough scan mode
Por ejemplo: # aptcdrom d /home/kov/mycdrom add# aptcdrom d /home/kov/mycdrom add
También puede identificar el CDROM sin agregarlo a su lista: # aptcdrom ident# aptcdrom ident
Note que este programa sólo funcionará si el CDROM está configurado adecuadamente en el archivo /etc/fstab de su sistema.
21
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Convención de un paquete binario
.deb<númeroDeVersiónPaquete>
<nombreDelPaquete>
<númeroDeRevisiónDebian>
<nombre>_<NúmeroDeVersión><NúmeroDeRevisiónDebian>.deb<nombre>_<NúmeroDeVersión><NúmeroDeRevisiónDebian>.deb
Los nombres de los paquetes binarios siguen la siguiente convención: <nombre>_<NúmeroDeVersión><NúmeroDeRevisiónDebian>.deb
Nótese que nombre se supone que es el nombre del paquete. Como prueba, se puede sacar el nombre de paquete asociado con un archivo Debian concreto (archivo .deb) de una de las siguientes formas: * inspeccionar el archivo "Packages" en el directorio donde se guardaba el paquete en un servidor de FTP de Debian. Este archivo contiene un párrafo describiendo cada paquete; el primer campo del párrafo es el nombre formal del paquete. * usar la orden dpkg info nombre_VVVRRR.deb. Esto manda un mensaje a la salida estandar que da entre otras cosas el nombre formal del paquete.
El componente VVV es el número de versión especificado por el desarrollador original. Aquí no hay estándares establecidos, así que el número de versión puede tener formatos tan distintos como "960428" y "2.7.2.l.3".
El componente RRR es el número de revisión Debian, y lo establece el desarrollador Debian (o un usuario individual, si decide construir el paquete él mismo). Este número corresponde al nivel de revisión del paquete debian (que incluye el Makefile específico de Debian, llamado debian/rules, así como el archivo de control Debian, normalmente llamado debian/control). De este modo, un nuevo nivel de revisión normalmente significa cambios en el Makefile de Debian, el archivo de control, los scripts de instalación o desinstalación, o en los archivos de configuración usados en el paquete.
22
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Paquetes Debian más utilizados:
xwindowsystem
kde
kdei18nes
kdm
k3b
k3bi18n
openoffice.org
openoffice.orgkde
openoffice.orghelpes
openoffice.orgl18nes
gimp y gimpdata
amarok
Más paquetes para el entorno KDE:karamba (0.175.1+b2 ) A program improving the eyecandy of KDEkasablanca (0.4.0.22) fast and free ftp client for KDEkatapult (0.3.11+b1) item launcher for KDEkbfx (0.4.9.2~rc41) an alternative to KMenu for KDEkbibtex (0.1.52) BibTeX editor for KDEkboincspy (0.9.13) monitoring utility for the BOINC clientkchart (1:1.6.12etch2) a chart drawing program for the KDE Office Suitekchmviewer (2.61) CHM viewer for KDEkcontrol (4:3.5.5a.dfsg.16etch2) control center for KDEkcpuload (1.9913+b2) a CPU meter for Kicker
23
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
¿Qué es DPKG?● Herramienta para el manejo de paquetes de bajo nivel.● Creada por Ian Jackson en 1993.● De características muy similares al rpm.
Algunas funciones de DPKG
La principal función es la instalación, eliminación y configuración de los paquetes Debian junto con su información.
Configuración básica de DPKGSe realiza desde el archivo /etc/dpkg/dpkg.cfg/etc/dpkg/dpkg.cfg
El programa dpkg es la base del sistema de gestión de paquetes de Debian GNU/Linux. Fue creado por Ian Jackson en 1993; es similar a RPM. Se utiliza para instalar, quitar, y proporcionar información sobre los paquetes .deb.dpkg es en sí misma una herramienta de bajo nivel; se necesita un frontal de alto nivel para traer los paquetes desde lugares remotos o resolver conflictos complejos en las dependencias de paquetes. Debian cuenta con apt para esta tarea.
24
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
Comando DPKG
dpkg i <paquete>
dpkg d <paquete>
dpkg p <paquete>
dpkg configure
dpkgreconfigure <paquete>
dpkg getselections
dpkg l
Dpkg es la herramienta fundamental dentro del sistema de paquetes de Debian GNU/Linux. Es la encargada de instalar o eliminar paquetes, y manejar la base de datos del sistema con la situación de paquetes, de forma que indique claramente estos cambios. Además, dado que conoce las interioridades del sistema de paquetes, no sólo instala los ficheros que contiene los paquetes en los lugares correspondientes, sino que también ejecuta en determinados momentos de la instalación, los programas que el desarrollador del paquete haya indicado. De esta forma, al instalar un paquete, se llamará de forma "mágica" al programa encargado de configurarlo. Éste podrá modificar sólo unos pocos ficheros en el sistema, o mostrar al usuario una interfaz para adaptar el programa que está instalando a su sistema. Así, la herramienta dpkg permite:● instalar (i ó install) y desisntalar (r o –remove) paquetes. Si desea borrar todo lo
instalado de un paquete, incluyendo sus archivos de configuración utilice la opción purge.
* configurarlos (configure), aunque esta tarea se hace siempre después de la instalación de un paquete, puede ser que su configuración falle y se quiera llevar a cabo este último paso. Si está bien instalado utilice dpkgreconfigure (del paquete debconf) * ver la información de estado de un paquete (s ó status) * obtener una lista de los ficheros que proporciona (L ó listfiles) * obtener una lista de los paquetes disponibles (l ó list)Y muchas otras cosas más, como auditar el sistema, sacar la información de situación del sistema de paquetes: qué paquetes están marcados para instalar, cuáles han sido configurados, entre otros.
25
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
dpkg i <paquete>
Para instalar paquetes deb. No resuelve dependencias.
Ejemplo: dpkg i amsn_0,97rc1.deb.Ejemplo: dpkg i amsn_0,97rc1.deb.
dpkg r <paquete>
Para desinstalar paquetes. No borra los archivos de configuración.
Ejemplo: dpkg r amsn.Ejemplo: dpkg r amsn.
dpkg i | install fichero_paquete... Instala el paquete. Si se especifica la opción recursive o R debe aplicarse a
un directorio. La instalación consiste en los siguientes pasos: 1. Se extraen los ficheros de control del paquete. 2. Si hay instalada otra versión del mismo paquete, se ejecuta el programa prerm
del antiguo paquete. 3. Se ejecuta el programa preinst, si el paquete lo tiene. 4. Se desempaquetan los nuevos ficheros, y al mismo tiempo se hace una copia de seguridad de los antiguos, para que, si algo va mal, se puedan restaurar. 5. Si había instalada otra versión del mismo paquete, se ejecuta el postrm del paquete antiguo. Tenga en cuenta que este programa se eje‐ cuta después del preinst del nuevo paquete, ya que los nuevos ficheros se escriben a la vez que se borran los antiguos. 6. Se configura el paquete. Si quiere información detallada sobre el proceso, vea –configure.
dpkg r | remove | P | purge paquete ... | a | pending Borra un paquete instalado. Las opciones r y remove borran todo excepto los
archivos de configuración. Esto podría evitar tener que configurar de nuevl el paquete si se reinstala después.Si se usan las opciones a y –pending en vez de un paquete todos los que están al menos desempaquetados, pero marcados para borrar o purgar se borran o purgan automáticamente.
Borrar un paquete consiste de los siguientes pasos: 1. Ejecutar el programa prerm. 2. Borrar los ficheros instalados. 3. Ejecutar el programa postrm.
26
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
dpkg purge <paquete>
Para desinstalar paquetes. Borra los archivos de configuración.
Ejemplo: dpkg –purge amsn.Ejemplo: dpkg –purge amsn.
dpkg configure <paquete>
Para configurar paquetes que se desempaquetado pero no se configuraron correctamente.
Ejemplo: dpkg –configure amsn.Ejemplo: dpkg –configure amsn.
dpkg configure paquete ... | a | pending Vuelve a configurar un paquete que, al menos, esté desempaquetado. Si se d
an las opciones a o –pending en vez de paquete, se configurarán todos los paquetes no configurados
La configuración consiste en los siguientes pasos: 1. Se desempaquetan los ficheros de configuración, y al mismo tiempo se hace una
copia de seguridad de los antiguos, para que puedan restaurarse si algo va mal. 2. Se ejecuta el programa postinst, si el paquete lo tiene.
27
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
dpkgreconfigure <paquete>
Para reconfigurar un paquete ya instalado.
Ejemplo: dpkgreconfigure xserverxorg.Ejemplo: dpkgreconfigure xserverxorg.
dpkg l
Nos muestra un listado de todos los paquetes instalados con información adicional de cada uno.
Ejemplo: dpkg l.Ejemplo: dpkg l.
dpkgreconfigure reconfigura los paquetes luego de que los mismos han sido instalados. Realiza las mismas preguntas de configuración de todos los paquetes que pasamos como parámetro.
28
Clase 6: Manejo de paquetes con APT y DPKGClase 6: Manejo de paquetes con APT y DPKG
dpkg getselections
Nos muestra un listado de los paquetes instalados ydesinstalados.
Ejemplo: dpkg –getselections | more.Ejemplo: dpkg –getselections | more.
dpkg getselections [patrón...] Muestra la lista de selecciones de paquetes en la salida estándar.Archivos de configuración e información de DPKG /etc/dpkg/dpkg.cfg, fichero de configuración con las opciones por omisión. Los otros ficheros listados abajo están en sus directorios por omisión. Véase la opción admindir para ver cómo cambiar la ruta de estos ficheros. /var/lib/dpkg/available Lista de paquetes disponibles. /var/lib/dpkg/status Estado de los paquetes disponibles. Este fichero contiene información sobre si un paquete está marcado para borrase o no, si está instalado o no.
29
Clase 6: Manejo de paquetes con TAR y GZIPClase 6: Manejo de paquetes con TAR y GZIP
¿Qué es GZIP? (abreviatura de (abreviatura de GGNU NU ZIPZIP))
Es un reemplazo del programa compress de UNIX. Creado por Jeanloup Gailly y Mark Adler en 1992 con la versión 0.1.
¿Qué es BZIP2?● Es un aplicativo libre que comprime y descomprime archivos según
algoritmo de mayor porcentaje de compresión.● Basado en una Licencia BSD.● Comprime más pero consume más.
gzip es una abreviatura de GNU ZIP, un software libre GNU que reemplaza al programa compress de UNIX. gzip fue creado por Jeanloup Gailly y Mark Adler. Apareció el 31 de octubre de 1992 (versión 0.1). La versión 1.0 apareció en febrero de 1993.gzip se basa en el algoritmo Deflate, que es una combinación del LZ77 y la codificación Huffman. Deflate se desarrolló como respuesta a las patentes que cubrieron LZW y otros algoritmos de compresión y limitaba el uso del compress.Para hacer más fácil el desarrollo del software que usa compresión, se creó la biblioteca zlib. Soporta el formato de ficheros gzip y la compresión deflate. Esta librería se usa mucho porque es pequeña, eficientey muy versátil. Gzip y zlib fueron implementadas por JeanLoup Gailly y Mark Adler. Desde finales de los noventa se ha producido algún movimiento de gzip a bzip2 que a menudo produce archivos más pequeños aunque es más lento.bzip2 es un programa libre desarrollado bajo licencia BSD que comprime y descomprime ficheros usando los algoritmos de compresión de BurrowsWheeler y de codificación de Huffman. El porcentaje de compresión alcanzado depende del contenido del fichero a comprimir, pero por lo general es bastante mejor al de los compresores basados en el algoritmo LZ77/LZ78 (gzip, compress, WinZip, pkzip,...). Como contrapartida, bzip2 emplea más memoria y más tiempo en su ejecución.La sintaxis es parecida a la del programa gzip de GNU.
30
Clase 6: Manejo de paquetes con TAR y GZIPClase 6: Manejo de paquetes con TAR y GZIP
¿Qué es TAR? ((TTape ape ArArchiever – Archivador de Cinta)chiever – Archivador de Cinta)
● Formato de archivos ampliamente usado en entornos UNIX.● Identificados con la extensión tar.● La principal función de tar es empaquetar los archivos.
ZIP no es compatible con GZIP
La principal diferencia entre estos formatos es que GZIP no empaqueta los archivos, únicamente los comprime.
No se debe confundir gzip con ZIP, el cual no es compatible. gzip no archiva ficheros, sólo los comprime. Debido a esto a menudo se usa junto con alguna herramienta para archivar (popularmente tar).Tar se refiere en Informática a un formato de archivos ampliamente usado en entornos UNIX, identificados con la extensión tar. Además hace referencia al programa para la manipulación de archivos que es estándar en estos entornos. El formato fue diseñado para almacenar archivos de una forma conveniente en cintas magnéticas y de allí proviene su nombre, que proviene de "Tape ARchiver" (en inglés: archivador en cinta). Debido a este origen el formato está preparado para ser procesado linealmente, no contando con manera de extraer un miembro sin recorrer todo el archivo hasta encontrarlo.El programa tar, es usado para almacenar archivos y directorios en un solo archivo. Dentro de los entornos Unix tar aparece como una orden que puede ser ejecutada desde la línea de órdenes de una consola de texto o desde un simple terminal. El formato de la orden tar es, comúnmente:tar <opciones> <archivo1> <archivo2> ... <archivoN>donde <archivo1>, <archivo2>, etcétera son los diferentes archivos que serán "empaquetados" en un soloarchivo. Este proceso permite respaldar archivos, compartirlos, transmitirlos por Internet o por redes locales de una forma fácil.Hoy en día existen programas tanto comerciales como de código abierto y freeware con excelentes interfaces gráficas (GUI) y que ejecutan en diferentes sistemas operativos y pueden crear y manipular "archivos tar". Esto se debe principalmente al extendido uso que tienen los "archivos tar".
31
Clase 6: Manejo de paquetes con TAR y GZIPClase 6: Manejo de paquetes con TAR y GZIP
Instalación de paquetes tar.gz de código fuente
Descomprimir el código fuente #gunzip nombredelpaquete.tar.gz#gunzip nombredelpaquete.tar.gz
Desempaquetar el código fuente #tar xvf nombredelpaquete.tar#tar xvf nombredelpaquete.tar
Configurar los archivos para compilar el código fuente #./configure#./configure
Compilar el código fuente #make#make
Instalar los archivos compilados #make install#make install
Entrar a ViPara entrar al editor de texto, es necesario estar en una terminal o en una pantalla de línea de comando del sistema operativo y teclear: vi (Enter)Esto nos permitirá crear un archivo nuevo, pero otra forma de entrar es teclear la instrucción incluyendo el nombre del archivo, de la siguiente manera: vi archivo.txt(Enter)A diferencia del anterior, nos indicará en la parte inferior de la pantalla una descripción del archivo que estamos abriendo. En caso de no existir el archivo.txt que hemos llamado, se creará uno nuevo con ese nombre, pero será almacenado en el disco duro hasta la primera vez que apliquemos la instrucción guardar.Salir de Vi Una vez que hemos ingresado el editor se encuentra en modo comando. Para salir del editor vi debemos teclear: :q (Enter)Como ya hemos mencionado, al escribir el : estos aparecerán en la parte inferior de la pantalla y posteriormente la instrucción q aparecerá contigua a esos dos puntos.Si te aparece un mensaje de advertencia informando que no se han guardado los cambios en el archivo, puedes guardarlos con el comando :wq o para salir sin guardar los cambios con el comando :q!Desplazándose por el archivoPara realizar el desplazamiento a través del archivo podemos realizarlo de diferentes formas, ya sea por carácter, por línea o por palabra. Los comandos básicos para desplazarse son los siguientes:
* h, l un carácter hacia la izquierda o derecha, respectivamente * j, k una línea hacia abajo o arriba, respectivamente * w al principio de la siguiente palabra * e al final de la siguiente palabra * b al principio de la palabra anterior * G al final del archivo * gg al princpio del archivo * :n a la línea número n
32
Clase 6: Manejo de paquetes con TAR y GZIPClase 6: Manejo de paquetes con TAR y GZIP
Desinstalar paquetes tar.gz de código fuente
Limpiar los archivos de una compilación anterior
#make clean#make clean
Desinstalar los archivos compilados
#make uninstall#make uninstall
Limpiar una instalación anterior de paquetes tar.gz de código fuente
El primer paso suele ser descomprimir el archivo comprimido que nos hemos bajado de Internet (casi siempre con la extensión .tar.gz, lo que se conoce con el nombre de tarball, aunque puede estar en otros formatos). Para ello podemos utilizar la herramienta de gestión de archivos comprimidos que acompaña anuestro escritorio favorito, o bien la consola de comandos. Si optamos por la consola, nos situaremos en un directorio sobre el que tengamos permisos de lectura y escritura. A continuación copiamos el archivo comprimido en él y luego, desde la consola, tecleamos la siguiente orden: tar xvzf nombredelprograma.tar.gzA continuación deberemos configurar los archivos que nos permitirán compilar el programa. deberemos configurarlo mediante la orden: ./configure prefix=/usr/localSi todo fue bien, ya podemos pasar a compilar nuestra aplicación con la orden: makeDependiendo de la complejidad de la aplicación y del número de archivos de código fuente que la compongan (y, sobre todo, de la velocidad de nuestro procesador y del rendimiento de nuestro sistema), el proceso puede durar desde pocos segundos hasta varias horas. Durante todo este tiempo, la consola irá mostrando todo lo que se está haciendo, y tal vez se muestren algunos mensajes de aviso o de error. En este último caso, la compilación se detendrá y deberemos tratar de solucionar los problemas que originaron el error, en caso de que sepamos cómo hacerlo (ya que suelen ser necesarios conocimientos de C/C++). Pero lo normal es que no ocurra ningún error durante la compilación, ya que todo suele estar probado por el autor del programa.Una vez compilada nuestra aplicación deberemos instalarla en el directorio que seleccionamos anteriormente como destino final. Si no tenemos permisos de lectura y escritura sobre ese directorio, deberemos autentificarnos primero como superusuario (usuario root) con la orden: suY, finalmente, instalaremos la aplicación con el comando: make installSi todo fue bien y no ocurrió ningún error, nuestra aplicación ya estará lista para ser usada.
33
Clase 6: Manejo de paquetes con herramientas gráficasClase 6: Manejo de paquetes con herramientas gráficas
Kpackage
Synaptic
Existen también programas que proporcionan un frontispicio para APT, generalmente basados en aptget, como aptitude con una interfaz de texto ncurses, Synaptic con una interfaz gráfica GTK+, o Adept con una interfaz gráfica Qt. Existe un repositorio con más de 21.000 paquetes utilizados por aptget y programas derivados para descargar e instalar aplicaciones directamente desde Internet, conocida como una de las mejores cualidades de Debian.
34
Clase 6: Manejo de paquetes con herramientas gráficasClase 6: Manejo de paquetes con herramientas gráficas
Kpackage
● Herramienta para KDE que permite la administración de los paquetes en nuestra distribución.
● Soporta formatos de paquetes como RPM, Debian, Slackware y BSD.
● Posee dos paneles.
Izquierda:Izquierda: muestra paquetes instalados y disponibles, con posibilidad a filtros
Derecha:Derecha: muestra información de los mismos.
Entrar a ViPara entrar al editor de texto, es necesario estar en una terminal o en una pantalla de línea de comando del sistema operativo y teclear: vi (Enter)Esto nos permitirá crear un archivo nuevo, pero otra forma de entrar es teclear la instrucción incluyendo el nombre del archivo, de la siguiente manera: vi archivo.txt(Enter)A diferencia del anterior, nos indicará en la parte inferior de la pantalla una descripción del archivo que estamos abriendo. En caso de no existir el archivo.txt que hemos llamado, se creará uno nuevo con ese nombre, pero será almacenado en el disco duro hasta la primera vez que apliquemos la instrucción guardar.Salir de Vi Una vez que hemos ingresado el editor se encuentra en modo comando. Para salir del editor vi debemos teclear: :q (Enter)Como ya hemos mencionado, al escribir el : estos aparecerán en la parte inferior de la pantalla y posteriormente la instrucción q aparecerá contigua a esos dos puntos.Si te aparece un mensaje de advertencia informando que no se han guardado los cambios en el archivo, puedes guardarlos con el comando :wq o para salir sin guardar los cambios con el comando :q!Desplazándose por el archivoPara realizar el desplazamiento a través del archivo podemos realizarlo de diferentes formas, ya sea por carácter, por línea o por palabra. Los comandos básicos para desplazarse son los siguientes:
* h, l un carácter hacia la izquierda o derecha, respectivamente * j, k una línea hacia abajo o arriba, respectivamente * w al principio de la siguiente palabra * e al final de la siguiente palabra * b al principio de la palabra anterior * G al final del archivo * gg al princpio del archivo * :n a la línea número n
35
Clase 6: Manejo de paquetes con herramientas gráficasClase 6: Manejo de paquetes con herramientas gráficas
Kpackage
KPackage es un administrador de paquetes RPM de KDE.Soporta BSD, Debian, Gentoo, RPM y paquetes Slackware. Provee Interfaz gráfica de usuario para administrar y actualizar paquetes existentes así como para instalar y obtener nuevos paquetes. Adicionalmente provee funcionalidad para ayudar a manejar el cache de las paquetes.KPackage es parte de kdeadmin.
36
Clase 6: Manejo de paquetes con herramientas gráficasClase 6: Manejo de paquetes con herramientas gráficas
Synaptic● Posee una interfaz gráfica GTK+ de APT● Sistema de gestión de paquetes de Debian GNU/Linux.● Generalmente utilizado para el manejo paquetes .deb y de
paquetes RPM.
Selector de categorías
Lista de paquetes
Campo de descripción
Barra de estado
Partes de la interfaz principal:
Synaptic es un programa informático que es una interfaz gráfica GTK+ de APT, para el sistema de gestión de paquetes de Debian GNU/Linux. Generalmente se utiliza Synaptic para sistemas basados en paquetes .deb pero también puede ser usado en sistemas basados en paquetes RPM.El desarrollo de Synaptic se inició en Conectiva, quien solicitó a Alfredo Kojima que escribiera un frontispicio para apt, continuando el trabajo iniciado con la creación del backend aptrpm . Finalmente, se optó por utilizarlo en el instalador de Conectiva. Gustavo Niemeyer también colaboró en el proyecto, mientras estuvo trabajando para Conectiva. Actualmente, Michael Vogt se encarga de mantener el programa.Synaptic utiliza repositorios Debian, y permite su gestión mediante un menú interactivo. Mediante un clic, es posible actualizar la lista, de paquetes disponibles o marcar automáticamente todas las actualizaciones de los paquetes ya instalados.Dispone de un avanzado filtro de búsqueda, es capaz de reparar las dependencias rotas de paquetes y permite deshacer y rehacer las últimas selecciones de paquetes.Su interfaz gráfica, además, es personalizable mediante el menú de configuración.
37
Clase 6: Manejo de paquetes con herramientas gráficasClase 6: Manejo de paquetes con herramientas gráficas
Synaptic
La aplicación Gestor de Paquetes Synaptic le permite instalar software en su equipo y gestionar el software que está ya instalado. El software se entrega en lo que se conocen como paquetes. Una aplicación individual puede incluso tener varios paquetes: ej: la aplicación Mozilla Internet Suite se empaqueta en mozillabrowser que contiene el navegador y mozillamail que contiene el cliente de correo (este ejemplo se refiere a Debian GNU/Linux y puede ser diferente a su distribución).Para evitar duplicidades, la mayoría de las aplicaciones reutiliza la funcionalidad de otras aplicaciones o bibliotecas. Las bibliotecas sólo proporcionan funciones a otras bibliotecas o aplicaciones y no son aplicaciones por sí mismas. De esta manera, la mayoría de los paquetes dependen de otros paquetes. El Gestor de Paquetes Synaptic resuelve las dependencias por usted automáticamente. Técnicamente el Gestor de Paquetes Synaptic se basa en el gestor de paquetes APT y proporciona funciones que son similares a las de la herramienta de línea de comandos aptget en un entorno gráfico.En detalle el Gestor de Paquetes Synaptic proporciona las características siguientes: *Instalar, eliminar, configurar, actualizar y desactualizar uno o varios paquetes. *Actualizar el sistema completo. *Administrar repositorios de paquetes. *Buscar paquetes por nombre, descripción y varios otros atributos. *Seleccionar paquetes por estado, sección, nombre o un filtro personalizado. *Ordenar paquetes por nombre, estado, tamaño, o versión. *Examinar toda la documentación disponible en línea relacionada con un paquete. *Bloquear paquetes a la versión actual. *Forzar la instalación de una versión de paquete específica.
38
Información de contacto
Vía Web:
Vía Mail:
Capítulo 3: Manejo de paquetes en GNU/LinuxCapítulo 3: Manejo de paquetes en GNU/Linux
http://www.gugler.com.ar
contacto@gugler.com.ar
soporte@gugler.com.ar
capacitacion@gugler.com.ar
http://cursos.gugler.com.ar
cursos@gugler.com.ar
Versión 1.0
No duden en comunicaste con nosotros por cualquier duda, consulta o sugerencia que deseen realizar. A la brevedad estaremos subiendo los contenidos de la próxima clase.
Administración GNU/Linux Nivel ICurrícula 1.0
Copyright® Gugler 2009