Notas
Instalación
Para evitar problemas de dependencias entre aplicaciones y/o librerías es recomendable realizar una instalación completa (full) de Slackware Linux, ocupando cerca de 8G de espacio en el disco duro.
Podrás instalar otros paquetes extras de Slackware Linux, los cuales no fueron instalados durante la instalación
de Slackware Linux, con el comando slackpkg install extra
.
A diferencia de muchas otras distribuciones de GNU/Linux, Slackware Linux no cuenta con ningún mecanismo o herramienta para resolver las dependencias entre programas y librerias por lo que queda en manos del usuario comprender mejor el sistema y encargarse de este tema.
Por otro lado, Slackware Linux es una distribución pura de 64bits por lo tanto no es posible ejecutar programas de 32bits.
Slackware
En caso de considerar que hace falta la instalación de algún paquete de Slackware es posible ejecutar
el comando slackpkg update && slackpkg install slackware64 && slackpkg install patches
que descargará la lista
de actualizaciones disponibles, después los paquetes de slackware64
(todos los paquetes que forman parte
de las series: a
, ap
, d
, e
, f
, etc) y finalmente los paquete que forman parte de las actualizaciones.
Nota: En la fecha/hora Thu Sep 6 05:28:05 UTC 2018 fue agregado Rust a la serie patches. Con la anterior serie de comandos dados Rust sería instalado.
Documentación
El directorio /usr/doc
cuenta con directorios que reflejan el nombre y versión de paquetes instalados, los cuales
contienen documentación por cada uno de los paquetes.
Otra manera de encontrar documentación de algún comando es ejecutarlo mediante el parámetro --help
y/o -help
.
Finalmente se cuenta con las páginas de manual (man pages) mediante el comando man
para obtener información
sobre el uso de algún programa o librería instalado. Por ejemplo man nano
, man ls
y man bash
.
Grupos y usuarios
Para la creación de un grupo de usuarios se usa el comando groupadd
mientras que para borrar un grupo de usuarios
se usa el comando groupdel
.
Para la creación de una nueva cuenta de usuario se usa el comando useradd
mientras que para borrar una cuenta de
usuario se usa el comando userdel
.
Aúnque el comando sudo
forma parte de Slackware Linux no se encuentra configurado por lo que su uso es opcional.
Un usuario común puede cambiar su propia shell en uso mediante el comando chsh
. Es importante ver el contenido
del archivo /etc/shells
para determinar cuales están disponibles.
Localización
Lenguaje
Slackware Linux está configurado para mostrar mensajes en el idioma ingles por default. Para poder visualizar algunos
mensajes en otro lenguaje se hace uso de la variable de entorno $LANG
la cual puede ser definida de manera global
(para todos los usuarios del sistema operativo) o bien de manera local (para un usuario en especifico).
- De manera global en:
/etc/profile.d/lang.sh
y/o/etc/profile.d/lang.csh
- De manera local en alguno de los archivos de configuración de la shell que haga uso el usuario:
$HOME/.bashrc
y/o$HOME/.bash_profile
.
Por ejemplo para español de México en UTF-8/Unicode:
$ echo $LANG
es_MX.utf8
Y para ingles de Estados Unidos en UTF-8/Unicode:
$ echo $LANG
en_US.UTF-8
IMPORTANTE: está variable afectará tanto a los programas de la línea de comandos como de la interfaz gráfica de usuario por lo que si haces uso de XFCE y/o KDE notarás una diferencia al respecto.
Teclado
El comando para configurar el teclado en la línea de comandos es loadkeys
mientras que para la interfaz gráfica
es setxkbmap
. XFCE y KDE tienen sus propias opciones para configurar el teclado.
Zona horaria
La zona horaria del sistema operativo puede ser configurada usando el comando timeconfig
o bien ejecutando el
comando para la zona horaria de la Ciudad de México:
cp /usr/share/zoneinfo/America/Mexico_City /etc/localtime
El ajuste de la hora del sistema puede ser llevado a cabo con los comandos date
y hwclock
. Otra manera sería
hacer uso del servicio de red NTP (Network Time Protocol) mediante los comandos ntpdate
y/o ntpd
(incluyendo el
script de init /etc/rc.d/rc.ntpd
).
Entorno gráfico
Slackware Linux cuenta con los entornos de escritorio: XFCE y KDE. De igual forma podrás encontrar los gestores de ventanas: twm, blackbox, fluxbox, fvwm2 y window maker.
Es posible instalar los entornos de escritorio MATE Desktop Environment, Cinnamon Desktop Environment y GNOME. De igual forma están disponibles algunos otros gestores de ventanas en slackbuilds.org, como por ejemplo: enlightenment, jwm, i3, awesome, openbox, ratpoison y xmonad.
Gestor de ventana JWM (Joe's Window Manager) en Slackware Linux:
Varios programas de multimedia en Slackware Linux:
Las principales diferencias entre los entornos de escritorio y los gestores de ventanas es de que los primeros cuentan con varias aplicaciones para otorgar una experiencia común-familiar a usuario de otros sistemas operativos (Microsoft Windows/macOS) mientras que los segundos son enfocados hacia la conservación-optimización de recursos siendo su uso enfocado-destinado a usuarios más familiarizados con un sistema operativo Linux/Unix.
La versión de KDE es la 4.14, tiene varios efectos/servicios que consumen recursos y puede ser necesario configurar algunas cosas en él para mejorar su desempeño (1, 2, 3, 4, 5, 6 y 7)
Para forzar la salida del entorno gráfico y regresar a la consola se puede hacer uso del juego de teclas
Ctrl + Alt + Backspace
. Solo hacer uso de esto en casos realmente necesarios.
Acceso inmediato al entorno gráfico
Es posible acceder inmediatamente al entorno gráfico desde la consola apenas uno se haya autenticado ante el sistema
(login) poniendo algo como lo siguiente en el archivo de configuración de la shell en uso, por ejemplo para
Bash al final del archivo $HOME/.bashrc
:
# Start X automatically when login-in /dev/tty1
TTY="$(/usr/bin/tty | sed 's:.*/::')"
if [[ ! ${DISPLAY} && ${TERM} == 'linux' && ${TTY} == 'tty1' ]]; then
unset TTY
exec startx
fi
unset TTY
La otra opción es hacer uso de un display manager como KDM (KDE Display Manager) o XDM (X Display Manager)
editando el archivo /etc/inittab
y modificando la línea:
id:3:initdefault:
por:
id:4:initdefault:
Lo anterior hará que el sistema operativo inicie en el nivel de ejecución 4
, por default es el 3
.
Firewall
Slackware Linux cuenta con iptables
(netfilter) y el script de init /etc/rc.d/rc.firewall
(no existe por default)
para configurar un firewall. Por default Slackware Linux no cuenta con algún firewall activado por lo que es necesario
estudiar/aprender a hacer uso de iptables
. Otra opción es buscar programas que faciliten la configuración de un
firewall en slackbuilds.org
Servicios
Slackware Linux ya cuenta con varios servicios: de HTTP, DNS, SMTP, SSH, etc. El directorio /etc/rc.d
contiene
scripts de init para iniciar dichos servicios.
Algunos servicios son iniciados por el sistema si forman parte oficial de Slackware Linux, otros tendrán que ser
explicitamente ejecutados mediante el archivo /etc/rc.d/rc.local
para iniciarlos y /etc/rc.d/rc.local_shutdown
para detenerlos. Los scripts de init de los servicios deben tener permisos de ejecución.
Por ejemplo el servicio de red de SSH:
# ls -l /etc/rc.d/rc.sshd
-rwxr-xr-x 1 root root 1726 Mar 10 2016 /etc/rc.d/rc.sshd*
# ps aux | grep sshd
root 926 0.0 0.0 28680 428 ? Ss 20:30 0:00 /usr/sbin/sshd
# netstat -plutn | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 926/sshd
tcp6 0 0 :::22 :::* LISTEN 926/sshd
Si se requiere que el sistema ejecute algunos comandos siempre que se inicia-encienda edita a /etc/rc.d/rc.local
y
si se requiere que ejecute algunos comandos siempre que se detenga-apague edita a /etc/rc.d/rc.local_shutdown
.
En ambos casos los comandos establecidos en dichos archivos se ejecutarán como usuario root.
Audio y video
Slackware Linux cuenta con soporte de audio y video, sin embargo por cuestiones de licencias y derechos de autor es necesario hacer la instalación de otros tantos paquetes/librerias/codecs para poder reproducir algunos formatos de audio o video, siendo los paquetes ffmpeg y gstreamer (gst-plugins y gst-ffmpeg) los más importantes, ambos disponibles en slackbuilds.org (ffmpeg y gst).
Es posible encontrar programas para uso de una webcam así como para la grabación de audio/video de un escritorio-screencast (webcam record y screencast).
Programación
Slackware Linux cuenta con varios compiladores e interpretes:
GCC (GNU Compiler Collection), principalmente para C/C++:
$ ls -1 /var/log/packages/ | grep -E '^gcc-|^make-|^gdb-' gcc-5.5.0-x86_64-1_slack14.2 gcc-g++-5.5.0-x86_64-1_slack14.2 gcc-gfortran-5.5.0-x86_64-1_slack14.2 gcc-gnat-5.5.0-x86_64-1_slack14.2 gcc-go-5.5.0-x86_64-1_slack14.2 gcc-java-5.5.0-x86_64-1_slack14.2 gcc-objc-5.5.0-x86_64-1_slack14.2 gdb-7.11.1-x86_64-1 make-4.1-x86_64-2
PHP (PHP: Hypertext Preprocessor):
$ ls -1 /var/log/packages/ | grep -E '^php-' php-5.6.34-x86_64-1_slack14.2
Python:
$ ls -1 /var/log/packages/ | grep -E '^python-' python-2.7.14-x86_64-1_slack14.
Ruby:
$ ls -1 /var/log/packages/ | grep -E '^ruby-' ruby-2.2.9-x86_64-1_slack14.2
Perl:
$ ls -1 /var/log/packages/ | grep -E '^perl-' perl-5.22.2-x86_64-1
Common Lisp (LISP):
$ ls -1 /var/log/packages/ | grep -E '^clisp-' clisp-2.49-x86_64-3
COBOL:
$ ls -1 /var/log/packages/ | grep -E '^gnu-cobol-' gnu-cobol-1.1-x86_64-1
Ensambladores (ASM):
$ ls -1 /var/log/packages/ | grep -E '^dev86-|^nasm-|^yasm-' dev86-0.16.21-x86_64-1 nasm-2.13.01-x86_64-1_slack14.2 yasm-1.3.0-x86_64-1
Scheme (LISP):
$ ls -1 /var/log/packages/ | grep -E '^guile-' guile-2.0.11-x86_64-2
llvm (LLVM compiler toolkit)/clang:
$ ls -1 /var/log/packages/ | grep -E '^llvm-' llvm-3.8.0-x86_64-2
Tcl/Tk:
$ ls -1 /var/log/packages/ | grep -E '^tcl-|^tk-' tcl-8.6.5-x86_64-2 tk-8.6.5-x86_64-2
Es posible instalar muchos otros compiladores e interpretes disponibles en slackbuilds.org:
- Arduino/C/C++: arduino
- C#/F#/Microsoft: mono, fsharp, monodevelop
- C++/Qt/KDE: qt5, qt-creator
- C/Vala/GNOME: vala
- Common Lisp/LISP: sbcl
- Elixir/Erlang: elixir, erlang-otp
- FreePascal/Pascal/Delphi: fpc, lazarus
- Go/Google: google-go-lang
- Groovy/Java: groovy
- Haskell: hugs98, ghc
- Java SE Development Kit/Oracle: jdk, openjdk, zulu-openjdk
- JavaScript/ECMAScript: nodejs
- Julia: julia
- Kotlin/Java: kotlin
- Lua: lua
- OCaml/ML: ocaml
- Objective-C/Apple: swift
- PHP/Hack/Facebook: hhvm
- Perl 6: parrot
- Prolog: swi-prolog,
- Python 3: python3
- Rust/Firefox/Mozilla: rust
- Scala/Java: scala
- Scheme/LISP: racket, chicken
- Smalltalk: scratch, squeak-vm
- Standard ML/ML: mosml, polyml, smlnj, mlton
Recursos
- icons-update.sh: script de Bash para instalar como usuario común varias colecciones de iconos para los entornos de escritorio.