Configuración
Se darán algunos puntos a considerar una vez instalado Slackware Linux.
Sistema de archivos
Slackware Linux soporta los siguientes sistemas de archivos para su instalación:
- ext2, ext3 y ext4 (Extended Filesystem).
- ReiserFS.
- XFS.
- Btrfs (B-tree FS).
- JSF (Journaled File System).
Una pregunta común es ¿Cúal es el sistema de archivos mejor/más recomendado?. Existe una inmensa cantidad de documentación al respecto y como en todo: depende.
Solo comentaré que:
- ext2 y ext3 han quedando en desuso por ext4.
- ext4 es el sistema de archivos comunmente usado por varias distribuciones de GNU/Linux. ext4 sería la opción recomendada.
- ReiserFS ha ganado fama por su buen rendimiento ante archivos de pequeño tamaño.
- XFS ha ganado fama por su buen rendimiento ante archivos de gran tamaño.
- Btrfs es un sistema de archivos nuevo (en comparación con los demás) y estable. Poco a poco está ganando popularidad en ciertas distribuciones de GNU/Linux.
- JFS es de los sistema de archivos menos usados en GNU/Linux.
Algunas lecturas al respecto:
- Sistemas de archivos en Linux: ¿es hora de dejar ext4 por Btrfs y XFS? en MuyLinux.
- Particiones en GNU Linux por davidochobits.
Por otro lado se cuenta con el soporte de:
- FAT/ExFAT/VFAT y NTFS (mediante NTFS-3G): sistemas de archivos del sistema operativo Windows y usualmente encontrado en memorias USB.
- ISO 9660 y UDF: sistemas de archivos encontrados en CDs/DVDs.
El archivo /etc/fstab
establece como y donde son montados los sistemas de archivos:
root@servidor:~# cat /etc/fstab
/dev/sda2 swap swap defaults 0 0
/dev/sda1 / ext4 defaults 1 1
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro,comment=x-gvfs-show 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
Jerarquía del sistema de archivos
Slackware Linux cumple (en la medida de lo posible) con el
Filesystem Hierarchy Standard, por lo que
uno puede encontrar lo siguiente en la ráiz (/
):
root@servidor:~# tree -F -L 1 /
/
|-- bin/
|-- boot/
|-- dev/
|-- etc/
|-- home/
|-- lib/
|-- lib64/
|-- lost+found/
|-- media/
|-- mnt/
|-- opt/
|-- proc/
|-- root/
|-- run/
|-- sbin/
|-- srv/
|-- sys/
|-- tmp/
|-- usr/
`-- var/
20 directories, 0 files
Cabe mencionar lo siguiente:
/bin
,/sbin
,/usr/bin
y/usr/sbin
: directorios donde se instalan los ejecutables o comandos./etc
: directorio donde se instalan los archivos de configuración de distintos programas, así como propios del sistema operativo/etc/rc.d
: directorio donde se encuentran scripts de shell para administrar procesos, servicios o demonios en el sistema operativo.
/lib
y/lib64
: directorios donde se instalan las librerias o bibliotecas (archivos con extensión.so
o.a
) usados por los programas instalados./opt
: directorio donde se instalan aquellos programas que no cumplan con el Filesystem Hierarchy Standard. Por lo general estos programas no son instalados desde su código fuente si no que se obtiene un archivo comprimido (ZIP, RAR, TAR, TAR.GZ, TAG.BZ2, etc) el cual tiene todo lo necesario para ejecutar el programa una vez descomprimido. Ejemplo de estos pueden ser juegos como Xonotic, AssaultCube, Warsow, Urban Terror o Red Eclipse./usr/local
: directorio donde se instalan aquellos programas que cumplan con el Filesystem Hierarchy Standard pero que no formen parte oficial del sistema operativo.root@servidor:~# tree -F -L 1 /usr/local /usr/local/ |-- bin/ |-- etc/ |-- games/ |-- include/ |-- info/ |-- lib/ |-- lib64/ |-- man/ |-- sbin/ |-- share/ `-- src/ 11 directories, 0 files
Como puede observarse su estructua se asemeja al de la ráiz (
/
) pero con directorios vacíos.
Grupos y cuentas de usuario
Los archivos /etc/group
y /etc/passwd
indican los grupos y las cuentas de usuarios, respectivamente, que existen en
el sistema operativo:
/etc/group
root@servidor:~# cut -d ':' -f 1 /etc/group | column root wheel games ftp netdev bin floppy slocate oprofile polkitd daemon mail utmp sddm pop sys news smmsp pulse scanner adm uucp tape input nobody tty man mysql apache nogroup disk dialout rpc messagebus users lp audio sshd haldaemon console mem video gdm plugdev kmem cdrom shadow power
/etc/passwd
root@servidor:~# cut -d ':' -f 1 /etc/passwd | column root shutdown games gdm messagebus bin halt ftp oprofile haldaemon daemon mail smmsp usbmux polkitd adm news mysql sddm pop lp uucp rpc pulse nobody sync operator sshd apache
La cuenta de usuario root es de tipo administrador y algunas de las cosas permitidas y realizadas como usuario root son:
- Reiniciar/detener el sistema operativo
- Administrar grupos y cuentas de usuario:
- Crear, eliminar, modificar grupos así como usuarios y la información/contraseña establecida para cada uno.
- Administrar los sistemas de archivos:
- Montar/desmontar particiones de un dispotivo de almacenamiento, así como darles formato ("formatear").
- Administrar (configurar, iniciar y detener) procesos/servicios/demonios (servidor HTTP/SSH/FTP, SGBD, etc):
- Administrar software (paquetes) o actualizaciones del sistema operativo.
Como usuario root podemos obtener información sobre varios aspectos del sistema operativo mediante ciertos comandos, ejemplos:
- Información del kernel Linux:
uname -a
- Por cuanto tiempo ha estado en ejecución el sistema operativo:
uptime
- Uso de RAM/swap:
free -ht
- Uso de sistemas de archivos/discos duros/particiones:
df -hl
- Usuarios existentes en el sistema operativo:
cat /etc/passwd
- Usuarios autentificados ante el sistema operativo:
who -aH
ow
- Dispositivos PCI detectados por el sistema operativo:
lspci -k
- Interfaces de red identificadas:
ip link show
- Información sobre la configuración de las interfaces de red:
ip address show
- Servidor DNS usado por el sistema operativo:
cat /etc/resolv.conf
- Gateway (también conocido como Puerta de Salida o Puerta de Enlace):
ip route show
,route -n
onetstat -r
- Servicios de red y puertos en espera de conexión (LISTEN):
ss -plutn | cat
olsof -i | grep LISTEN
onetstat -plutn
- Conexiones externas de red (ESTABLISHED):
ss -pautn
olsof -i | grep ESTABLISHED
onetstat -pautn
- Procesos que no están siendo ejecutados por el usuario root:
ps aux | grep -Ev '^root'
A su vez el usuario root puede llevar a cabo:
- Reiniciar el sistema operativo:
shutdown -r now
- Detener el sistema operativo:
shutdown -h now
Podrás encontrar un compendio de comandos (y ejemplos) en los siguientes enlaces:
La gran mayoría de comandos indicados en las anteriores páginas te servirán, exceptuando aquellos que tengan que ver
con la administración/actualización de paquetes o repositorios (RPM, yum
, zypper
, DEB, apt-get
, dpkg
,
pacman
, etc) ya que es algo distintivo de las distribuciones de GNU/Linux (openSUSE, Red Hat, Fedora,
Debian, Ubuntu, etc.) por su formato de paquetes
y su sistema de gestión de paquetes.
La shell del usuario root es la shell Bash y su directorio personal
es /root
.
Como regla general trabaja con la cuenta de usuario root solo en casos necesarios.
Creación de una cuenta de usuario personal
Dada la siguiente información:
- Nombre de la cuenta de usuario: alumno
- ID de usuario: 2000
- Grupo principal: users
- Grupo/s secundario/s: audio, cdrom, floppy, plugdev, video, power, netdev, lp y scanner.
- Directorio personal: /home/alumno
- Shell: Bash
para creación de dicha cuenta de usuario se hace uso del comando useradd
y se procede de la siguiente manera:
Agregar la cuenta de usuario al sistema operativo:
root@servidor:~# useradd -d /home/alumno -u 2000 -g users -G audio,cdrom,floppy,plugdev,video,power,netdev,lp,scanner -s /bin/bash alumno
Crear el directorio personal del usuario alumno y asignar permisos a dicho directorio:
root@servidor:~# mkdir -p /home/alumno root@servidor:~# chown -R alumno:users /home/alumno root@servidor:~# chmod 700 /home/alumno root@servidor:~# ls -ld /home/alumno drwx------ 2 alumno users 4096 Aug 17 22:45 /home/alumno/
Asignar una contraseña (password) al usuario alumno para la autenticación e inicio de sesión:
root@servidor:~# passwd alumno Changing password for alumno Enter the new password (minimum of 5 characters) Please use a combination of upper and lower case letters and numbers. New password: Re-enter new password: passwd: password changed.
OBSERVACIÓN: en el momento en que se ingresa la nueva contraseña las teclas apretadas no son desplegadas en la consola (monitor).
Puedes iniciar una sesión como usuario alumno desde la cuenta del usuario root con el comando su - alumno
y
ejecutar el comando exit
para terminar la sesión:
root@servidor:~# su - alumno
alumno@servidor:~$ pwd
/home/alumno
alumno@servidor:~$ echo $SHELL
/bin/bash
alumno@servidor:~$ exit
logout
root@servidor:~#
Configuración de locale
En la actualidad por la necesidad de tratar con distintos tipos de codificación de la información, desde los archivos de texto plano (código fuente, notas, etc) hasta aplicaciones y SGBD, se recomienda hacer uso de UTF-8.
En Linux la configuración de la variable de entorno LANG
determina, para los programas que ejecutemos, el tipo de
codificación a usar. Esta variable de entorno en Slackware Linux se puede configurar en los archivos
/etc/profile.d/lang.sh
(para shells basadas en SH: bash, ash, ksh y zsh) y /etc/profile.d/lang.csh
(para
shells basadas en CSH: csh y tcsh). En ambos archivos se descomenta la línea que define a LANG
con valor
en_US.UTF-8
, quedando comentada la línea previa a esta:
root@servidor:~# grep 'export LANG' /etc/profile.d/lang.sh
#export LANG=en_US
#export LANG=C
export LANG=en_US.UTF-8
#export LANG=en_US.ISO8859-1
root@servidor:~# grep 'setenv LANG' /etc/profile.d/lang.csh
#setenv LANG en_US
#setenv LANG C
setenv LANG en_US.UTF-8
#setenv LANG en_US.ISO8859-1
Algunas lecturas al respecto:
Teclado
Para la configuración del layout (disposición o ubicación de las teclas) y la traducción de un teclado se hace uso
del comando loadkeys
. En Slackware Linux el archivo /etc/rc.d/rc.keymap
se encarga de ejecutar a loadkeys
con la
traducción o mapa a usar:
root@servidor:~# cat /etc/rc.d/rc.keymap
#!/bin/sh
# Load the keyboard map. More maps are in /usr/share/kbd/keymaps.
if [ -x /usr/bin/loadkeys ]; then
/usr/bin/loadkeys es.map
fi
Entre los parámetros a usar para loadkeys
se encuentran:
es.map
: teclado en español (España)la-latin1.map
: teclado en español (Latinoamericano)us.map
: teclado en ingles (Estados Unidos)us-acentos.map
: teclado en ingles (Estados Unidos) con carácteres acentuados. Mejor conocido como Teclado internacional de Estados Unidos y comunmente encontrado en laptops importados de Estados Unidos.
Fuente de la consola
El tipo de fuente o tipografía en la consola es indicada con el comando setfont
. El archivo /etc/rc.d/rc.font
se
encarga de ejecutar a setfont
con la tipografía a usar:
root@servidor:~# cat /etc/rc.d/rc.font
#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
setfont -v Lat2-Terminus16.psfu.gz
Entre los parámetros a usar para setfont
se encuentran:
Lat2-Terminus16.psfu.gz
: la opción recomendada.lat9v-X.psfu.gz
:X
puede ser12
,14
o16
e indica el tamaño de la tipografía a usar.ter-uXn.psf.gz
:X
puede ser12
,14
o16
e indica el tamaño de la tipografía a usar.
En cualquiera de los casos las tipografías indicadas soportan UTF-8.
Al respecto: Linux console fonts screenshots.