Cuando busque software, tenga en cuenta que funcione en el computador en el que operará (consulte los requerimientos de hardware y software), y revise la licencia del programa para asegurarse de la posibilidad de usarlo y redistribuirlo sin restricciones (ver
)
si no lee con detalle la licencia, podría infringir la ley.
En Internet hay varios sitios que indexan fuentes de software de libre redistribución que funciona en Linux algunos son:
URL de un sitio en Internet donde se indexan aplicaciones de libre redistribución para Linux.
Para la distribución Debian hay varios repositorios de fuentes y precompilados, puede consultar el principal (el repositorio oficial de Debian) en: http://packages.debian.org/stable/.
Sitio oficial en internet donde se indexan paquetes Debian.
Para configurar los repositorios que usa apt, puede emplear el programa
apt-setup, o agregar líneas a su archivo
/etc/apt/sources.list como:
Depósito de paquetes oficiales de Debian que contiene software no exportable desde US por restricciones de criptografía.
URL del proyecto Structio, que desarrolla contenidos de dominio público para colegios colombianos (por ejemplo estas guías).
deb ftp://ftp.debian.org/debian potato main contrib non-free
Repositorio principal de Debian. Puede haber un espejo que funcione mejor con la conexión a Internet que tiene, consulte la lista de espejos en http://www.debian.org/misc/README.mirrors
deb ftp://ftp.debian.org/debian-non-US potato non-US/main
Repositorio non-US de Alemania. Contiene software que no puede exportarse de EUA por restricciones en criptografía.
deb http://red-carpet.ximian.com/debian potato main
Repositorio de Ximian Gnome.
deb http://kde.tdyc.com/debian potato main
Repositorio de KDE para Debian 2.2.
deb http://dtype.org/debian/potato ./
Repositorio con versiones recientes de algunos paquetes (como el navegador Mozilla).
deb http://people.debian.org/~synrg/task-junior /
Repositorio de Debian-Jr, con paquetes enfocados a educación en casa (en especial juegos).
Adicionalmente puede encontrar un listado de otras fuentes no oficiales de paquetes debian en http://www.internatif.org/bortzmeyer/debian/apt-sources/ o http://channel.debian.de/faq/DebianDE-15.html.
En una red puede configurarse un computador para mantener los paquetes que se emplean en el resto y para así hacer actualizacioes por ftp o http. La forma más sencilla es copiar los paquetes en un directorio que pueda accederse por http y emplear tal ruta desde los computadores clientes en
/etc/apt/sources.list. Por ejemplo si copia paquetes en un directorio que pueda consultarse con el URL
http://servidor.micolegio.edu.co/paquetes## agregue a /etc/apt/sources.list
la línea:
deb http://servidor.micolegio.edu.co/paquetes /
También puede copiar los CDs de instalación de Debian en un directorio de ftp (digamos /debian) y agregar en /etc/apt/sources.list
:
deb ftp://servidor.micolegio.edu.co/debian/cd1 stable/non-US main contrib
deb ftp://servidor.micolegio.edu.co/debian/cd1 stable main contrib non-free
deb ftp://servidor.micolegio.edu.co/debian/cd2 stable/non-US main contrib
deb ftp://servidor.micolegio.edu.co/debian/cd2 stable main contrib non-free
deb ftp://servidor.micolegio.edu.co/debian/cd3 stable/non-US main contrib
deb ftp://servidor.micolegio.edu.co/debian/cd3 stable main contrib non-free
A continuación se explica como puede crear su propio repositorio de paquetes sólo con los paquetes que usted escoja [9].
Un repositorio http (o ftp) puede constar de uno o más directorios, en cada directorio debe haber paquetes .deb y un índice Packages o mejor Packages.gz. El índice contiene la descripción de cada paquete separada por varias líneas en blanco, por ejemplo una entrada de un índice es:
Package: asigna
Version: 1.0-1
Priority: optional
Section: education
Maintainer: Vladimir Tamara <vladimir@tamarapatino.com>
Architecture: i386
Filename: ./asigna_1.0-1_i386.deb
Size: 18016
MD5sum: fef055d6ed02c211e3234aae34efda61
Description: This program helps to arrange a schedule for a school
This program receives information and restrictions on the schedule of
a school and tries to create one. The information it receives is:
amount and labels for teachers, amount and labels for rooms, amount
and labels for hours. The restrictions that can accept are unmovible
teachers (at certain hour in certain room).
installed-size: 104
Archivo que contiene la descripción de un paquete.
Este índice preferiblemente debe generarse automáticamente con el programa dpkg-scanpackage, creando antes un archivo override
. El archivo override
contiene un mínimo de información de los paquetes, cada línea tiene nombre, prioridad y sección de un paquete separados por espacio. Por ejemplo una línea puede ser:
Comando que permite generar automáticamente un índice de paquete.
asigna optional education
Estando en el directorio del repositorio, si el archivo override
está allí mismo se genera el índice de paquetes con:
dpkg-scanpackages . override > Packages
rm Packages.gz
gzip Packages
Para crear sus paquetes Debian, debe contar con las fuentes del programa que desea empaquetar e instalar, con las herramientas requeridas para compilarlo e instalar el paquete task-debian-devel
. El nombre del directorio con fuentes debe ser de la forma paquete-version con el nombre del paquete en minúsculas y la versión con digitos, letras, punto y guión. Pase al directorio con las fuentes y ejecute dh_make
, por ejemplo:
cd AA_Linux_colegio-1.1
dh_make -e pablo@micolegio.edu.co -f ../AA_Linux_colegio-1.1.tar.gz
Comando que sirve para la creación de paquetes.
subdirectorio debian
en tales fuentes
Cada vez que necesite regenerar el paquete ejecute desde el directorio con fuentes:
dpkg-buildpackage -rfakeroot
- Para conocer más sobre librerías compartidas puede consultar las páginas
man
de ld.so
, ldconfig y ldd. También puede consultar Program Library HOWTO. Sección 3: Shared Libraries. http://www.linuxdoc.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
Otra explicación del sistema de paquetes en Debian, está disponible en: Debian Guide. Removing and Installing Software. http://www.newriders.com/debian/html/noframes/node84.html
Puede aprender más sobre el sistema de paquetes de Debian, consultando las páginas man
de dpkg, apt-get, apt-cache, dpkg-reconfigure y apt-cdrom. La guía del usuario de APT en el directorio /usr/doc/apt/guide.text.gz
, una guía para actualizar varios computadores en red apoyandose en APT en /usr/doc/apt/offline.text.gz
y los lineamientos de Debian sobre software libre (DFSG) en el Contrato Social de Debian /usr/doc/debian/social-contract.txt
y en la red en http://www.debian.org/social_contract.
Para aprender más sobre compresión y archivos, consulte las páginas man
de zip, unzip, gzip y tar.
El paquete maint-guide
es una guía para quienes desean crear paquetes Debian (queda instalada al instalar task-debian-devel
). Una vez instalada puede consultar la guía en diversos formatos en /usr/doc/maint-guide
, o en Internet en http://www.debian.org/doc/maint-guide/
1. 2. Con respecto al administrador no quiere usar ##LD_LIBRARY_PATH## 3. [[http://es.tldp.org/Manuales-LuCAS/AA_Linux_colegio-1.1/AA_Linux_colegio-1.1-html/x7216.htm#admprog.busca.1 Hay diversos sitios en Internet donde puede buscarse software para Linux: http://www.freshmeat.net, http://www.linux.org/apps/index.html. Busque otro y compárelos.]] 4. [[http://es.tldp.org/Manuales-LuCAS/AA_Linux_colegio-1.1/AA_Linux_colegio-1.1-html/x7216.htm#admprog.instala.1 Puede consultar software enfocado al sector educativo que funciona sobre la plataforma de referencia en el primer apéndice de estas guías (ver Plataforma de referencia) y en Internet en índices especializados: http://ingenieria.sanmartin.edu.co/cgi-bin/slec/slec.cgi/slec.software_librered?style=slec&site=slec&, http://www.ofset.org/freeduc, http://richtech.ca/seul/, http://edvisor.org . Busque las fuentes de un programa de libre redistribución que necesite, instálelo y describa el proceso que siguió.]] 5. Examine la lista de bibliotecas compartidas que requiere la calculadora gcalc. 6. 7. 8.
1. Si un usuario instala un programa en el directorio /home/pedro/bin
y una biblioteca compartida nueva que ese programa requiere en el directorio /home/pedro/lib
, ¿qué debe agregar él a su archivo ~/.bashrc
para poder ejecutarlo desde un intérprete de comandos sin especificar la ruta completa?
PATH=$PATH:/home/pedro/bin;
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pedro/lib
2. Con respecto al administrador no quiere usar LD_LIBRARY_PATH
Con respecto al punto anterior, si el administrador tras acuerdo con el usuario quiere permitir a otros usuarios usar el programa desde un intérprete de comandos (para cargarlo sin especificar la ruta completa), pero quiere además: que el programa se mantenga en el directorio del usuario, que no se deben modificar los archivos de inicialización de los usuarios y que no se use LD_LIBRARY_PATH
chmod a+rx
/home/pedro/bin
chmod a+rx /home/pedro/lib
echo "/home/pedro/lib" >> /etc/ld.so.conf
ldconfig;además agregar /home/pedro/bin
a la variable PATH
en /etc/profile
3. Hay diversos sitios en Internet donde puede buscarse software para Linux: http://www.freshmeat.net, http://www.linux.org/apps/index.html. Busque otro y compárelos.
Otro puede ser http://www.linux-directory.com/ Freshmeat es el más tradicional, allí a diario se anuncian nuevas versiones de programas (quien lo desee puede anunciar sus programas).
4. Puede consultar software enfocado al sector educativo que funciona sobre la plataforma de referencia en el primer apéndice de estas guías (ver Plataforma de referencia) y en Internet en índices especializados: http://ingenieria.sanmartin.edu.co/cgi-bin/slec/slec.cgi/slec.software_librered?style=slec&site=slec&, http://www.ofset.org/freeduc, http://richtech.ca/seul/, http://edvisor.org . Busque las fuentes de un programa de libre redistribución que necesite, instálelo y describa el proceso que siguió.
Una vez obtenidas las fuentes se consulta la documentación y se siguen.
5. Examine la lista de bibliotecas compartidas que requiere la calculadora gcalc.
ldd /usr/bin/gcalc
6. Algunos programas instalan o usan bibliotecas compartidas. Agregue la vía /opt/lib
a la lista de directorios donde el sistema buscará bibliotecas compartidas.
echo /opt/lib >> /etc/ld.conf
ldconfig
7. Consiga un programa pequeño (que quepa en un disquete) en formato deb
, instálelo, úselo y desinstálelo.
wget URL/paquete.deb
dpkg -i paquete.debpuede revisarse el nombre de lo que se instala (para usarlo) con: dpkg -L paquete y para desinstalar:
dpkg -r paquete
8. Cree un archivo .tar.gz
de un directorio pequeño (por ejemplo cree uno de prueba con al menos dos archivos).
tar cvfz ej.tar.gz ej/
Notas
|| [1] || También soporta el formato binario aout en todas las arquitecturas, en Sparc soporta el formato iBCS2, con el módulo binfmt_misc puede agregarse soporte para otros formatos dinánicamente. ||
|| [2] || Biblioteca compartida: en inglés shared library. ||
|| [3] || En Linux recientes, por defecto todos los programas requieren bibliotecas compartidas
al menos requieren libc. Aunque esto puede cambiarse durante la compilación del programa con la opción -static
del compilador gcc. ||
|| [4] || deb
es la extensión de los archivo precompilados para la distribución Debian, en otras distribuciones el formato y extensión de los archivos precompilados es diferente. ||
|| [5] || ar se usa para crear archivos con la sintaxis ar -r archivo fichero1 fichero2 ..., y para desempaquetarlos con ar -x archivo. ||
|| [6] || El estado archivos de configuración es típico tras instalar y desintalar un programa, dpkg no borra archivos de configuración para que en siguientes instalaciones se tomen los valores por defecto de la instalación anterior. ||
|| [7] || La licencia de cada paquete está en el archivo copyright
del directorio /usr/doc/
paquete. ||
|| [8] || El programa apt-get resuelve dependencias y descarga paquetes de repositirios, para la instalación de un paquete ya descargado usa el programa dpkg. ||
|| [9] || Un ejemplo es el repositorio de paquetes de Structio, donde en particular están estas guías. Si cuenta con acceso a Internet puede accederlo con apt
agregando a /etc/apt/sources.list
la línea deb http://structio.sourceforge.net/debian/binary-i386 /
||