Herramientas de usuario

Herramientas del sitio


linuxbasico

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
linuxbasico [2019/03/04 07:40]
fmolinuevo [2.3. [ ] Instalación de Debian: texto, gráfica, particionamiento]
linuxbasico [2021/03/26 06:57] (actual)
fmolinuevo [3.2. [ ] Proceso de arranque: systemd, targets, comandos: systemctl, service, chkconfig]
Línea 181: Línea 181:
   - /usr: aquí se instalarán binarios, archivos de datos varios, algunos archivos de configuración,​ manuales y algunas otras cosas como imágenes e íconos; datos estáticos en general. Generalmente es suficiente con 4 a 10GB.   - /usr: aquí se instalarán binarios, archivos de datos varios, algunos archivos de configuración,​ manuales y algunas otras cosas como imágenes e íconos; datos estáticos en general. Generalmente es suficiente con 4 a 10GB.
   - /var: lo contenido aquí tiene típicamente tamaño extremadamente variable. Cosas que se almacenan aquí generalmente son bases de datos, logs del sistema, spoolers de correo-e e impresión, cachés. Suponiendo un disco de 1TB, suelo usar unos 400GB.   - /var: lo contenido aquí tiene típicamente tamaño extremadamente variable. Cosas que se almacenan aquí generalmente son bases de datos, logs del sistema, spoolers de correo-e e impresión, cachés. Suponiendo un disco de 1TB, suelo usar unos 400GB.
-  - /datos (o /srv): es la partición donde se almacenarán los archivos de la empresa, usuarios, y toda clase de datos útiles directamente a las personas de la institución. Por lo tanto, siguiendo con el supuesto de una unidad de almacenamiento de 1TB, asigno el resto de la misma a esta función, dejando así más de 500GB disponibles.+  - /srv: es la partición donde se almacenarán los archivos de la empresa, usuarios, y toda clase de datos útiles directamente a las personas de la institución. Por lo tanto, siguiendo con el supuesto de una unidad de almacenamiento de 1TB, asigno el resto de la misma a esta función, dejando así más de 500GB disponibles.
   - /home: habitualmente este directorio contiene archivos muy pequeños que se crean automáticamente al dar de alta a los usuarios. Si no se necesita que los usuarios almacenen archivos personales, con que penda de la raíz es suficiente.   - /home: habitualmente este directorio contiene archivos muy pequeños que se crean automáticamente al dar de alta a los usuarios. Si no se necesita que los usuarios almacenen archivos personales, con que penda de la raíz es suficiente.
  
Línea 257: Línea 257:
   * **var**: almacenamiento de datos variables   * **var**: almacenamiento de datos variables
  
-====  3.2.  [  ] Proceso de arranque: ​initrunlevels, comandos: service, chkconfig, systemd, systemctl ​====+====  3.2.  [  ] Proceso de arranque: ​systemdtargets, comandos: ​systemctl, ​service, chkconfig ==== 
 + 
 +Un aspecto muy importante de los Linux es el sistema de arranque, el cual es configurable,​ transparente y muy poderoso. El administrador puede personalizar y ajustar cada parte de este proceso con completa seguridad de que las cosas funcionarán como lo desea. De la misma manera, el proceso de apagado es configurable y adaptable a las necesidades de cada caso. 
 + 
 +Hace unos años atrás, la mayoría de las distribuciones disponían de un sistema de inicio llamado SysVInit, que estaba basado en scripts Bash en su mayoría, para controlar cómo iniciaba el sistema operativo. Hoy eso fue reemplazado por **systemd** (por System Daemon), que agrega una capa de control de aplicaciones,​ procesos y usuarios, sobre el propio kernel, y que aprovecha extensivamente los cgroups (control groups) disponibles en el kernel desde hace ya bastante tiempo.
  
-Un aspecto muy importante ​de los Linux es el sistema ​de arranqueel cual es simple, configurable,​ transparente ​muy poderoso. El administrador puede personalizar y ajustar cada parte de este proceso con completa seguridad de que las cosas funcionarán como lo desea.+Debido a estos cambios, ​de los más importantes que han ocurrido en GNU/Linux en los últimos años, se hablará aquí de ambos sistemas ​de inicio, y se los comparará en cierta medida. El objetivo es que el alumno, si debe administrar sistemas viejos, tenga una idea de ambos, pueda compararlos y aprovecharlos.
  
-De la misma manera, el proceso de apagado es configurable y adaptable a las necesidades ​de cada caso.+El proceso de inicio ​de un Linux puede resumirse de la siguiente manera:
  
   - La BIOS revisa el sistema y lanza la primera fase del manejador de inicio que reside en el MBR   - La BIOS revisa el sistema y lanza la primera fase del manejador de inicio que reside en el MBR
   - El manejador de inicio lanza la segunda fase desde el directorio /boot   - El manejador de inicio lanza la segunda fase desde el directorio /boot
   - Esta fase es la encargada de cargar el kernel en memoria, lo que cargará los módulos necesarios y montará la partición raíz en modo de sólo lectura   - Esta fase es la encargada de cargar el kernel en memoria, lo que cargará los módulos necesarios y montará la partición raíz en modo de sólo lectura
-  - El kernel transfiere el proceso de inicio al programa /​sbin/​init +  - El kernel transfiere el proceso de inicio al programa ​/​lib/​systemd/​systemd,​ y que tendrá el PID 1 (en sysvinit el PID 1 era /sbin/init) 
-  - Éste cargará todos los servicios y herramientas de nivel de usuario, y montará las particiones listadas en /etc/fstab +  - Éste montará las particiones listadas en /etc/fstab, y cargará todos los servicios y herramientas de nivel de usuario 
-  - Luego de finalizar estos procesos, se presentará al usuario una pantalla de ingreso+  - Luego de finalizar estos procesos, se presentará al usuario una pantalla de ingreso ​(login)
  
-Linux provee varios ​runlevels, del 0 al 6. Cada uno se utiliza ​para iniciar o detener ​servicios de manera automáticaAsí:+Antiguamente ​Linux proveía lo que se llamaba ​runlevels, o niveles de ejecución, del 0 al 6para configurar qué servicios ​y programas iniciaban o se detenían según el momento ​de ejecución del sistema. Esto es algo ya obsoleto, y systemd provee lo que se denomina **targets**. Los target pueden ser activados en paralelo, a diferencia de los runlevels que podían ocurrir uno por vez.
  
-  * runlevel 0: halt. Es el runlevel que se inicia cuando se desea apagar el equipo +Así entoncestenemos varios targets ​que se corresponden ​en cierta medida a los antiguos runlevels:
-  * runlevel 1: single. En este nivel se realizan tareas administrativas especialesya que ningún proceso estará corriendo +
-  * runlevel 2: por defecto en Debian y derivados, tanto para modo de texto como modo gráfico +
-  * runlevel 3: por defecto en RedHat y derivados, para modo texto +
-  * runlevel 4: no se usa +
-  * runlevel 5: por defecto ​en RedHat y derivados, para modo gráfico +
-  * runlevel 6restart. Se cambia a este runlevel cuando se desea reiniciar el equipo+
  
-Para controlar los diferentes runlevels, se utilizan los comandos **shutdown** y **telinit**,​ a saber:+^ Target ^ Runlevel ^ Descripción ^ Comentarios ^  
 +| poweroff.target | 0 | Es el target que se inicia cuando se desea apagar el equipo | Es equivalente a: shutdown -h now | 
 +| rescue.target | 1, s, single | En este target se realizan tareas administrativas especiales, ya que ningún servicio estará corriendo |  | 
 +| multi-user.target | 2, 3, 4 | Multiusuario,​ no gráfico. Los usuarios normalmente pueden acceder por múltiples consolas o a través de la red |  | 
 +| graphical.target | 5 | Mulitusuario gráfico. Como el target anterior, pero con consola gráfica |  | 
 +| reboot.target | 6 | Reinicio del sistema | Es equivalente a: shutdown -r now | 
 +| emergency.target | emergency | Consola para emergencias |  | 
 + 
 +En systemd, se utiliza el comando **systemctl** para apagar o reiniciar el sistema, para iniciar, detener o reiniciar servicios y demonios, o para ver su estado. En los ejemplos que verán, pueden obviar la extensión como .target o .service, pues son optativas. 
 + 
 +Para apagar el equipo: 
 + 
 +  systemctl poweroff.target 
 + 
 +Para reiniciar el equipo: 
 + 
 +  systemctl reboot.target 
 + 
 +Para conocer cuál es el target por default del sistema, que puede variar según el uso que se le dé al equipo: 
 + 
 +  systemctl get-default 
 + 
 +Cambiar el target a emergency para realizar tareas de mantenimiento:​ 
 + 
 +  systemctl isolate emergency.target 
 + 
 +Luego de las tareas de mantenimiento,​ para volver al estado por default sin reiniciar el equipo: 
 + 
 +  systemctl default.target 
 + 
 +Detener el demonio SSH: 
 + 
 +  systemctl stop ssh.service 
 + 
 +Iniciar el demonio SSH: 
 + 
 +  systemctl start ssh.service 
 + 
 +Reiniciar el demonio SSH: 
 + 
 +  systemctl restart ssh.service 
 + 
 +Ver el estado de todos los servicios:​ 
 + 
 +  systemctl status 
 + 
 +Ver el estado del servicio MySQL: 
 + 
 +  systemctl status mysql.service 
 + 
 +Ver qué unidades han fallado al iniciar: 
 + 
 +  systemctl --failed 
 + 
 +Habilitar un servicio, deshabilitarlo o revisar su estado: 
 + 
 +  systemctl enable postgresql.service 
 +  systemctl disable postgresql.service 
 +  systemctl status postgresql.service 
 + 
 + 
 +=== Comandos usados en SysV === 
 + 
 +Para controlar los diferentes runlevels, ​en SysV se utilizan los comandos **shutdown** y **telinit**,​ a saber:
  
   * shutdown: para apagar o reiniciar el equipo   * shutdown: para apagar o reiniciar el equipo
     * Reiniciar: shutdown -r now     * Reiniciar: shutdown -r now
     * Apagar: shutdown -h now     * Apagar: shutdown -h now
-  * telinit: para cambiar de runlevel. P. ej. para cambiar a runlevel 1: telinit 1+  * telinit: para cambiar de runlevel. P. ej. para cambiar a runlevel 1 para realizar tareas de mantenimiento: telinit 1
  
 Los servicios del sistema pueden iniciarse, reiniciarse y detenerse con el comando **service**. La configuración respecto a qué servicio se iniciará o detendrá automáticamente en los diferentes runlevels, se realiza con el comando **chkconfig**. Los servicios del sistema pueden iniciarse, reiniciarse y detenerse con el comando **service**. La configuración respecto a qué servicio se iniciará o detendrá automáticamente en los diferentes runlevels, se realiza con el comando **chkconfig**.
Línea 305: Línea 366:
   chkconfig --level 2345 sshd off   chkconfig --level 2345 sshd off
  
 +//Nota//: Estos comandos aún funcionan en las distribuciones modernas con systemd, pero siempre llaman a systemctl, y se debería dejar de usarlos
 ====  3.3.  [  ] Permisos, usuarios y grupos ==== ====  3.3.  [  ] Permisos, usuarios y grupos ====
  
Línea 341: Línea 403:
 ====  3.5.  [  ] Servidores: definición,​ demonios, posibilidades,​ iniciando y deteniendo demonios ==== ====  3.5.  [  ] Servidores: definición,​ demonios, posibilidades,​ iniciando y deteniendo demonios ====
  
-Además de al equipo físico, se llama **servidor** a un proceso que brinda servicios de diferente índole. También se lo denomina **demonio**.+Además de al equipo físico, se llama **servidor** a un proceso que brinda servicios de diferente índole. También se lo denomina **demonio**. Los demonios son ejecutables que pueden tomar distintos nombres según la distribución,​ pero que generalmente es el mismo código de una a otra.
  
-Ejemplos son los servicios Apache, Samba, NFS, Bind9, DHCP, y muchos otros. Así, el servicio HTTP provisto por Apache, es brindado por el demonio **httpd**; el servicio DNS ofrecido por Bind9, es brindado por el demonio **named**.+Ejemplos son los servicios Apache, Samba, NFS, Bind9, DHCP, y muchos otros. Así, el servicio HTTP provisto por Apache, es brindado por el demonio ​llamado ​**httpd** en Red Hat y derivados, mientras que en Debian y derivados se llama **apache2**; el servicio DNS ofrecido por Bind9, es brindado por el demonio **named** ​en las distribuciones derivadas de Red Hat, y **bind9** en las derivadas de Debian.
  
 El objetivo del servidor físico es centralizar la información,​ así como la configuración,​ de los servicios que son provistos a las estaciones cliente. El objetivo del servidor físico es centralizar la información,​ así como la configuración,​ de los servicios que son provistos a las estaciones cliente.
  
-En la mayoría de los Linuxes modernos, los servicios se controlan con el comando ​service.+En la mayoría de los Linuxes modernos, los servicios se controlan con el comando ​**systemctl** provisto por **systemd**.
  
-Para ver el estado ​de un servicio:+Para ver el estado ​del servicio ​SSH:
  
-  ​service sshd status+  ​systemctl ​status ​ssh
  
 Para detenerlo e iniciarlo: Para detenerlo e iniciarlo:
  
-  ​service sshd stop +  ​systemctl ​stop ssh 
-  ​service sshd start+  ​systemctl ​start ssh 
 + 
 +Si se desea deshabilitar o habilitar un servicio o demonio Apache al inicio del sistema, en Debian: 
 + 
 +  systemctl disable apache2 
 +  systemctl enable apache2 
 + 
 +Es importante recordar que el servicio, el nombre del demonio, puede variar de una distribución a otra.
  
 ====  3.6.  [  ] Servicios más comunes en un servidor: Samba, NFS, httpd, DHCP, proxy, firewall, SSH, mail, impresión, DNS, FTP, VPN, bases de datos, virtualización ==== ====  3.6.  [  ] Servicios más comunes en un servidor: Samba, NFS, httpd, DHCP, proxy, firewall, SSH, mail, impresión, DNS, FTP, VPN, bases de datos, virtualización ====
Línea 435: Línea 504:
   * Red Hat System'​s Administrator Guide: https://​access.redhat.com/​documentation/​en-US/​Red_Hat_Enterprise_Linux/​7/​html/​System_Administrators_Guide/​index.html   * Red Hat System'​s Administrator Guide: https://​access.redhat.com/​documentation/​en-US/​Red_Hat_Enterprise_Linux/​7/​html/​System_Administrators_Guide/​index.html
   * Filesystem Hierarchy Standard: http://​www.pathname.com/​fhs/​   * Filesystem Hierarchy Standard: http://​www.pathname.com/​fhs/​
 +  * Debian SystemD: https://​wiki.debian.org/​systemd
 +  * RedHat SystemD: https://​access.redhat.com/​documentation/​en-us/​red_hat_enterprise_linux/​7/​html/​system_administrators_guide/​chap-managing_services_with_systemd
 +  * ArchLinux SystemD: https://​wiki.archlinux.org/​index.php/​systemd
  
 =====  4. KDE ===== =====  4. KDE =====
Línea 844: Línea 916:
 === Rangos de direcciones IP privadas para cada clase === === Rangos de direcciones IP privadas para cada clase ===
  
-  ***Clase A**: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts) +  ***Clase A**: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts, 16777214 hosts disponibles), 1 red clase A 
-  ***Clase B**: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts). 16 redes clase B contiguas +  ***Clase B**: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts, 65534 hosts disponibles). 16 redes clase B contiguas 
-  ***Clase C**: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts). 256 redes clase C contiguas+  ***Clase C**: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts, 254 hosts disponibles). 256 redes clase C contiguas
  
 Si bien a bajo nivel la conexión entre equipos se realiza utilizando direcciones IP, para simplificar el trabajo humano y no tener que recordar los números de direcciones,​ se utilizan nombres de host y un sistema de resolución de nombres en su correspondiente dirección IP: Domain Name Service (DNS). Si bien a bajo nivel la conexión entre equipos se realiza utilizando direcciones IP, para simplificar el trabajo humano y no tener que recordar los números de direcciones,​ se utilizan nombres de host y un sistema de resolución de nombres en su correspondiente dirección IP: Domain Name Service (DNS).
Línea 867: Línea 939:
 # The primary network interface # The primary network interface
 auto eth0 auto eth0
-# iface eth0 inet dhcp 
 iface eth0 inet static iface eth0 inet static
     address 192.168.11.1     address 192.168.11.1
Línea 874: Línea 945:
     broadcast 192.168.11.255     broadcast 192.168.11.255
     dns-nameservers 192.168.11.11 192.168.11.12     dns-nameservers 192.168.11.11 192.168.11.12
-    dns-search ​fmsi+    dns-search ​axrglobal
     gateway 192.168.11.254     gateway 192.168.11.254
 +</​code>​
 +
 +Si se configura la interfaz con DHCP, el archivo interfaces se reduce a:
 +
 +<​code>​
 +# The loopback network interface
 +auto lo
 +iface lo inet loopback
 +
 +# The primary network interface
 +auto eth0
 +iface eth0 inet dhcp
 </​code>​ </​code>​
  
linuxbasico.1551696051.txt.gz · Última modificación: 2019/03/04 07:40 por fmolinuevo