Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Versión 2.0
2004-06-01
-------------------------------------------------------------------------
--
Contenido
Prefacio
1. Introducción
1.3. Licencia
1.3.1. Paquetes
2. Instalando CRUX
3. El Sistema de Paquetes
3.1. Introducción
3.4.2. Directorios
3.4.4. Pkgfile
4. El Sistema de Puertos
4.1. Introducción
5. Configuración
5.2. Contraseñas
6. Preguntas Frecuentes
6.2. Instalación
6.3. Configuración
Prefacio
Capítulo 1. Introducción
1.3. Licencia
1.3.1. Paquetes
Todos los scripts de build para los paquetes en CRUX (aquellos en las
categorías de paquetes base y opt) se encuentran bajo los derechos de
autor (c) 2000-2005 por Per Liden y se regulan por la licencia GNU
General
Public License.
+------------------------------------------------------------------------
+
| Subsistema| Controladores incluídos en el Kernel de arranque
|
|-----------
+------------------------------------------------------------|
| IDE | Chipset genérico PCI IDE
|
|-----------
+------------------------------------------------------------|
| SATA | ServerWorks Frodo/Apple K2, Intel PIIX/ICH, Promise,
|
| | Silicon Image, VIA, VITESSE VSC-7174
|
|-----------
+------------------------------------------------------------|
| | 7000FASST, ACARD, Adaptec AACRAID, Adaptec AIC7xxx,
|
| SCSI | Adaptec AIC79xx U320, AdvanSys, Always IN2000, AMI
|
| | MegaRAID, BusLogic, Compaq Fibre Channel,
NCR5380/53c400, |
| | IBM ServeRAID, SYM53C8XX, Tekram DC390(T) and
Am53/79C974 |
|-----------
+------------------------------------------------------------|
| | Sistema de archivos para dispositivos USB, soporte para
|
| | EHCI HCD (USB 2.0), soporte para UHCI (Intel PIIX4, VIA,
|
| USB | etc.), soporte para OHCI (Compaq, iMacs, OPTi, SiS, ALi,
|
| | etc.), soporte para dispositivos de Almacenamiento
Masivo |
| | USB, soporte para Dispositivos de Interfaz Humana (HID
|
| | completo), soporte para la capa de entrada (input layer)
|
| | de HID
|
+------------------------------------------------------------------------
+
$ md5sum crux-2.0.iso
$ fdisk /dev/discs/disc?/disc
$ mkreiserfs /dev/discs/disc?/part?
$ mkswap /dev/discs/disc?/part?
$ mkdir /mnt/var
$ mount /dev/discs/disc?/part? /mnt/var
$ swapon /dev/discs/disc?/part?
[Nota] Nota
Durante la instalación de paquetes no se realiza un chequeo
de
dependencias. Esto quiere decir que usted es el que decide
si,
por ejemplo, debe seleccionar el paquete db para poder
instalar
sendmail.
Pantallas de la instalación
8. Ahora deberá compilar el Kernel y hacer algunas tareas básicas de
configuración. Para la complilación del Kernel necesita ejecutar
"chroot" en la nueva instalación de CRUX.
$ passwd
$ cd /usr/src/linux-2.6.6
$ make menuconfig
$ make all
$ make modules_install
$ cp arch/i386/boot/bzImage /vmlinuz
$ cp System.map /
$ cd mkbootfloppy
$ ./mkbootfloppy /path/to/linux/kernel/arch/i386/boot/bzImage
1440+0 records in
1440+0 records out
mke2fs 1.27 (8-Mar-2002)
Added CRUX *
$ dd if=boot.img of=/dev/fd0
5. Inserte tanto el disquette como el CD de CRUX en el sistema en el
que
desee instalar CRUX y reinicie el equipo.
6. Instale CRUX.
3.1. Introducción
$ pkgadd bash#2.05-1.pkg.tar.gz
$ pkgadd bash#2.05-1.pkg.tar.gz
bin/sh
usr/man/man1/sh.1.gz
pkgadd error: listed file(s) already installed (use -f to ignore and
overwrite)
$ pkgadd -f bash#2.05-1.pkg.tar.gz
[Advertencia] Advertencia
No es una buena idea proceder con una instalación forzada
a menos que
sepa muy bien lo que está haciendo. Si se producen
conflictos entre
un paquete que se esté instalando y archivos ya
instalados, puede ser
una señal de que el paquete se encuentra dañado y copia
archivos de
forma inesperada. Utilice esta opción com mucho cuidado:
es preferible
que no la use del todo.
$ pkgadd -u bash#2.05-1.pkg.tar.gz
#
# /etc/pkgadd.conf: pkgadd(8) configuration
#
UPGRADE ^etc/.*$ NO
UPGRADE ^var/log/.*$ NO
UPGRADE ^etc/X11/.*$ YES
UPGRADE ^etc/X11/XF86Config$ NO
# End of file
[Nota] Nota
Un patrón nunca debe incluir "/" al principio, ya que se está
refiriendo a
los archivos en el paquete, no a los del disco duro.
$ pkgrm bash
[Advertencia] Advertencia
Este comando eliminará todos los archivos que
pertenezcan al paquete
sin ninguna petición de confirmación (sin preguntar
nada). Tenga mucho
cuidado al realizar este procedimiento y asegúrese de que
escribió
correctamente el nombre del paquete: puede presentarse el
caso de que
desinstale algo que no quería (por ejemplo, considere
sobre lo que
sucedería si digita glib en lugar de glibc).
+------------------------------------------------------------------------
---+
| Opción | Descripción
|
|----------------------------
+----------------------------------------------|
| -i, --installed | Proporciona un listado de los paquetes
|
| | instalados y sus versiones
|
|----------------------------
+----------------------------------------------|
| -l, --list paquete|archivo | Presenta una lista de los archivos que
|
| | pertenezcan al paquete que se indique o
los |
| | que contienen el archivo
|
|----------------------------
+----------------------------------------------|
| -o, --owner archivo | Lista los propietarios del archivo
|
+------------------------------------------------------------------------
---+
Ejemplos:
$ pkginfo -i
audiofile 0.2.3-1
autoconf 2.52-1
automake 1.5-1
<...>
xmms 1.2.7-1
zip 2.3-1
zlib 1.1.4-1
$ pkginfo -l bash
bin/
bin/bash
bin/sh
etc/
etc/profile
usr/
usr/man/
usr/man/man1/
usr/man/man1/bash.1.gz
usr/man/man1/sh.1.gz
$ pkginfo -l grep#2.5-1.pkg.tar.gz
usr/
usr/bin/
usr/bin/egrep
usr/bin/fgrep
usr/bin/grep
usr/man/
usr/man/man1/
usr/man/man1/egrep.1.gz
usr/man/man1/fgrep.1.gz
usr/man/man1/grep.1.gz
$ pkginfo -o bin/ls
e2fsprogs usr/bin/lsattr
fileutils bin/ls
modutils sbin/lsmod
# La función build() descrita más abajo se llamará pkgmk una vez que
los
# archivos de código fuente que se indican hayan sido desempacados.
build() {
# Lo primero que se hace es ir al directorio base.
cd $name-$version
# Compilar.
make
name=grep
version=2.4.2
release=1
source=(ftp://ftp.ibiblio.org/pub/gnu/$name/$name-$version.tar.gz)
build() {
cd $name-$version
./configure --prefix=/usr --disable-nls
make
make DESTDIR=$PKG install
rm -rf $PKG/usr/info
}
[Nota] Nota
La función de build() que se acaba de explicar se utilizó
sólamente
como ejemplo de cómo se construye grep. Los comandos de esa
función
pueden variar en forma significativa dependiendo de la
aplicación que
desee instalar, ya que, por ejemplo, puede no utilizar autoconf.
3.4.2. Directorios
+--------------------------------------------------------------------+
| Directorio | Descripción
|
|--------------------
+-----------------------------------------------|
| /usr/bin/ | Archivos binarios de aplicaciones y
comandos |
|--------------------
+-----------------------------------------------|
| /usr/sbin/ | Archivos binarios del sistema (como
Daemons) |
|--------------------
+-----------------------------------------------|
| /usr/lib/ | Librerías
|
|--------------------
+-----------------------------------------------|
| /usr/include/ | Archivos Header
|
|--------------------
+-----------------------------------------------|
| /usr/lib/<prog>/ | Plug-ins, addons, etc
|
|--------------------
+-----------------------------------------------|
| /usr/man/ | Páginas de manual (man)
|
|--------------------
+-----------------------------------------------|
| /usr/share/<prog>/ | Archivos de datos
|
|--------------------
+-----------------------------------------------|
| /usr/etc/<prog>/ | Archivos de configuración
|
|--------------------
+-----------------------------------------------|
| /etc/ | Archivos de configuración para programas
del |
| | sistema (por ejemplo Daemons, etc.)
|
+--------------------------------------------------------------------+
3.4.4. Pkgfile
4.1. Introducción
$ ports -u
Connected to cvsup.fukt.bth.se
Updating collection base/cvs
...
Updating collection opt/cvs
...
Finished successfully
La salida del programa informa sobre los archivos que hayan sido
descargados,
actualizados y eliminados.
$ ports -l
base/autoconf
base/automake
base/bash
base/bin86
base/binutils
base/bison
...
$ ports -d
Collection Name Port Installed
base glibc 2.3.2-2 2.3.3-1
opt gtk 2.2.0-1 2.4.0-1
Si, por el contrario, no se encontraron diferencias entre las
versiones, como
por ejemplo cuando la estructura local de Puertos se encuentra
actualizada al
día, sólo se presentará una respuesta como la siguiente:
$ ports -d
No differences found
Una vez que se haya encontrado el Puerto por agregar al sistema, sólo
se tiene
que accesar el directorio que contiene el Puerto y ejecutar pkgmk para
construirlo. Ejemplo:
$ cd /usr/ports/base/sendmail
$ pkgmk -d
$ pkgadd sendmail#8.11.6-2.pkg.tar.gz
$ pkgmk -d -i
or
$ pkgmk -d -u
Capítulo 5. Configuración
5.1. Scripts de Inicio
+----------------------------+-------------------------+
| Runlevel (Nivel de inicio) | Descripción |
|----------------------------+-------------------------|
| 0 | Apagar |
|----------------------------+-------------------------|
| 1 (S) | Modo de un sólo usuario |
|----------------------------+-------------------------|
| 2 | Modo multiusuario |
|----------------------------+-------------------------|
| 3-5 | (No se usan) |
|----------------------------+-------------------------|
| 6 | Reiniciar |
+------------------------------------------------------+
+-----------------------------------------------------------------------+
| Archivo | Descripción
|
|------------------
+----------------------------------------------------|
| /etc/rc | Script de arranque del sistema
|
|------------------
+----------------------------------------------------|
| /etc/rc.single | Script de inicio en modo de un sólo usuario
|
|------------------
+----------------------------------------------------|
| /etc/rc.modules | Script de inicialización de módulos
|
|------------------
+----------------------------------------------------|
| /etc/rc.multi | Script de inicio en modo multiusuario
|
|------------------
+----------------------------------------------------|
| /etc/rc.local | Script local de inicio en modo multiusuario
(vacío |
| | por defecto)
|
|------------------
+----------------------------------------------------|
| /etc/rc.shutdown | Script para apagar el sistema
|
|------------------
+----------------------------------------------------|
| /etc/rc.conf | Configuración del sistema
|
|------------------
+----------------------------------------------------|
| /etc/rc.d/ | Script para iniciar o detener servicios
|
+-----------------------------------------------------------------------+
+------------------------------------------------------------------------
+
| Variable | Descripción
|
|----------
+-------------------------------------------------------------|
| | Especifica la fuente para la consola que debe ser cargada
|
| | al inicio. El valor de la variable se pasa como argumento
a |
| | setfont(1). Las fuentes disponibles se encuentran en
|
| FONT | /usr/share/kbd/consolefonts/.
|
| |
|
| | Ejemplo: FONT=default
|
|----------
+-------------------------------------------------------------|
| | Especifica la distribución para el teclado que debe ser
|
| | activada al inicio. El contenido de esta variable se usa
|
| KEYMAP | como argumento en loadkeys(1). Las distribuciones para el
|
| | teclado se encuentran en /usr/share/kbd/keymaps/.
|
| |
|
| | Ejemplo: KEYMAP=sv-latin1
|
|----------
+-------------------------------------------------------------|
| | Especifica la zona horaria que el sistema utilizará. Los
|
| | archivos correspondientes a las zonas horarias
disponibles |
| TIMEZONE | se encuentran en /usr/share/zoneinfo/.
|
| |
|
| | Ejemplo: TIMEZONE=Europe/Stockholm
|
|----------
+-------------------------------------------------------------|
| | Especifica el hostname (nombre de la máquina).
|
| HOSTNAME |
|
| | Ejemplo: HOSTNAME=pluto
|
|----------
+-------------------------------------------------------------|
| | Especifica los servicios que se iniciarán con el sistema.
|
| | Los servicios que se agregen en este array (arreglo)
deben |
| | tener una contraparte como Scripts para iniciar o detener
|
| | en /etc/rc.d/. Al iniciar en modo multiusuario, los
Scripts |
| | que se especifiquen serán invocados en el orden en el que
|
| SERVICES | se hayan definido con el argumento start. Cuando el
sistema |
| | se cierra o cuando se pasa al modo de un sólo usuario,
|
| | estos Scripts se invocan en forma inversa con el argumento
|
| | stop.
|
| |
|
| | Ejemplo: SERVICES=(crond identd sshd sendmail)
|
+------------------------------------------------------------------------
+
#!/bin/sh
#
# /etc/rc.d/net: start/stop network
#
case $1 in
start)
/sbin/ifconfig lo 127.0.0.1
/sbin/ifconfig eth0 195.38.1.140 netmask 255.255.255.224
/sbin/ifconfig eth1 192.168.0.1 netmask 255.255.255.0
/sbin/route add default gw 195.38.1.129
;;
stop)
/sbin/ifconfig eth1 down
/sbin/ifconfig eth0 down
/sbin/ifconfig lo down
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $0 [start|stop|restart]"
;;
esac
# End of file
#!/bin/sh
#
# /etc/rc.d/net: start/stop network
#
case $1 in
start)
/sbin/ifconfig lo 127.0.0.1
/sbin/dhcpcd eth0 [add additional options if needed]
;;
stop)
killall -q /sbin/dhcpcd
/sbin/ifconfig lo down
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $0 [start|stop|restart]"
;;
esac
# End of file
5.2. Contraseñas
6.2. Instalación
6.3. Configuración
#
# /etc/devfsd.conf: devfsd(8) configuration
#
REGISTER .* MKOLDCOMPAT
UNREGISTER .* RMOLDCOMPAT
LOOKUP .* MODLOAD
# End of file