facebook cdr twitter cdr   instagram cdr
Viernes, 29 September 2017 13:38

9. Configuración, administración, trucos y comandos útiles

Escrito por
Valora este artículo
(1 Voto)

En los capítulos anteriores tal vez te hayas dado cuenta de que en algunas secciones como Arranque automático al iniciar el sistema explica que hay crear unos enlaces simbólicos correspondientes, bueno, en este capítulo explicaremos como crearlos, trataremos algunos detalles que no estan demás saberlos y conoceremos algunos trucos y comandos que nos facilitarán el manejo del sistema.

9.1 Arranque automático de servicios al iniciar el sistema

Ubuntu, al igual que muchas otras distribuciones de Linux, utiliza el sistema de arranque Upstart. Cuando el sistema se arranca, puede hacerlo de 7 modos distintos, numerados del 0 al 6. A estos modos se les denomina niveles de arranque y en Upstart son los siguientes:

  • Nivel 0 (Halt): Detiene el sistema
  • Nivel 1 (Monousuario): Modo monousuario
  • Nivel 2 (Multiusuario con red): Modo multiusuario en entorno gráfico con funciones de red
  • Nivel 3 (No utilizado)
  • Nivel 4 (No utilizado)
  • Nivel 5 (No utilizado)
  • Nivel 6 (Reboot): Reinicia el sistema.

Ubuntu siempre arranca en el nivel 2. Si ejecutamos el comando runlevel nos dirá el nivel en el que ha arrancado el sistema.

En función del nivel de ejecución, existe la posibilidad de configurar qué servicios deben iniciarse de forma automática, para ello es necesario crear unos enlaces simbólicos en las carpetas /etc/rcN.d (donde N es un número de 0 a 6 que indica el nivel de ejecución de linux) que apunten al script de inicio del servicio que se encuentra en /etc/init.d/. Dichos enlaces deberán tener un nombre un poco especial ya que deberán comenzar con la letra 'S' de Start (arrancar) seguida de un número de 2 cifras (para establecer el orden de arranque de los servicios) y del nombre del servicio, ejemplo: S15samba ó S30nfs. Si lo que nos interesa es que el servicio no arranque, la primera letra deberá ser una K de Kill (detener) en lugar de una S, ejemplo: K85samba ó K90nfs.

Estos enlaces se pueden crear con el comando update-rc.d. Ejemplo, si deseamos que el servicio samba se arranque cuando el servidor inicia en los niveles 3, 4 y 5 y no arranque cuando inicia en los niveles 1, 2 y 6, ejecutaremos el siguiente comando. Nota: No olvidar el punto del final (.) al escribir el comando:

sudo update-rc.d samba start 15 2 3 4 5 . stop 85 0 1 6 .

De esta forma se crearán enlaces simbólicos de arranque con nombre S15samba en las carpetas /etc/rc2.d, /etc/rc3.d, /etc/rc4.d y /etc/rc5.d y de parada con nombre K85samba en las carpetas /etc/rc0.d,/etc/rc1.d y /etc/rc6.d. Los números 15 y 85 indican la prioridad. Sirven para arrancar o parar antes unos servicios que otros ya que los scripts se procesan por orden alfabético. Se puede utilizar cualquier número entre 10 y 99.

Si por alguna razón el comando update-rc.d no crea los enlaces porque ya están creados, existe la posibilidad de eliminarlos con la opción -f (forzado) y acto seguido volver a crearlos:

Eliminación forzosa de enlaces para inicio automático del servicio:

sudo update-rc.d -f samba remove

Volver a crear enlaces para inicio automático del servicio

sudo update-rc.d samba start 15 2 3 4 5 . stop 85 0 1 6 .

Para facilitar la configuración de los servicios de arranque, existen varias aplicaciones como sysv-rc-conf (modo texto) y bum (entorno gráfico). Para instalar sysv-rc-conf, podemos utilizar apt-get:

sudo apt-get install sysv-rc-conf

Luego, para arrancarlo:

sudo sysv-rc-conf

Aplicación sysv-rc-conf para arrancar o parar servicios

sysv rc conf

Para instalar bum (Boot-Up-Manager), también podemos utilizar apt-get:

sudo apt-get install bum

Luego para arrancarlo:

sudo bum

Aplicación bum (Boot-Up Manager) para arrancar o parar servicios

bum

9.2 Resolución local de nombres de dominio

Si no disponemos de servidor DNS pero queremos resolver nombres de dominio de nuestra red local por sus respectivas IP's, una opción es editar el archivo /etc/hosts y añadir en él tantas líneas como nombres queramos resolver. Ejemplo, si quieremos que nuestro PC resuelva el nombre de nuestro servidor 'www.ieslapaloma.com' por la IP local 192.168.1.239, tendremos que añadirlo en el archivo /etc/hosts:

192.168.1.239 www.ieslapaloma.com

Así, cada vez que accedamos a http://www.ieslapaloma.com, se cargará la página de nuestro servidor.

9.3 Configuración de la red

En sistemas Debian, la red se configura en el archivo: /etc/network/interfaces

En dicho archivo se configuran los parámetros de todas las interfaces de red como la dirección IP, la máscara de subred, la dirección de red, la dirección de broadcast y la puerta de enlace. A continuación mostramos un ejemplo de dicho archivo:

#Interface lazo local

localhost auto lo iface lo inet loopback

#Primera tarjeta de red. Configuramos por DHCP

auto eth0 iface eth0 inet dhcp

#Segunda tarjeta de red. Configuramos manualmente la IP, máscara y puerta de enlace

auto eth1 iface eth1 inet static address 192.168.1.239 netmask 255.255.255.0 gateway 192.168.1.1

#Tarjeta de red inalámbrica. Configuramos por DHCP

auto wlan0 iface wlan0 inet dhcp

Después de editar el archivo de configuración /etc/network/interfaces, para que la nueva IP tome efecto debo reiniciar los servicios de red con el siguiente comando:

sudo /etc/init.d/networking restart

Ahora tan solo nos quedaría la configuración de los servidores DNS. Los DNS se configuran en el archivo /etc/resolv.conf. Se pueden añadir tantas líneas como servidores queramos configurar. Si queremos configurar solamente dos de los DNS de Google, el archivo quedaría así:

nameserver 8.8.8.8 nameserver 8.8.4.4

9.4 Comandos útiles

  • su: Cambia el usuario actual a root o al usuario que indiquemos. Pide contraseña excepto a root
  • sudo comando: Ejecuta comando como root
  • locate archivo: Localiza un archivo; updatedb actualiza base de datos de locate
  • cat, more, less: Muestran el contenido de un archivo
  • poweroff, reboot: Apaga, reinicia el sistema (al igual que init 0 e init 6).
  • grep patrón archivo: Busca líneas que contengan un patrón
  • scp archivo usuario@pc-destino:/archivo: Copia archivo de un PC a otro, por ssh
  • ifconfig: Muestra o establece la configuración IP
  • mv archivo destino: Mueve un archivo de una carpeta a otra
  • rm archivo: Borra un archivo. Con opción -rf, borra una carpeta
  • ls: Muestra el directorio dentro de una carpeta. Con la opción -la muestra los permisos que tiene dicha carpeta.
  • tar xzpf archivo.tar.gz: Descomprime archivo tar.gz
  • set: Muestra variables de entorno
  • df -h: Muestra las particiones del disco y su ocupación
  • du carpeta -sh: Muestra el tamaño de una carpeta
  • du * -sh: Muestra el tamaño de todas las carpetas
  • ln -s archivo enlace.slink: Crea un enlace simbólico a un archivo
  • setterm -blenght 0: Anula el pitido en modo texto. Si estamos en entorno X, ejecutar xset b off
  • date -s "27 jan 09 18:38": Establece la fecha y hora del sistema a 27 de enero de 2009 a las 18:38
  • dpkg --list: Lista todos los paquetes instalados
  • dpkg -L nombre-paquete: Muestra los archivos que conforman el paquete
  • dpkg -S texto: Muestra los paquetes con algún archivo que contenga 'texto'
  • touch nombre_archivo: Crea un archivo desde 0
  • mkdir: Crea un directorio
  • arch: Mostrar la arquitectura de la máquina.
  • shutdown -h now: Apagar el sistema
  • cd: Cambiar directorio. Ejemplo: cd etc/apt
  • cd ..: Retroceder al directorio anterior

Lista completa aquí -> https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/

9.5 Archivo /etc/apt/sources.list

El archivo /etc/apt/sources.list permite establecer los repositorios a los cuales accederá el comando apt-get cuando tenga que instalar una aplicación.

Durante el proceso utilizaremos el repositorio principal (main) de Ubuntu, por lo tanto, nuestro archivo /etc/apt/sources.list deberá contener las líneas:

deb http://es.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ lucid main restricted
deb http://es.archive.ubuntu.com/ubuntu/ lucid-updates main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ lucid-updates main restricted

En alguna ocasión utilizaremos algún paquete que no se encuentra en el repositorio 'main' sino en otros repositorios como el 'universe' o el 'multiverse' de Ubuntu. En tal caso tendremos que añadir a nuestro archivo /etc/apt/sources.list las siguientes líneas:

deb http://es.archive.ubuntu.com/ubuntu/ lucid universe
deb-src http://es.archive.ubuntu.com/ubuntu/ lucid universe
deb http://es.archive.ubuntu.com/ubuntu/ lucid-updates universe
deb-src http://es.archive.ubuntu.com/ubuntu/ lucid-updates universe
# Repositorio 'multiverse' de ubuntu
deb http://es.archive.ubuntu.com/ubuntu/ lucid multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ lucid multiverse
deb http://es.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
# Repositorio 'partner' de ubuntu
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner

Es posible que las líneas anteriores ya estén en nuestro archivo /etc/apt/sources.list pero estén anuladas por una almohadilla. En tal caso debemos eliminar la almohadilla para descomentar las líneas.

Cada vez que se haga una modificación del archivo /etc/apt/sources.list, es necesario ejecutar el comando 'apt-get update' para que nuestro sistema acceda al listado de paquetes de los nuevos repositorios y actualice nuestra base de datos con la información de los paquetes.

Si deseamos instalar un paquete que no está en los repositorios que tenemos configurados en /etc/apt/sources.list, debemos añadir el repositorio donde se encuentre.

  • sudo apt-get update: Refrescar actualizaciones disponibles
  • sudo apt-get upgrade: Actualizar todos los paquetes
  • sudo apt-get dist-upgrade: Actualizar versión
  • sudo apt-get install paquete: Instalar paquete
  • sudo apt-get remove paquete: Desinstalar paquete
  • sudo apt-get --purge remove paquete: Desinstalar paquete y eliminar configuración
  • sudo apt-get autoremove: Eliminar paquetes obsoletos
  • sudo apt-get -f install: Intentar arreglar paquetes
  • sudo apt-get -d paquete: Para bajar el paquete y sus dependencias sin instalar.
  • sudo dpkg --configure -a: Intentar arreglar paquetes rotos
  • sudo dpkg -i paquete.deb: Instalar archivo paquete.deb
  • /etc/apt/sources.list: Lista de repositorios APT
  • http://packages.ubuntu.com/paquete: Busca paquete en los repositorios Ubuntu

9.6 Instalar todos los paquetes necesarios

Si deseamos realizar el curso en un PC sin conexión permanente a Internet, se pueden instalar todos los paquetes del curso con los siguientes comandos:

sudo apt-get update

sudo apt-get install dhcp3-server dnsmasq bind9 openssl apache2 nfs-common nfs-kernel-server portmap nfs-common nfs-common samba samba-common smbclient samba-doc smbfs smbclient ssh libapache2-mod-php5 php5-mysql mysql-server mysql-common mysql-client phpmyadmin phpldapadmin proftpd cupsys cupsys-client tightvncserver xtightvncviewer tightvnc-java slapd ldap-utils libpam-ldap libnss-ldaplibpam-dotfile squid gnome-schedule sysv-rc-conf bum

Una vez instalados los paquetes, podremos hacer muchas pruebas sin conexión a Internet.

9.7 Cambiar el nombre del PC en Ubuntu

Debemos realizar tres pasos

  • Ejecutar echo nuevonombre > /etc/hostname
  • Ejecutar echo nuevonombre > /etc/dhcp3/dhclient.conf
  • Editar archivo /etc/hosts y sustituir nombre antiguo por nuevonombre

9.8 Teclado español en DSL Linux

Para que al arrancar DSL Linux utilice el teclado español, debemos agregar el parámetro '-k es' en la línea boot del arranque del sistema.

9.9 Activar history-completion

La función history-completion consiste en recuperar los últimos comandos ejecutados en la consola mediante la flecha hacia arriba de los cursores, indicando las iniciales del comando. Se trata de una utilidad muy interesante ya que permite recuperar comandos anteriores indicando sus iniciales y pulsando la flecha arriba de los cursores, lo cual ahorra mucho tiempo al encontrar los comandos rápidamente evitando tener que pulsar la flecha arriba demasiadas veces. Para activarlo, hay que añadir las siguientes líneas en /etc/inputrc

"\e[B": history-search-forward #Up-Arrow
"\e[A": history-search-backward #Down-Arrow

9.10 Bash alias

Si deseamos crear alias de bash para nuestro usuario, debemos hacerlo en el archivo ~/.bashrc (el gusanillo significa 'nuestro home'). El archivo comienza por un punto '.' lo que le hace oculto. Para mostrar los archivos ocultos con ls debemos añadir la opción -a.

Si deseamos crear alias de bash para todos los usuarios, debemos hacerlo como root en el archivo /etc/bash.bashrc

 

Visto 1059 veces Modificado por última vez en Viernes, 07 September 2018 10:21
Alejandro Carreño

Desarrollador, Programador, Web Master y Community Manager de CDR Consultores

Deja un comentario

Asegúrese de introducir toda la información requerida, indicada por un asterisco (*). No se permite código HTML.

Tweets

RT @cdrconsultores: El networking es una práctica común en el mundo empresarial y emprendedor. Aquí en CDR Consultores ofrecemos las soluc…
El networking es una práctica común en el mundo empresarial y emprendedor. Aquí en CDR Consultores ofrecemos las s… https://t.co/pLsGFRep1b

Productos

Servicios

servicios off
website off
desarrollo off
formacion off
negocios off

Facebook

end-logo

 

Nestor M. Carreño T. - Todos los Derechos Reservados
Rescindir de Dios y de los valores morales, lleva no sólo al empobrecimiento espiritual, sino también al empobrecimiento material
Gracias a Usted, Muchas Gracias por Consultarnos, Dios le Bendiga!

Diseño y Desarrollo Nestor M. Carreño T. - CDR Consultores, C.A.