CE.CA.T.I. No. 89 Celaya, Gto. (Secretaría Educación Pública)



Presentación de la Unidad

Instalación de paquetes con repositorios

LINUX – CentOS

En el momento que un usuario novel empieza a usar Linux hay muchos conceptos que desconoce. Uno de estos conceptos son los repositorios detallaré de la forma más clara posible:

Repositorios

Como funciona un repositorio

Configurar tarjeta de red

LAMP

Echo

Agregar paquetes necesarios

Google Chrome

Instalar MySQL

Apache2

Firewall para Apeche2

Instalar PHP

MySQL Obtener soporte en PHP

Instalacion_de_phpMyAdmin.

Instalamos el servidor SFTP

Conexion remota ssh

Servidores DNS

Soporte para NTFS.

Comando lsmod

Comando modprobe

Webmin

Mas comandos en CLI

Comando lshw

Comando dmidecode

Comando top

Comando atop

Ver los procesos en ejecucion

Comando pstree

Matar procesos zombi

Comando lscpu

Comando hwinfo

Script Inxi

Comando lsblk

Comando df

Comando fdisk

Comando free

Directorio /proc

Comando hdparm

Comando sysbench

Comando dmesg

Comando uname

Comando lsb_release

Comando lspci

Comando lsscsi

Aplicacions adicionales

GIMP

Scribus

Inkscape

VIM

Bluefish

Netbeans

Como agregar multimedia a CentOS 9

Instalacion de DosBox

Instalacion de Sublime 3

Shutter

Vokoscreen

nmap Zenmap

Snap

Instalador de aplicaciones de CentOS

Instalar CodeBlocks

Instalar Python

Instalar brasero

Instalar Xsane

con su - podemos ver / editar los directorios del sistema, !ATENCION, SI NO SABES QUE ESTAS HACIENDO PUEDES DAÑAR EL SISTEMA OPERATIVO:


    ¿Qué es un repositorio?

    ¿Cómo funciona un repositorio?
    ¿Qué ventajas nos proporciona instalar software a través de un repositorio?

¿QUÉ SON LOS REPOSITORIOS EN LINUX?

Si hacemos referencia al ámbito de Linux, un repositorio es un servidor accesible mediante internet que almacena paquetes y programas para que nosotros los podamos descargar e instalar en nuestra distribución GNU-Linux.

Cada una de las distribuciones GNU-Linux dispone de sus propios repositorios en los que se hallan los programas que nosotros podemos instalar en nuestro equipo. Aparte de los repositorios propios de cada una de las distribuciones, también podemos añadir y usar repositorios de terceros que contendrán versiones más actuales del software que tenemos instalado o programas que no han incluido los creadores de la distro que usamos.

Los gestores de paquetes, como por ejemplo Apt, YaST o Pacman, son las herramientas que usaremos para descargar e instalar el software de un repositorio.

¿Cómo funciona un repositorio?

Con el gestor de paquetes nos conectaremos al repositorio de internet que contiene los paquetes que queremos descargar. Antes de empezar la descarga, mediante un par de claves asimétricas, un sistema de firmas y una función hash (es una función matemática utilizada en criptografía donde las más comunes agarran entradas de longitudes versátiles para restituir salidas de una longitud permanente) se comprobará que los paquetes a descargar provienen de un repositorio seguro y no han sido modificados por nadie.

Una vez realizada la comprobación se descargaran los paquetes y dependencias necesarias.

Una vez descargados los paquetes se procederá a la instalación de los mismos.

Están libres de colisiones o “collision-free”: significa que no se deben asignar dos hashes de entrada al mismo hash de salida.
Pueden ocultarse: debería ser difícil adivinar el valor de entrada de una función hash a partir de su salida.
Deben ser amigables con los rompecabezas: tiende a ser complicado seleccionar una entrada que proporcione una salida predefinida, por lo tanto, debe ser elegida de una distribución que sea lo más amplia posible.

VENTAJAS QUE PROPORCIONAN LOS REPOSITORIOS

Instalar software a nuestro equipo de forma mucho más sencilla que en otros sistemas operativos. En Linux nunca tendremos la necesidad de buscar y descargar programas de Internet. Cabe recordar que muchas de las infecciones en Windows se producen al instalar software proveniente de sitios de dudosa reputación.

Tendremos la seguridad que el software instalado proviene de una fuente segura y esta libre de malware. Los repositorios de donde nos descargamos los programas disponen de las medidas de seguridad necesarias para asegurar que los programas descargados están libres de Virus y Malware.

El proceso de actualización del sistema operativo es mucho más sencillo. En el momento que se actualizan los repositorios podremos actualizar fácilmente nuestro sistema operativo mediante nuestro gestor de paquetes.

DESVENTAJAS QUE PROPORCIONAN LOS REPOSITORIOS

El uso de repositorios únicamente presenta la siguiente desventaja frente otros sistemas operativos.

En el caso que queramos instalar un programa o actualizar el sistema operativo precisamos de una conexión de internet. Esto es así por que descargar la totalidad de dependencias de un programa de forma manual exige demasiado tiempo.

En lo particular para mi esto no es ningún tipo de desventaja porque hoy en dia todo el mundo dispone de conexión a Internet, pero lo cito porque para algunos se ve que si lo es un problema. No obstante, si algún día se generaliza el uso de los paquetes Flatpak o Snap este inconveniente desaparecería por completo.

EPEL es un repositorio usado para instalar paquetes de software de terceros en sistemas basados en RedHat como RHEL y CentOS.

Los repositorios  EPEL (Extra Packages for Enterprise Linux) contiene paquetes de software extra, como su nombre lo indica, para el entorno empresarial. Para activarlo sólo necesitamos ingresar instalarlo con:


yum install epel-release

o bien


dnf install epel-release

en esta version CentOS Stream 9 (o solo CentOS 9), se agrego el control de repositorios (instalar programas)

El comando Yum (abreviatura de yellowdog updater modified), es una herramienta de administración de software, usada para instalar, actualizar y eliminar grupos de paquetes, así como sus dependencias en distribuciones Linux basados en RPM como red hat, feedora, centos y otros.

dnf es una utilidad totalmente reescrita a partir de su herramienta predecesora, Yellowdog Updater (YUP), y fue desarrollada principalmente para actualizar y controlar los sistemas Red Hat utilizados en el departamento de física de la Universidad de Duke. Desde entonces, ha sido adoptada por Fedora, CentOS, y otras distribuciones de GNU/Linux basadas en RPM, incluyendo el mismo Yellow Dog, donde reemplazó a la utilidad original YUP.

DNF o Dandified YUM es la próxima generación de YUM. En comparación con YUM, DNF tiene una mejor utilización de la memoria, una gestión de dependencias mejorada y la capacidad de ejecutarse con Python 2 y Python 3.

DNF es el sistema de administración de paquetes predeterminado en la mayoría de las distribuciones de Linux basadas en RPM ahora. DNF descarga paquetes de repositorios, instala, desinstala y actualiza paquetes.

Puedes usar cualquera ambos estan relacionados. Aunque es probable qie dnf presente algunos mensajes de error, o no te permita instalar algun software por que no encuentra la firma de gpg no hay problema podemos omitir la verificacion de gpg.

Se puede usar de esta manera donde al revisar los paquetes y sus dependencias se solicitara si desea continuar, no continuar, o cancelar, la forma mas usual es : yum install package -y, o dnf install package -y con lo cual instala el paquete sin confirmar

RPM  Package Manager (o RPM, originalmente llamado Red Hat Package Manager, pero se convirtió en acrónimo recursivo​) es una herramienta de administración de paquetes pensada para GNU/Linux. Es capaz de instalar, actualizar, desinstalar, verificar y solicitar programas. RPM es el formato de paquete de partida del Linux Standard Base.

para realizar estas operacion debemos tener derechos de root, de ejecucion, hay que abrir una terminal y logearse como root,

ahora proseguimos con el comando dnf o yum

por lo tanto seria de esta forma: dnf install epel-release -y

se mostrara un mesaje de error : Error al cargar el complemento "config_manager": '*prog'

esto se debe que dnf usa el el plugin de idioma para el ingles, y estos usando en español,  en el UTF-8, no hay interferencia o problema al usarlo asi.


Configurar tarjeta de red

Es momento para conocer como se configura la tarjeta de red, porque ?..  podemos dejar de forma automática nuestro numero, sin embargo para tener los servicios de virtualización, pagina web, servidor Apache, ftp, etc. requieren de un numero fijo en la red, y que el servidor(es), pueden ser identificado(s) en la red, y por otras situaciones como por ejemplo, en un momento dado podemos apagar el servidor por mantenimiento, falla eléctrica, u otra situación el numero que esta asignado cambiara, y nos veremos en problemas porque no localizamos al servidor, para evitar esto debemos asignar un numero fijo al servidor, y necesitamos conocer ciertos elementos de la red, y de nuestro equipo primero debemos conocer el nombre de la interface de red, si no conocemos el nombre de la interface, podemos obtenerla de la siguiente forma, el texto en negritas es la interfaces de red (debajo de la imagen):

usando el comando ifconfig, es para revisar los servicios de red y sus números ip, actualmente asignados de forma automatica, es decir en DHCP  (Protocolo de Configuración Dinámica de Host) es un método para asignar direcciones IP en forma automática a clientes de red.) El valor dependerá del los parámetros de la red que esta siendo usada, en este caso es:



[root@asus-centos9 ~]# ifconfig
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.12  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::4216:7eff:feb2:b1b0  prefixlen 64  scopeid 0x20<link>
        ether 40:16:7e:b2:b1:b0  txqueuelen 1000  (Ethernet)
        RX packets 1332480  bytes 1685078065 (1.5 GiB)
        RX errors 0  dropped 4147  overruns 0  frame 0
        TX packets 692634  bytes 282030319 (268.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 3894  bytes 236074 (230.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3894  bytes 236074 (230.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@asus-centos9 ~]#


Identificadores para las tarjetas de red se crean en base a ciertas reglas y patrones que ahora se toman en cuenta para nombrar los dispositivos de red.

Los nombres tienen 2 caracteres como prefijos basados en el tipo de interface:

1. en para Ethernet,

2. wl para wireless LAN (WLAN),

3. ww para wireless wide area network (WWAN).

Los nombres tienen los siguientes tipos:


Formato

Descripción

o<index>

Numero de dispositivo on-board

s<slot>[f<function>][d<dev_id>]

hotplug slot index number

x<MAC>

MAC address

p<bus>s<slot>[f<function>][d<dev_id>]

PCI geographical location

p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]

USB port number chain


Teniendo esto en cuenta entonces enp2s0


en = Ethernet

p  = bus de datos numero 2

s   = slot (en el lugar donde la motherboard se encuentra la trajeta de red)

0   = esta en la primer posicion del slot

Configuración de las tarjetas de red y sus direcciones IP asignadas (observe con cuidado la seccion ens3),

 inet 192.168.122.167                  netmask 255.255.255.0                     broadcast 192.168.122.255: 

     este es el ip                                 marcara de red                            ip por donde se comunican los hosts de la red


Desde la versión CentOS Stream 9 en adelante, se ha suprimido la carpeta /etc/sysconfig/network-scripts/, donde antes de almacenaban los ficheros de configuración de red de cada adaptador. Explicamos cómo modificar los datos de red de un adaptador (IP, DNS, puerta de enlace/gateway, etc) en Linux CentOS Stream 9.

Obtener información de los adaptadores de red en CentOS Stream 9
En primer lugar obtendremos información del adaptador actual del equipo Linux CentOS 9 con el comando:

ip a

Nos devolverá los adaptadores de red y su IP asignada actualmente:





También podremos usar el comando:

nmcli device status

Nos mostrará los adaptadores de red y su estado:



Y si queremos ver toda la información de un adaptador de red, lo que antes encontrábamos en el fichero ifcfg-xx de la carpeta /etc/sysconfig/network-scripts/, usaremos el comando:


nmcli connection show enp2s0




en detalle es lo siguiente:

[root@asus-centos9 ~]# nmcli connection show enp2s0
connection.id:                          enp2s0
connection.uuid:                        cd90545d-45d4-38ba-92bc-a113b2f0add8
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp2s0
connection.autoconnect:                 sí
connection.autoconnect-priority:        -999
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1682598456
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     desconocido
connection.lldp:                        default
connection.mdns:                        -1 (default)
connection.llmnr:                       -1 (default)
connection.dns-over-tls:                -1 (default)
connection.mptcp-flags:                 0x0 (default)
connection.wait-device-timeout:         -1
connection.wait-activation-delay:       -1
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          no
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --
802-3-ethernet.mtu:                     auto
802-3-ethernet.s390-subchannels:        --
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            --
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
ipv4.method:                            auto
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         --
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.replace-local-rule:                -1 (default)
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                      --
ipv4.dhcp-iaid:                            --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                sí
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                             --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                       no
ipv4.may-fail:                             sí
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.link-local:                           0 (default)
ipv4.dhcp-reject-servers:               --
ipv4.auto-route-ext-gw:            -1 (default)
ipv6.method:                            auto
ipv6.dns:                                  --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.addresses:                         --
ipv6.gateway:                           --
ipv6.routes:                              --
ipv6.route-metric:                      -1
ipv6.route-table:                       0 (unspec)
ipv6.routing-rules:                      --
ipv6.replace-local-rule:                -1 (default)
ipv6.ignore-auto-routes:             no
ipv6.ignore-auto-dns:                 no
ipv6.never-default:                     no
ipv6.may-fail:                             sí
ipv6.required-timeout:                  -1 (default)
ipv6.ip6-privacy:                        -1 (unknown)
ipv6.addr-gen-mode:                     eui64
ipv6.ra-timeout:                          0 (default)
ipv6.mtu:                                    auto
ipv6.dhcp-pd-hint:                        --
ipv6.dhcp-duid:                            --
ipv6.dhcp-iaid:                             --
ipv6.dhcp-timeout:                      0 (default)
ipv6.dhcp-send-hostname:                sí
ipv6.dhcp-hostname:                     --
ipv6.dhcp-hostname-flags:               0x0 (none)
ipv6.auto-route-ext-gw:                 -1 (default)
ipv6.token:                                     --
proxy.method:                                none
proxy.browser-only:                         no
proxy.pac-url:                                   --
proxy.pac-script:                               --
GENERAL.NAME:                             enp2s0
GENERAL.UUID:                              cd90545d-45d4-38ba-92bc-a113b2f0add8
GENERAL.DEVICES:                        enp2s0
GENERAL.IP-IFACE:                         enp2s0
GENERAL.STATE:                            activada
GENERAL.DEFAULT:                        sí
GENERAL.DEFAULT6:                       no
GENERAL.SPEC-OBJECT:                    --
GENERAL.VPN:                               no
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveC>
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Setting>
GENERAL.ZONE:                               --
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                           192.168.1.12/24
IP4.GATEWAY:                                192.168.1.1
IP4.ROUTE[1]:                               dst = 192.168.1.0/24, nh = 0.0.0.0, mt >
IP4.ROUTE[2]:                               dst = 0.0.0.0/0, nh = 192.168.1.1, mt =>
IP4.DNS[1]:                                   192.168.1.1
DHCP4.OPTION[1]:                        dhcp_client_identifier = 01:40:16:7e:b2>
DHCP4.OPTION[2]:                        dhcp_lease_time = 86400
DHCP4.OPTION[3]:                        dhcp_server_identifier = 192.168.1.1
DHCP4.OPTION[4]:                        domain_name_servers = 192.168.1.1
DHCP4.OPTION[5]:                        expiry = 1682684855
DHCP4.OPTION[6]:                        ip_address = 192.168.1.12
DHCP4.OPTION[7]:                        requested_broadcast_address = 1
DHCP4.OPTION[8]:                        requested_domain_name = 1
DHCP4.OPTION[9]:                        requested_domain_name_servers = 1
DHCP4.OPTION[10]:                       requested_domain_search = 1
DHCP4.OPTION[11]:                       requested_host_name = 1
DHCP4.OPTION[12]:                       requested_interface_mtu = 1
DHCP4.OPTION[13]:                       requested_ms_classless_static_routes = 1
DHCP4.OPTION[14]:                       requested_nis_domain = 1
DHCP4.OPTION[15]:                       requested_nis_servers = 1
DHCP4.OPTION[16]:                       requested_ntp_servers = 1
DHCP4.OPTION[17]:                       requested_rfc3442_classless_static_rout>
DHCP4.OPTION[18]:                       requested_root_path = 1
DHCP4.OPTION[19]:                       requested_routers = 1
DHCP4.OPTION[20]:                       requested_static_routes = 1
DHCP4.OPTION[21]:                       requested_subnet_mask = 1
DHCP4.OPTION[22]:                       requested_time_offset = 1
DHCP4.OPTION[23]:                       requested_wpad = 1
DHCP4.OPTION[24]:                       routers = 192.168.1.1
DHCP4.OPTION[25]:                       subnet_mask = 255.255.255.0
IP6.ADDRESS[1]:                         fe80::4216:7eff:feb2:b1b0/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024

Siendo «enp2s0» el nombre del adaptador de red, que hemos obtenido con los comandos anteriores (es muy probable que en su computadora este nombre sera diferente segun su tarjeta de red).

Nos devolverá toda la información: IP, DNS, gateway, nombre de la interfaz, uuid, id, tipo, estado, …

Cambiar la IP, DNS y puerta de enlace en equipo Linux CentOS 9

Para cambiar la IP de un adaptador de red, ejecutaremos el siguiente comando:

nmcli connection modify enp2s0 ipv4.address 192.168.1.100/24

El comando anterior establecerá la IP 192.168.1.100 con subred /24 para el adaptador enp7s0

Para establecer la IP como estática (manual) sin DHCP, ejecutaremos este comando:

nmcli connection modify enp2s0 ipv4.method manual

Para establecer la puerta de enlace ejecutaremos el comando:


nmcli connection modify enp2s0 ipv4.gateway 192.168.1.1

Que establecerá el gateway 192.168.1.1 para el adaptador enp2s0

Y, por último, para establecer los DNS, ejecutaremos el comando:


nmcli connection modify enp2s0 ipv4.dns '1.1.1.1 8.8.8.8'

Que establecerá los DNS 1.1.1.1 y 8.8.8.8. en primer numero es el dns primario y el segundo el dns secunario.

Para aplicar los cambios ejecutaremos el siguiente comando:

nmcli connection up enp2s0

De la misma forma que hemos hecho anteriormente para IPv4, se puede establecer la configuración de red IPv6, por ejemplo, para establecer los DNS:

nmcli con mod enp2s0 ipv6.dns '2001:4860:4860::8888 2001:4860:4860::8844'

Ahora reinicie el servicio de red con el comando.


systemctl restart network


si hay un problema al reiniciar y no lo realiza usa esto, como root :


ip addr flush enp2s0

Este limpia los valores del servicio de red, y cache que pudiera contener

2.- Segundo método, usarlos desde GUI, como root:

Pasamos a Otras -> Configuracion:



Opción Red:



La detalle de la opción red:





se puede apreciar que el cuadro de check Conectar automáticamente, es la equivalente que se marco en el archivo de configuracion con el parámetro ONBOOT="yes"

en la sección Identidad, vemos la asignación de la tarjeta de red.



en la seccion de IPv4


observamos los valores asignados en la configuracion, para los valores ip, netmask, y gateway (Puerta de enlace)

y por ultimo los valores para IPv6, se deja en automático

para terminar solo hacer clic en el botón aplicar.

Cómo averiguar la dirección MAC de tu equipo

Las direcciones MAC se pueden consultar en todos los sistemas operativos modernos en la terminal, tanto en el sistema local como de forma remota en la red. La siguiente tabla muestra los comandos correspondientes para los sistemas operativos más comunes.

Tabla: Leer dirección MAC

SISTEMA OPERATIVO

COMANDO TERMINAL

REMOTO

NetBSD

ifconfig -a

arp -a

OpenBSD

ifconfig -a

arp -a

Linux

ip link

ip neigh

Mac OS X / macos

ifconfig

arp -a

Solaris

ifconfig -a

arp -a

Windows

ipconfig /all

arp -a


Instalación de Linux Apache Mysql Php (LAMP) CentOS Stream 9


Se muestra como puede instalar el servidor web  (Webserver) Apache2 en el servidor CentOS 9, con soporte (PHP) y MySQL.

Nota preliminar

En este procedimiento usaremos el nombre del hostname (127.0.0.1) o bien el ip de la maquina local, primero debemos tener el repositorio EPEL y EPEL-EXTRAS para instalar el phpMyAdmin, de la siguiente forma:

Para instalar el repositorio EPEL en centos se debe descargar un archivo RPM e instalarlo de forma manual en tu servidor Centos, o bien como se menciono anteriormente en la unidad 1.

En el siguiente enlace se encuentra la instalación de LAMP para LOC-OS22

Para proceder debemos de asignar ciertos parámetros a nuestro servidor.

primero debemos asignar un nombre al servidor, para ello debemos de modificar la asignacion del nombre y dominio del servidor, debemos editar con vi el archivo de configuración:

1.- veamos la configuracion del archivo hosts, (recordar que es necesario ingresar como superususrio (su -) a través de la terminal:

[msantos@alienware ~]$ su -
Contraseña:
Último inicio de sesión:mié sep  7 16:06:16 CDT 2022en pts/0
[root@alienware ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Asignación de parámetros de red.

Esto es necesario para poder asignar los servicios de forma local, bases de datos, programacion, servicios web, etc.
Debe modificarse con un editor de textos el fichero vi /etc/hosts, y debe verificarse que este diferenciado del nombre del sistema, el cual deberá estar asociado a una de las direcciones IP, específicamente la que esté asociado a dicho nombre en el servidor del sistema de nombres de dominio (DNS) si se cuenta con uno en la red local, para poder realizar el cambio deberemos iniciar una terminal y usar su -, y editarlo con vi,  vi /etc/hosts
[msantos@asus-centos9 ~]$ su -
Contraseña:
[root@asus-centos9 ~]# vi /etc/hosts




presionamos la tecla i , para insertar algo similar a esto :

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.12    asus-centos9.net       asus-centos9

~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
~                                                                                     
-- INSERT --


es una sugerencia este nombre, no puede haber 2 servidores con el mismo nombre, asignen su servidor con otro nombre pero el dominio deberá ser .net, y el ip deberá se el el de la maquina actual, el ip que asignamos cuando configuramos la tarjeta de red, que deberan ser iguales en la trarjeta de red y el hosts


el numero 192.168.1.12 lo tomaremos de


[root@asus-centos9 ~]# ifconfig
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.12  netmask 255.255.255.0  broadcast 192.168.1.255


o bien un numero diferente dentro del segmento de red, que se determine para servidores muchos prefieren poner los numeros mas altos del segmento de red, por el contrario otros prefieren colocar los valores del segmento con el valor inmediato superior al ip del router, es segun sus preferencias de administracion, puede ser 192.168.1.254, para maquinas individuales en una red y serian consideradas como servidor.

para terminar la edicion presionamos la tecla Esc :wq

Resolución de Nombres de Dominio: cat /etc/resolv.conf

[root@asus-centos9 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search net
nameserver 192.168.1.12
[root@asus-centos9 ~]#

Mostrar el contenido del archivo HOSTS:

Nombre del equipo, tal y como se verá en la red local:


[root@asus-centos9 ~]# cat /etc/hostname
asus-centos9.net
[root@asus-centos9 ~]#


si fuera diferente debemos editar este archivo

vi /etc/hostname

cambiando su contenido al nombre del dominio establecido en hosts

asus-centos9.net


echo

Cómo funciona exactamente el comando Echo de Linux y qué aspecto tiene? He aquí la sintaxis general del comando:

Nota

La interfaz de usuario o el intérprete de la línea de comandos Shell también se conoce como Bash-Shell. Bash es el Shell estándar en las distribuciones de Linux y la ventana de texto en la que se introducen los comandos. El programa echo es una parte fundamental y está preinstalado en todos los sistemas.

En nuestro primer ejemplo mostramos un texto y el contenido de las variables en el Bash o terminal. Para escribir el texto “Esto es un ejemplo”, introduce el siguiente código en el terminal:


[msantos@alienware ~]$ echo Esto es un ejemplo
Esto es un ejemplo


Para evitar errores más adelante, te recomendamos que pongas el texto entre comillas:


[msantos@alienware ~]$ echo "Esto es un ejemplo"
Esto es un ejemplo
[msantos@alienware ~]$


En el siguiente paso, queremos mostrar una variable. Aquí basta con introducir el nombre de la variable, como PWD (de “print working directory” o imprimir directorio de trabajo). El comando tendría entonces el siguiente aspecto:

[msantos@alienware ~]$ echo $PWD
/home/msantos
[msantos@alienware ~]$

También existe la posibilidad de combinar la visualización de variable con texto, como en este ejemplo:

[msantos@alienware ~]$ echo "Estas en el directorio "$PWD
Estas en el directorio /home/msantos

¿Qué caracteres de control hay para echo?


Ya has entendido el principio básico del comando Echo de Linux, en el próximo paso aprenderás qué caracteres de control puedes utilizar en combinación con el comando. Por carácter de control nos referimos a los caracteres que no se ven directamente en la pantalla sino que designan conceptos como el inicio o final del texto o el salto de línea.


Atención: Echo solo entiende a los caracteres de control que colocan la opción -e. En el siguiente ejemplo, “\n” solo se reproduce como texto. (El carácter de control “\n” indica una línea nueva, o un salto de línea).

Atención: Echo solo entiende a los caracteres de control que colocan la opción -e. En el siguiente ejemplo, “\n” solo se reproduce como texto. (El carácter de control “\n” indica una línea nueva, o un salto de línea).

[msantos@alienware ~]$ echo "\n"
\n

Sin embargo, si añades una -e, como en el siguiente ejemplo, se producirá en tu texto un salto de texto:

[msantos@alienware ~]$ echo -e "SALTO DE LINEA" "\n" "AQUI"
SALTO DE LINEA
 AQUI


En resumen echo muestra los valores de variables existentes o creadas por el usuario.

Una vez que se tiene este paquete instalado el repositorio EPEL se encontrará configurado para que sea utilizado por el comando dnf. Solo necesitas validar que el repositorio se encuentra operando.

[root@asus-centos9 ~]# dnf repolist
Error al cargar el complemento "config_manager": '*prog'
id del repositorio            nombre del repositorio
appstream                     CentOS Stream 9 - AppStream
baseos                           CentOS Stream 9 - BaseOS
epel                               Extra Packages for Enterprise Linux 9 - x86_64
epel-next                       Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common             CentOS Stream 9 - Extras packages

[root@asus-centos9 ~]#



Qué hacer después de instalar CentOS Stream 9

1.- Estos pasos son para agregar aplicaciones (paquetes) al sistema de LINUX.

use:

dnf repolist

(veremos que repositorios del sistema estan insalados)


Sugerencia revisen los menús dentro de Aplicaciones, y anoten ( o su defecto revisen los menús y las aplicaciones que hay en ellos, para que observen que cambios se van realizando)

Como root ejecutamos

dnf install epel-release
dnf install --nogpgcheck gstreamer1-plugins-good gstreamer1-plugins-bad-free gstreamer1-plugins-ugly-free

NOTA: durante la instalación inicial, se han instalado algunos de estos plugins para lograr el inicio del en enterono grafico , para X11, y Qt5, si reporta que no es posible la instalacion ya que existe una version anterior, actualice el gstreamer1-plugin-ugly, en primer lugar y proceda al instalar / actualizar los otros plugins, si borra el plugin-ugly desintalara el controlador de ambiente gráfico, no podría ejecutarlo de nuevo.

aquí muestro el error que se puede presentar, al instalar el plugin de good, comenzando la instalación:

y se muestra el error que esta haciendo conflicto con plugin ugly:

y lo que debemos hacer es actualizar primero plugin ugly:

dnf update gstreamer1-plugins-ugly-free




y después instalamos good



y terminamos con plugin bad

y si esto no llega a funcionar por alguna situacion ajena, no logras descargar,  puedes desrcargarlos desde estos links:


gstreamer1-plugins-bad-free-1.22.1-1.el9.x86_64.rpm

gstreamer1-plugins-good-1.22.1-1.el9.x86_64.rpm

gstreamer1-plugins-good-gtk-1.22.1-1.el9.x86_64.rpm

gstreamer1-plugins-ugly-free-1.22.1-1.el9.x86_64.rpm

ya descargados de cualquier metodo  ingrese a una terminal y como su -, pase al directorio de Descargas del usuario que ingresaste y use esto:

dnf localinstall --nogpgcheck gstreamer1-plugins-bad-free-1.22.1-1.el9.x86_64.rpm

dnf localinstall --nogpgcheck gstreamer1-plugins-good-1.22.1-1.el9.x86_64.rpm

dnf localinstall --nogpgcheck gstreamer1-plugins-good-gtk-1.22.1-1.el9.x86_64.rpm  (este posiblemente se instale automáticamente)

dnf localinstall --nogpgcheck gstreamer1-plugins-ugly-free-1.22.1-1.el9.x86_64check .rpm

o bien al descargarlos estos .rpm y se instalan asi (las descargas generalmente se en ecuentran en Descargas:

rpm -ivh gstreamer1-plugins-bad-free-1.22.1-1.el9.x86_64.rpm

rpm -ivh gstreamer1-plugins-good-1.22.1-1.el9.x86_64.rpm


rpm -ivh gstreamer1-plugins-good-gtk-1.22.1-1.el9.x86_64.rpm

rpm -ivh gstreamer1-plugins-ugly-free-1.22.1-1.el9.x86_64check .rpm


durante las actualizaciones es probable que se descargen estos paquetes debemos de observar si hay una advertencia que pudiera indicarnos que se ha instalado previamente

Google Chrome

Nos enfocaremos a instalar Google Chrome, ya que lo usaremos de forma constante.

Agregar los repositorios de Google en dnf para instalar el navegador Google Chrome y mantenerlo actualizado. Aunque es posible instalar Google Chrome descargando el paquete RPM del sitio oficial, prefiero instalarlo agregando el repositorio de Google para que Chrome se mantenga actualizado automáticamente.

Para LOC-OS:

hay 2 formas de instalar:

1) descargamos y añadimos la clave de los repositorios:

sudo wget -qO - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/googlechrome-linux-keyring.gpg

El siguiente paso es agregar un repositorio.:

sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/googlechrome-linux-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list

Actualizamos la lista de repositorios con el comando:

sudo apt update

y hacemos la instalacion:

sudo apt install google-chrome-stable

con esto se agregara al menu Internet el navegador Google chrome

De forma alternativa use:
2)

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo apt install ./google-chrome-stable_current_amd64.deb


Para Centos 9

Para agregar el repositorio de Google Chrome ejecutar los siguientes comandos:

touch /etc/yum.repos.d/google-chrome.repo

vim /etc/yum.repos.d/google-chrome.repo

Luego de abrir el archivo con el editor vi pegar el siguiente contenido, dependiendo si el sistema operativo se trata de 32 o 64 bit:

Repositorio para Red Hat/Fedora/CentOS de 64 bit

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Luego de agregar el repositorio indicado, instalar Chrome mediante:

dnf install google-chrome-stable -y

(las siguientes direcciones usalas en el navegador, y descarga los paquetes, estos quedaran en el directorio Descargas)

http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

es probable en en alguna ocasión no se descargue o no encuentre el archivo esto es por mantenimiento de la pagina u otra razon, si no lo logra haga la descarga desde este link, pero antes inténtelo desde la pagina:

Puede descargar el rpm desde aqui nux-dextop-release-0-1.el7.nux.noarch.rpm, que se encuentra en este servidor.


al terminar la descarga se mostrara lo siguiente:


http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm

es probable en en alguna ocasión no se descargue o no encuentre el archivo esto es por mantenimiento de la pagina u otra razon, si no lo logra haga la descarga desde este link, pero antes inténtelo desde la pagina:

Puede descargar el rpm desde aqui adobe-release-x86_64-1.0-1.noarch.rpm, que se encuentra en el servidor.



para instalarlos se debe de iniciar como superusuario su- , y pasar al  directorio cd /home/msantos/Descargas (msantos es el usuario, en tu caso, sera tu nombre, o alias)

se usa rpm -ivh para la instalación de los paquetes descargados de internet




rpm -ivh nux-dextop-release-0-1.el7.nux.noarch.rpm
rpm -ivh
adobe-release-x86_64-1.0-1.noarch.rpm



y seguimos instalando estos paquetes

dnf install --nogpgcheck java-11-openjdk filezilla p7zip unzip zip kernel-devel dkms telnet mc wget htop ntfs-3g -y

puedes observar que ya están algunos incluidos anteriormente, pero lo hacemos por si se han actualizado

 



  si notas algunos paquetes que están aquí, son conocidos como unrar.

 dnf install --nogpgcheck lm_sensors unrar foomatic





Teniendo instalados estos paquetes hemos pasado nuestro sistema a un escritorio personalizado con una variedad de paquetes y utilerias, como vlc (visor de videos), vuelve a revisar el apartado Aplicaciones y revisa las nuevas aplicaciones instaladas, en el apartado de Gráficos, encontraras algunas aplicaciones instaladas.

Debemos de realizar una comprobacion de los paquetes antes de continuar.

Como root ejecutamos


dnf --nogpgcheck update 

dnf autoremove

Revisamos si hay alguna actualizacion pendiente, esto lo deberas de realizar de forma periodica, esto no se lleva mucho tiempo es muy rapido, te suguiero que lo hagas 1 vez a la semana.

2 Instalando MySQL


Para instalar MySQL que ahora sera MariaDB, se instala con yum asi:

dnf install --nogpgcheck mariadb-server mariadb -y




Cuando se instala se debe de iniciar de forma automática cuando inicia el sistema, iniciando el servidor MySQL (MariaDB)

(MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Está desarrollado por Michael (Monty) Widenius (fundador de MySQL) y la comunidad de desarrolladores de software libre. Introduce dos motores de almacenamiento nuevos, uno llamado Aria -que reemplaza con ventajas a MyISAM- y otro llamado XtraDB -en sustitución de InnoDB. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, APIs y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente. Este SGBD surge a raíz de la compra de Sun Microsystems -compañía que había comprado previamente MySQL AB2 - por parte de Oracle. MariaDB es un fork “es la creación de un proyecto en una dirección distinta de la principal u oficial tomando el código fuente del proyecto ya existente” directo de MySQL que asegura que permanecerá una versión de este producto con licencia GPL. Monty decidió crear esta variante porque estaba convencido de que el único interés de Oracle en MySQL era reducir la competencia que MySQL daba al mayor vendedor de bases de datos relacionales del mundo que es Oracle)

El nombre de Maria es el nombre de su hija menor de Monty Widenius,

systemctl start mariadb.service
systemctl enable mariadb.service


el primer comando permite establecer que MySQL inicie cuando inicia el sistema

el segundo comando establece que se active MySQL se active la iniciar el sistema es decir lo levanta (inicia el demonio, para estar a la espera de ser llamado), observe que mariadb es el programa que llama al MySQL

en otras palabras este comando permite la inicialización del servidor mariaDB, y habilita el servicio cuando el servidor inicia de nuevo.

en este punto el profesor te indicara cuales son las características y propiedades de la siguiente instalación ya se usara para los siguientes cursos como programación orientada a objetos, manejos de bases de datos, y aplicaciones web.

Establecemos el password para MySQL para cuenta de root:

[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
 SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <EN ESTA PARTE SOLO PRESIONAR ENTER
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y (aquí debemos de contestar Y “YES”)
New password: <--su password de root
Re-enter new password:
<--su password de root
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <--ENTER
 ... Success!


Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <--ENTER
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <--ENTER
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <--ENTER
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

[root@server1 ~]#

3 Instalando Apache2 (servidor web)

servidor web desarrollado por Apache Software Foundation lleva en funcionamiento desde 1995. El nombre Apache se refiere a la tribu de los nativos americanos, conocidos por su gran resistencia en el combate y por sus estrategias de guerra.

CentOS Stream 9 trae consigo Apache 2.4, o superior, esta directamente disponible como paquete, y puede ser instalado de esta forma:

dnf install httpd -y


Por default Apache puede ser instalado

Podemos verificar la version del servidor Apache:

[root@asus-centos9 ~]# httpd -v
Server version: Apache/2.4.53 (CentOS Stream)
Server built:   Jan 30 2023 00:00:00
[root@asus-centos9 ~]#


Ahora configure su sistema para que Apache inicie cuando sea momento de iniciar el equipo

systemctl start httpd.service
systemctl enable httpd.service



al igual que anteriormente comentamos estos comandos son para cuando inicia el sistema inicie el servidor http y se habilite cuando inicie

Firewall para Apache2

CentOS Stream 9 usa Firewall-cmd, entonces puede personalizarse para acceso externo al puerto 80 (http) y 443 (https). es para seguridad del servidor cuando intenten atacar al servidor WEB.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload


Ahora desde su navegador en la barra de dirección escriba:


http://127.0.0.1, o bien localhost y veremos la pagina local de Apache, que indica que esta en funcionamiento el servidor:



Módulos

La arquitectura del servidor Apache es muy modular. El servidor consta de una sección core y diversos módulos que aportan mucha de la funcionalidad que podría considerarse básica para un servidor web. Algunos de estos módulos son:

    mod_ssl - Comunicaciones Seguras vía TLS.

    mod_rewrite - reescritura de direcciones (generalmente utilizado para transformar páginas dinámicas como php en páginas estáticas html para así engañar a los navegantes o a los motores de búsqueda en cuanto a cómo fueron desarrolladas estas páginas).

    mod_dav - Soporte del protocolo WebDAV (RFC 2518).

    mod_deflate - Compresión transparente con el algoritmo deflate del contenido enviado al cliente.

    mod_auth_ldap (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). - Permite autentificar usuarios contra un servidor LDAP.

    mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de páginas dinámicas en Java (servlets y JSP).

    mod_cfml - Conector CFML usado por Railo.


El servidor de base puede ser extendido con la inclusión de módulos externos entre los cuales se encuentran:


    mod_cband - Control de tráfico y limitador de ancho de banda.

    mod_perl - Páginas dinámicas en Perl.

    mod_php - Páginas dinámicas en PHP.

    mod_python - Páginas dinámicas en Python.

    mod_rexx - Páginas dinámicas en REXX y Object REXX.

    mod_ruby - Páginas dinámicas en Ruby.

    mod_aspdotnet - Páginas dinámicas en .NET de Microsoft (Módulo retirado).

    mod_mono - Páginas dinámicas en Mono

    mod_security - Filtrado a nivel de aplicación, para seguridad.

4 Instalando PHP5

Podemos instalar PHP5 y el modulo Apache PHP5 como sigue:

dnf  install --nogpgcheck  php

Debemos reiniciar el servicio:


 systemctl restart httpd.service

5 Probando PHP5 / Obtener detalles acerca de la instalacion de PHP5.

La ubicación por defecto del website es /var/www/html, donde crearemos un pequeño archivo PHP (info.php) en el momento de ser solicitado por el navegador mostrara los detalles de configuracion y valores de PHP.

vi /var/www/html/info.php



Terminamos con Esc :wq

Ahora solicitamos el archivo desde el navegador (http://127.0.0.1/info.php)


Como se puede observar PHP 5 esta en funcionamiento con Apache, pero MySQL no esta en la lista ya que aun no esta soportado por PHP.

6 MySQL Obtener soporte en PHP5

Podemos instalar  el paquete php-mysql.  Y tambien instalar algunos modulos de PHP adicionales que ayudaran para la aplicaciones y desarrollos. Puede buscar los modulos disponibles de esta forma:

dnf search php

Tomamos algunos que son necesarios de esta forma:

dnf install http://rpms.remirepo.net/enterprise/remi-release-9.rpm

dnf install --nogpgcheck php php-mysqlnd php-fpm

En el siguiente paso instalamos algunos modulos que se requieren como Joomla, Drupal, CMS para wordpress

dnf  install --nogpgcheck php-gd php-ldap php-odbc php-pear php-xml php-mbstring php-snmp php-soap curl curl-devel

nota aclararatoria sobre curl al final de la pagina (1)

Ahora reiniciamos Apache:


systemctl restart httpd.service

Ahora recargamos http://localhost/info.php y si nos desplazamos hacia abajo y buscamos en los lotes, el modulo como curl etc. como aquí se observa:





7 Instalacion de phpMyAdmin.

phpMyAdmin es una interface web que puede administrar las bases de datos de MySQL


phpMyAdmin puedes ser instalado como sigue:

dnf install --nogpgcheck phpMyAdmin




Ahora podemos configurar phpMyAdmin, con la modificacion de Apache, phpMyAdmin no permite conexiones desde el localhost

vi /etc/httpd/conf.d/phpMyAdmin.conf

cada linea que tiene # al inicio, es una linea de instrucciones ignorada, esto se le llama comnetario, el archivo debe de quedar como se muestra:



Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

#<Directory /usr/share/phpMyAdmin/>
#   <IfModule mod_authz_core.c>
#     # Apache 2.4
#     <RequireAny>
#       Require ip 127.0.0.1
#       Require ip ::1
#     </RequireAny>
#   </IfModule>
#   <IfModule !mod_authz_core.c>
#     # Apache 2.2
#     Order Deny,Allow
#     Deny from All
#     Allow from 127.0.0.1
#     Allow from ::1
#   </IfModule>
#</Directory>


<Directory /usr/share/phpMyAdmin/>
        Options none
        AllowOverride Limit
        Require all granted

Require local
</Directory>




En este enlace están las configuraciones de phpMyAdmin mas usadas, advertencia, son una parte si se requiere hacer cambios específicos aparte de los que aqui se explican, deberá ser muy cuidadoso al relizarlas

lo siguiente es cambiar la autentificacion en phpMyAdmin cambiar los parametros que se muestran aqui:

vi /etc/phpMyAdmin/config.inc.php



los parámetros en color rojo deberán de estar presentes en el archivo de configuración tal como se muestran si algo fallara en el proceso, se deberá de revisar cada linea.

<?php
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in documentation in the doc/ folder
 * or at <https://docs.phpmyadmin.net/>.
 */
declare(strict_types=1);
/**
 * This is needed for cookie based authentication to encrypt the cookie.
 * Needs to be a 32-bytes long string of random bytes. See FAQ 2.10.
 */
$cfg['blowfish_secret'] = '4fff0155603a524b63816bdb05445a37'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
/**
 * Servers configuration
 */
$i = 0;
/**
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;


/**
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'pmadb';
$cfg['Servers'][$i]['bookmarktable'] = 'phpmyadmin';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';

// $cfg['Servers'][$i]['history'] = 'pma__history';
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
// $cfg['Servers'][$i]['users'] = 'pma__users';
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
/**
 * End of servers configuration
 */

/**
 * Directories for saving/loading files from server
 */
$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload';
$cfg['SaveDir'] = '/var/lib/phpMyAdmin/save';



en resumen los siguentes parametros deberan estar en el archivo de configuracion, si algun parametro mostrado no se encuentra en el archivo puede ser omitido

$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address 
$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket') 
$cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli') 
$cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection 
                                                    // (requires PHP >= 4.3.0) 
$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)? 
$cfg['Servers'][$i]['pmadb']         = 'pmadb';          // Database used for Relation, Bookmark and PDF Features 
                                                    // (see scripts/create_tables.sql) 
                                                    //   - leave blank for no support 
                                                    //     DEFAULT: 'phpmyadmin' 
$cfg['Servers'][$i]['bookmarktable'] = 'phpmyadmin';          // Bookmark table 
                                                    //   - leave blank for no bookmark support 
                                                    //     DEFAULT: 'pma_bookmark' 
$cfg['Servers'][$i]['relation']      = 'pma_relation';          // table to describe the relation between links (see doc) 
                                                    //   - leave blank for no relation-links support 
                                                    //     DEFAULT: 'pma_relation' 
$cfg['Servers'][$i]['table_info']    = 'pma_table_info';          // table to describe the display fields 
                                                    //   - leave blank for no display fields support 
                                                    //     DEFAULT: 'pma_table_info' 
$cfg['Servers'][$i]['table_coords']  = 'pma_table_coords';          // table to describe the tables position for the PDF schema 
                                                    //   - leave blank for no PDF schema support 
                                                    //     DEFAULT: 'pma_table_coords' 
$cfg['Servers'][$i]['pdf_pages']     = 'pma_pdf_pages';          // table to describe pages of relationpdf 
                                                    //   - leave blank if you don't want to use this 
                                                    //     DEFAULT: 'pma_pdf_pages' 
$cfg['Servers'][$i]['column_info']   = 'pma_column_info';          // table to store column information 
                                                    //   - leave blank for no column comments/mime types 
                                                    //     DEFAULT: 'pma_column_info' 
$cfg['Servers'][$i]['verbose_check'] = TRUE;        // set to FALSE if you know that your pma_* tables 
                                                    // are up to date. This prevents compatibility 
                                                    // checks and thereby increases performance. 
$cfg['Servers'][$i]['AllowRoot']     = TRUE;        // whether to allow root login 
$cfg['Servers'][$i]['AllowNoPassword']              // Allow logins without a password. Do not change the FALSE 
                                     = FALSE;       // default unless you're running a passwordless MySQL server 
$cfg['Servers'][$i]['designer_coords']              // Leave blank (default) for no Designer support, otherwise 
                                     = 'pma_designer_coords';          // set to suggested 'pma_designer_coords' if really needed 

$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload'; 
$cfg['SaveDir']   = '/var/lib/phpMyAdmin/save'; 

$cfg['PmaNoRelation_DisableWarning'] = TRUE; 

A modo de resumen estos campos de configuración deberán estar de la siguiente forma:

$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection
                                                    // (requires PHP >= 4.3.0)
$cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings
                                                    // (this user must have read-only
$cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"
                                                    // and "mysql/db" tables).
                                                    // The controluser is also
                                                    // used for all relational
                                                    // features (pmadb)
$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = '';          // MySQL user
$cfg['Servers'][$i]['password']      = '';          // MySQL password (only needed
                                                    // with 'config' auth_type)
$cfg['Servers'][$i]['only_db']       = '';          // If set to a db-name, only
                                                    // this db is displayed in left frame
                                                    // It may also be an array of db-names, where sorting order is relevant.
$cfg['Servers'][$i]['hide_db']       = '';          // Database name to be hidden from listings
$cfg['Servers'][$i]['verbose']       = '';          // Verbose name for this host - leave blank to show the hostname

$cfg['Servers'][$i]['pmadb']         = 'pmadb';          // Database used for Relation, Bookmark and PDF Features
                                                    // (see scripts/create_tables.sql)
                                                    //   - leave blank for no support
                                                    //     DEFAULT: 'phpmyadmin'
$cfg['Servers'][$i]['bookmarktable'] = 'phpmyadmin';          // Bookmark table
                                                    //   - leave blank for no bookmark support
                                                    //     DEFAULT: 'pma_bookmark'
$cfg['Servers'][$i]['relation']      = 'pma_relation';          // table to describe the relation between links (see doc)
                                                    //   - leave blank for no relation-links support
                                                    //     DEFAULT: 'pma_relation'
$cfg['Servers'][$i]['table_info']    = 'pma_table_info';          // table to describe the display fields
                                                    //   - leave blank for no display fields support
                                                    //     DEFAULT: 'pma_table_info'
$cfg['Servers'][$i]['table_coords']  = 'pma_table_coords';          // table to describe the tables position for the PDF schema
                                                    //   - leave blank for no PDF schema support
                                                    //     DEFAULT: 'pma_table_coords'
$cfg['Servers'][$i]['pdf_pages']     = 'pma_pdf_pages';          // table to describe pages of relationpdf
                                                    //   - leave blank if you don't want to use this
                                                    //     DEFAULT: 'pma_pdf_pages'
$cfg['Servers'][$i]['column_info']   = 'pma_column_info';          // table to store column information
                                                    //   - leave blank for no column comments/mime types
                                                    //     DEFAULT: 'pma_column_info'
$cfg['Servers'][$i]['history']       = '';          // table to store SQL history
                                                    //   - leave blank for no SQL query history
                                                    //     DEFAULT: 'pma_history'
$cfg['Servers'][$i]['verbose_check'] = TRUE;        // set to FALSE if you know that your pma_* tables
                                                    // are up to date. This prevents compatibility
                                                    // checks and thereby increases performance.
$cfg['Servers'][$i]['AllowRoot']     = TRUE;        // whether to allow root login
$cfg['Servers'][$i]['AllowDeny']['order']           // Host authentication order, leave blank to not use
                                     = '';
$cfg['Servers'][$i]['AllowDeny']['rules']           // Host authentication rules, leave blank for defaults
                                     = array();
$cfg['Servers'][$i]['AllowNoPassword']              // Allow logins without a password. Do not change the FALSE
                                     = FALSE;       // default unless you're running a passwordless MySQL server
$cfg['Servers'][$i]['designer_coords']              // Leave blank (default) for no Designer support, otherwise
                                     = 'pma_designer_coords';          // set to suggested 'pma_designer_coords' if really needed











Reinicamos Apache:

systemctl restart httpd.service

Después podrá acceder a phpMyAdmin con http://127.0.0.1/phpmyadmin/

en caso que presente el error

 Forbidden

You don't have permission to access /phpmyadmin/ on this server.

Hacemos lo siguiente:

vi /etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>
        Options none
        AllowOverride Limit
        Require all granted
        Order Deny,Allow
        Allow from all
</Directory>

Nota adicional:

este archivo debe de tener propiedades de -rw-r----- y de grupo como apache

chmod 640 config.inc.php
-rw-r-----. 1 root apache 4861 abr  5 17:11 config.inc.php

Para acceder a PhpMyAdmin desde el navegador, aqui algo importante, al iniciar le solicitara la contraseña de root de MySQL (mariaDB) usuario root, y password que se asigno al configurar MySQL.





Instalamos el servidor FTP

Vamos a explicarte qué es el FTP y cómo funciona, es un protocolo de intercambio de archivos que lleva 50 años con nosotros, y que es más antiguo que la propia Internet. A día de hoy todavía se utiliza en algunos contextos, aunque de cara a intercambiar archivos entre usuarios suelen utilizarse más otras alternativas como el P2P o el alojamiento en la nube.

Las siglas de FTP significan File Transfer Protocol, que se traduce como Protocolo de Transferencia de Archivos. Como su nombre indica, se trata de un protocolo que permite transferir archivos directamente de un dispositivo a otro. Actualmente, es un protocolo que poco a poco va abandonándose, pero ha estado vigente más de 50 años.

El protocolo FTP se empezó a utilizar en abril de 1971, y terminó de definir su estructura en el 73, aunque durante las décadas de los 70 y los 80 del siglo pasado fue perfeccionándose. Para que te hagas una idea, este protocolo nació antes de que existieran Internet o el correo electrónico, ya que fue uno de los componentes básicos de ARPANET, que fue esa red primigenia que luego dio lugar a Internet.

Este protocolo funciona entre ordenadores que estén conectados a una red TCP, que significa Transmission Control Protocol o Protocolo de control de transmisión. Este protocolo TCP da soporte a muchas tecnologías, entre ellas a Internet. Para que te hagas a la idea, la familia de protocolos que forman Internet se llama TCP/IP.

Pero vamos, dejándonos de palabrerías y nombres extraños, simplemente decirte que el protocolo FTP funciona para compartir archivos entre ordenadores que estén conectados a Internet, y los archivos se comparten de forma directa y sin ningún intermediario.

Cómo funciona el FTP

El funcionamiento de este protocolo es bastante sencillo. Simplemente, un ordenador A se conecta directamente a un ordenador B, y podrá ver los archivos que tiene disponible para compartir. Al verlos, simplemente podrá descargarlos directamente en el equipo que se ha conectado al otro.

Las conexiones FTP tienen una relación de cliente y servidor. Esto quiere decir que un ordenador tiene que estar configurado como servidor FTP, ese en el que se aloja el contenido, y luego tú te conectas a él como un cliente. En los ordenadores, los datos del protocolo FTP se envían a través de los puertos 20 y 21, que son los que están asignados en todos los equipos para llevar a cabo sus transferencias de archivos.

Actualmente existen varios servidores de FTP que podemos instalar en nuestro sistema. En nuestro caso hemos optado por instalar ProFTPD, ya que es bastante estable y seguro.


En cualquier caso, no deja de ser una tecnología con la que puede que te encuentres todavía alguna vez, y que es pura historia de Internet. Por lo tanto, nunca está de más poder conocerla. Nosotros, vamos a intentar explicártelo de la forma más sencilla posible, simplificando algunos conceptos de manera que lo puedas entender.

Tenemos 2 opciones de instalacion con vsftpd o sftp, este ultimo viene con putty, un acceso seguro al servidor remoto, se recomienda el segundo.


Podemos conctanos a un servidor remoto con ssh

ssh user@ip_servidor

ssh msantos@192.168.100.234

ssh es un shell seguro


Para Loc-OS22

sudo apt-get install openssh-server

SSH es un programa que permite acceder a otro ordenador a través de la red, ejecutar comandos en la máquina remota y mover ficheros entre dos máquinas. Provee autenticación y comunicaciones seguras sobre canales inseguros. Es un reemplazo de rlogin, rsh y rcp.

Es uno de los protocolos que tenemos para conectarnos de forma remota a un servidor. Está disponible para Linux y macOS, además de poder utilizar un cliente en Windows. Básicamente consiste en poder gestionar un servidor de forma remota, pero además hacerlo con seguridad.


SSH utiliza un sistema de autenticación, lo que va a aportar esa seguridad que mencionamos. Podremos comunicar dos equipos entre sí, de forma remota, y esa comunicación va a estar cifrada. Por ejemplo se utiliza para entrar en un ordenador de forma remota y utilizar para ello un nombre de usuario y contraseña.

Funciona de forma similar al protocolo Telnet, pero SSH apareció como una solución cifrada, para mantener la seguridad y evitar problemas. Se basa en el cifrado de 128 bits, lo que garantiza una protección fuerte y hace que sea realmente difícil que un intruso pueda descifrar y leer los datos que se envían o reciben. Telnet transfiere los datos en texto plano y eso es un problema.

El puerto SSH estándar asignado es el TCP 22. No obstante, ese puerto siempre puede ser cambiado si queremos. El cliente SSH va a contactar con el servidor para iniciar la conexión. Ese servidor está escuchando a través del puerto 22 o el que se le haya asignado. Posteriormente el servidor va a enviar la clave pública y comienzan a organizar los parámetros y abrir un canal seguro. El cliente inicia sesión para conectarse a ese servidor.

antes de usarlo debemos confirmar que el servicio de recepcion tenga la seguriada adaptada la pa situacion, es decir la coneccion de maquina-maquina debes estar restringido a un usuario y no a root, para ello debemos ingresar a :


vim /etc/ssh/sshd_config


en la sección siguiente se verificara un paramento:

para las versiones mas recientes


# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin prohibit-password
#StrictModes yes
MaxAuthTries 6
MaxSessions 2

#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile      .ssh/authorized_keys

#AuthorizedPrincipalsFile none


PermitRootLogin prohibit-password

 Esto impide que alguien intente entrar como root, solo queda restringido a un usuario.

MaxAuthTries 6
MaxSessions 2

Estos otros parámetros significan que, máxima cantidad de intentos por loguearse, y máximo de sesiones permitidas

para conectarse aun puerto diferente al 22:

ssh <usuario>@<host> -p <no. puerto>


ssh bandit0@bandit.labs.overthewire.org -p 2220

prueben con esto, es un servidor que tiene servicios para conectarse y probar este comando, la contraseña es: bandit0

(https://www.wikihow.com/Use-SSH)


con ssh se puede usar:

para copiar archivos desde su computadora local a la computadora a la que accede de forma remota, puede usar el comando scp:

scp /localdirectory/example1.txt <username>@<remote>:<path>copiará example1.txt a la <ruta> especificada en la computadora remota.

Puede dejar <path> en blanco para copiar a la carpeta raíz de la computadora remota.

scp <username>@<remote>:/home/example1.txt ./  moverá example1.txt desde el directorio de inicio en la computadora remota al directorio actual en la computadora local.

PuTTY es un cliente SSH, Telnet, rlogin, y TCP raw con licencia libre. Disponible originalmente solo para Windows, ahora también está disponible en varias plataformas Unix, y se está desarrollando la versión para Mac OS clásico y Mac OS X. Otra gente ha contribuido con versiones no oficiales para otras plataformas, tales como Symbian para teléfonos móviles. Es software beta escrito y mantenido principalmente por Simon Tatham, open source y licenciado bajo la Licencia MIT.

instalar putty un shell amigable para linux, para poder realizar una conexion segura a otro servidor u equipo con LINUX.



para desconectarse del equipo remoto:



se puede descargar desde aqui:


https://rpmfind.net/linux/epel/8/Everything/x86_64/Packages/p/putty-0.76-1.el8.x86_64.rpm

o lo puedes descargar desde este link:

Puede descargar el rpm desde aqui putty-0.76-1.el8.x86_64.rpm, que se encuentra en este servidor, se descargara en el directorio Descargas del usuario.

se instala con:

dnf localinstall putty-0.76-1.el8.x86_64.rpm

o puede ser con :


dnf install putty -y

Para LOC-OS22

sudo apt-get install putty

sudo apt-get update


en cualquier caso actualizamos con:

dnf update


y para acceder con un sftp

 sftp usr@ip_maquina

SFTP es un protocolo de transferencia de archivos que utiliza SSH para asegurar los comandos y los datos que se transfieren entre el cliente y el servidor. Los datos transferidos con FTP estándar no están cifrados, lo que los hace vulnerables a escuchas furtivas, interferencias o falsificaciones.

En casi todos los casos, SFTP es preferible a FTP, debido a sus características de seguridad latentes y capacidad para acoplarse a una conexión SSH.

FTP es un protocolo inseguro (no encriptado) que sólo debe utilizarse en casos limitados o en redes de confianza.

Conectar por SFTP

De forma predeterminada, SFTP utiliza el protocolo SSH para autenticar y establecer una conexión segura. Debido a esto, los mismos métodos de autenticación están disponibles que están presentes en SSH.

Si se puede conectar a la máquina mediante SSH, generalmente podrá utilizar SFTP para gestionar archivos.

Prueba de acceso SSH con el comando siguiente:


ssh username@remote_hostname_or_IP

Si le funciona, puede salir escribiendo:


exit

Podemos establecer una conexión SSH a continuación, abra una sesión de SFTP usando esa conexión emitiendo el comando siguiente:


sftp username@remote_hostname_or_IP

Si se conecta remotamente, y el indicador cambiará a un símbolo del SFTP.

antes de continuar debemos realizar un cambio importantes en el archivo de configuración de ssh, QUE SERA EN EL SERVIDOR, recuerda tiene que ser root para poder cambiar los parámetros.



Navegando con SFTP

En primer lugar, vamos a orientarnos por averiguar qué directorio estamos en este momento en el sistema remoto:


pwd

[root@asus-centos9 Descargas]# sftp msantos@192.168.1.11
msantos@192.168.1.11's password:
Connected to 192.168.1.11.
sftp> pwd
Remote working directory: /home/msantos
sftp>


Podemos ver el contenido del directorio actual del sistema remoto con otro familiar comando:


ls

[root@asus-centos9 Descargas]# sftp msantos@192.168.1.11
msantos@192.168.1.11's password:
Connected to 192.168.1.11.
sftp> pwd
Remote working directory: /home/msantos
sftp>

Podemos acceder a otro directorio con el comando:


cd

Y también ir un pasado atras con el clásico:


cd ..

Transferencia de archivos con SFTP

Transferencia de archivos remoto al sistema local


Si quisiéramos descargar del servidor remoto un archivo al folder desde el cual nos conectamos por SFTP ejecutamos el siguiente comando:


get remoteFile

El comando "get" también tiene algunos indicadores de opción. Por ejemplo, podemos copiar un directorio y todo su contenido especificando la opción recursiva:


get -r someDirectory

Podemos decir SFTP para mantener los permisos apropiados y los tiempos de acceso mediante el uso de la "-P" o la bandera "-p":


get -Pr someDirectory

Transferencia de archivos local al sistema remoto

La transferencia de archivos al sistema remoto se lleva a cabo con la misma facilidad, pero con el comando apropiado de nombre "put":


put localFile

Las mismas funciones que trabajan con "get" se aplican a "put". Así que para copiar un directorio local entero, podemos usar:


put -r localDirectory

Revisar espacio disponible

Una herramienta familiar que es útil cuando descargar y cargar archivos es el comando "df", el cual funciona de forma similar a la versión de línea de comandos. El uso de este es para revisar si hay suficiente espacio para completar las transferencias:


df

sftp> df
        Size         Used        Avail       (root)    %Capacity
   370760828     35917452    334843376    334843376           9%
sftp>


Como salir de SFTP

Para cerrar la sesión de SFTP, escriba:


exit ó bye

Aunque SFTP es una herramienta simple, es muy útil para la administración de servidores y la transferencia de archivos entre ellos.


Si está acostumbrado a utilizar FTP o SCP para lograr sus transferencias, SFTP es una buena manera de aprovechar las fortalezas de ambos. Si bien no es apropiado para cada situación, es una herramienta flexible para tener como opción de respaldo.


Después de estas configuraciones podemos agregar named al sistema:

es el servidor DNS (Domain Name Server) en casi todas las máquinas Unix. Es un programa desarrollado originalmente para BSD. La versión 4 se ha usado mucho tiempo y venía con cualquier distribución GNU/Linux.

Hay 4 servidores DNS implicados en la carga de un sitio web:


Recursor de DNS: es como un bibliotecario al que se le pide que busque un libro determinado en la biblioteca. El recursor DNS es un servidor diseñado para recibir consultas desde equipos cliente mediante aplicaciones como navegadores web. Normalmente, el recursor será el responsable de hacer solicitudes adicionales para satisfacer la consulta de DNS del cliente.


Servidor de nombres raíz: es el primer paso para traducir (solucionar) los nombres de servidor legibles en direcciones IP. Se puede comparar a un índice en una biblioteca que apunta a diferentes estanterías de libros. Generalmente sirve como referencia de otras ubicaciones más específicas.


Servidor de nombres TLD: el servidor de dominio de nivel superior (TLD) se puede comparar con una estantería de libros en una biblioteca. Es el paso siguiente en la búsqueda de una dirección IP específica y aloja la última parte de un nombre de servidor (en ejemplo.com, el servidor TLD es "com").


Servidor de nombres autoritativo: se puede interpretar como un diccionario en una estantería de libros, en el que se puede consultar la definición de un nombre específico. El servidor de nombres autoritativo es la última parada en la consulta del servidor de nombres. Si cuenta con acceso al registro solicitado, devolverá la dirección IP del nombre del servidor solicitado al recursor de DNS (el bibliotecario) que hizo la solicitud inicial.


¿Cuál es la diferencia entre un servidor de DNS autoritativo y un solucionador de DNS recursivo?


Ambos conceptos se refieren a servidores (grupos de servidores) que son fundamentales para la infraestructura de DNS, pero cada uno desempeña un papel diferente y se encuentra en diferentes ubicaciones dentro del trayecto de una consulta de DNS. Una forma de entender la diferencia es que el solucionador recursivo está al inicio de la consulta DNS y el servidor de nombres autoritativo al final.


Solucionador de DNS recursivo

El solucionador recursivo es el equipo que responde a una solicitud recursiva del cliente y dedica tiempo a detectar el registro DNS. Lo hace mediante una serie de solicitudes hasta que alcanza al servidor de nombres DNS autoritativo para el registro solicitado (o se vuelve inactivo o devuelve un error si no se encuentra ningún registro). Afortunadamente, los solucionadores de DNS recursivos no siempre tienen que hacer varias solicitudes para inspeccionar los registros necesarios para responder a un cliente. El almacenamiento en caché es un proceso de persistencia de datos que ayuda a saltarse las solicitudes necesarias sirviendo antes el registro del recurso solicitado en la búsqueda DNS. 

https://www.cloudflare.com/es-es/learning/dns/what-is-dns/

para instalarlo:


  dnf install --nogpgcheck bind bind-chroot bind-utils -y

Para LOC-OS22:

sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils




ya instalado lo iniciamos:

systemctl restart named.service

Para LOC-OS22:

sudo systemctl restart named.service



habilitamos el servicio:

systemctl enable named.service

Para LOC-OS22:

sudo systemctl enable named.service




aquí podemos observar si el servicio esta corriendo:

 systemctl list-unit-files|grep named

Para LOC-OS22:

sudo systemctl list-unit-files|grep named


con la siguiente linea nos aseguramos que el servidor ssh "escucha" en el puerto 22, así que la siguiente orden nos confirmará la ejecución correcta como demonio en el servidor:

debera aparecer en la pantalla algo parecido a esto:

netstat -an|grep LISTEN|grep 22



Principales puertos de red en Linux


Tabla con los principales puertos de red en GNU/Linux. Donde se indica el número de puertos, el protocolo, su uso y ejemplos de servicios que los utilizan.

PUERTO       PROTOCOLO     SERVICIO             USO

20

TCP

Datos FTP

PROFTPD

21

TCP

FTP

PROFTPD

22

TCP

SSH

OPENSSH

23

TCP

TELNET

TELNET

25

TCP

SMTP

SENDMAIL, POSTFIX, EXIM  Y QMAIL

53

TCP / UDP

DNS

BIND

67

UDP

DHCP

ISC, DHCP

80

TCP

HTTP

APACHE, NGINX

110

TCP

POP3

DOVECOT

111

TCP / UDP

MAPEADOR PUERTOS

NFS

113

TCP

AUTH / IDENT

IDENTD

123

TCP

NTP

NTP, CHRONY

139

TCP

NETBIOS

SAMBA

143

TCP

IMAP

DOVECOT, CYRUS

161

UDP

SNMP

NET-SNMP

177

UDP

XDMCP

XDM, KDM, GDM

389

TCP

LDAP

OPENLDAP

443

TCP

HTTPS

APACHE, NGINX

445

TCP

MS DIRECTORY

SAMBA

465

TCP

SMTP SSL

SENDMAIL, POSTFIX, EXIM Y QMAIL

631

TCP

IMPRESIÓN

CUPS

635

TCP

LDAP SSL

OPENLDAP

993

TCP

IMAP

DOVECOT, CYRUS

995

TCP

POP3 SSL

DOVECOT

5900

TCP

REMOTE FRAMEBUFFER

VNC

6000-6007

TCP

X WINDOW

X.ORG

En nuestros sistemas favoritos también podemos consultar el fichero cat /etc/services, donde encontramos la larga lista de puertos y servicios relacionados.


Soporte para NTFS.


NTFS:

NTFS (del inglés New Technology File System) es un sistema de archivos de Windows NT incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, Windows 7 y Windows 8 10. Está basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de archivos HFS diseñado por Apple. NTFS permite definir el tamaño del clúster a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición.

Es importante no confundir los sistemas de archivos con los servicios de almacenamiento, como Nextcloud, Google Drive o Dropbox, que sirven para guardar ficheros en la nube. Estos servicios facilitan que no tengamos que guardar los archivos en local en nuestro ordenador, o en una unidad USB externa, para que podamos acceder a ellos cuando y desde donde queramos. Nada que ver con los sistemas de archivos que, como te decíamos, es el formato que se usa para organizar los datos en una unidad de almacenamiento física.
Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores. Puede manejar volúmenes de, teóricamente, hasta 264 clústeres. En la práctica, el máximo volumen NTFS soportado es de 232 clústeres (aproximadamente 16 TiB usando clústeres de 4 KiB).


Su principal inconveniente es que necesita para sí mismo una buena cantidad de espacio en disco duro, por lo que no es recomendable su uso en discos con menos de 400 MiB libres.


Se describirá cómo habilitar soporte NTFS ( ) en CentOS Stream 9 . Por defecto CentOS 9 no viene con soporte NTFS para montar particiones NTFS , ya sea en unidades de disco o usb duros. Fedora provee repositorio EPEL para Red Hat Enterprise Linux . EPEL ( paquetes adicionales para Enterprise Linux ) es un esfuerzo de la comunidad basada en el voluntariado del proyecto Fedora para crear un repositorio de paquetes de alta calidad add-on que complementan el Red Hat Enterprise Linux basada en Fedora ( RHEL ) y sus spin-offs compatibles, tales como CentOS y Scientific Linux . Los drivers NTFS- NTFS - 3G está disponible a través del repositorio EPEL

Instalar el controlador para NTFS.

yum install ntfs-3g -y

Para LOC-OS22:

  sudo apt-get install ntfs-3g

Con este modulo instalado podemos inclusive leer archivos y escribir archivos en las particiones NTFS

Instalacion de modulos o eliminar

Cuando instalamos el sistema operativo Linux en ese momento el kernel de Linux instala la mayoría de los módulos del controlador del dispositivo y después de la instalación también nos permite instalar nuevos controladores de dispositivo como módulos usando los comandos modprobe e insmod.

Normalmente los módulos del kernel se cargan automáticamente pero a veces es necesario instalar los módulos adicionales como si fueran manuales. Por ejemplo, desea instalar controladores de dispositivos de almacenamiento, etc. Para ello hay algunos comandos, algunos de los cuales se enumeran a continuación.

Comando lsmod


lsmod significa ‘ módulo de lista ‘. Como su nombre indica, este comando listará los módulos del kernel actualmente cargados en su sistema.

[msantos@alienware ~]# lsmod



Si quieres encontrar un módulo específico. Esto puede ser el módulo controlador de red (por ejemplo un e1000 ) y luego puede hacerlo a través del comando grep .


Comando modprobe

modprobe se usa para agregar y quitar módulos del kernel. Linux mantiene el directorio del módulo del núcleo bajo ‘ /lib/modules/’uname -r’/kernel/drivers/ ‘ y archivos de configuración (excepto el archivo de configuración adicional en /etc/modprobe.d/ ). Si queremos ver los controladores del kernel, ejecute el comando debajo, siendo root.

Normalmente los módulos del kernel se cargan automáticamente pero a veces es necesario instalar los módulos adicionales como si fueran manuales. Por ejemplo, desea instalar controladores de dispositivos de almacenamiento, etc. Para ello hay algunos comandos, algunos de los cuales se enumeran a continuación.

[root@alienware ~]# ls /lib/modules/3.10.0-1160.el7.x86_64/extra/ (dependerá del kernel versión)


Aquí se ven los módulos que se cargan al inicio del arranque del sistema. Los módulos que podemos agregar se van depositando en este lugar.

Webmin

Para LOC-OS22, no hay esta aplicacion

Si usas Linux con Xwindow (gnome, kde, etc.) encontrarás dentro de los menús una o varias opciones gráficas de administración de usuarios, así como programas basados en Web como webmin que entre muchas otras cosas te permiten un control total de la administración de usuarios y grupos. Estos programas de gestión de usuarios son sumamente intuitivos y en una sola pantalla a través de sus opciones puedes controlar prácticamente todas las funciones, en lo particular recomiendo webmin por su confiabilidad y alto nivel de configuración, además que es accesible via web.


Se puede instalar webmin, descargandolo desde:

https://www.webmin.com/download.html

https://prdownloads.sourceforge.net/webadmin/webmin-2.000-1.noarch.rpm

la instalacion es:

dnf localinstall webmin-2.000-1.noarch.rpm

(o la version mas reciente)

Para usarlo desde cualquier navegador usar https://localhost:10000, iniciara la administración del equipo desde una interface WEB.

En ocaciones al actualizar webmin puede suceder esto:
Error — Perl execution failed
Undefined subroutine &main::webmin_user_is_admin called at /usr/share/usermin/authentic-theme/authentic-init.pl line 1748.

se soluciona con este comando


/etc/webmin/restart-by-force-kill

revise este servicio



Descargando el paquete se instala, con la cuenta de superusuario (su -),

cd /home/msantos/Descargas

dnf localinstall webmin-2.000-1.noarch.rpm -y





Repositorio (instrucciones desde la pagina de Webmin)


Configuración
La forma más simple y mejor de obtener Webmin es usar el script setup-repos.sh automático para configurar repositorios en sus sistemas derivados de RHEL o Debian. Se puede hacer en dos sencillos pasos:

curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh

sh setup-repos.sh



Webmin es una interfaces por medio de WEB para revisar, administrar, actualizar.

Y así se ve al iniciar por primera vez Webmin


Clic en Avanzado..

en ocasiones es necesario confirmar el proceso.

es necesario acceder como root y usar la contraseña de root, para poder realizar los cambios y/o administrar los procesos




y esta es la pantalla principal de WEBMIN


Si quieren revisar el manual de uso de WEBMIN, consulta este enlace sobre el manual de Webmin

podemos cambiar el idioma si es que no te agrada el ingles:

para salir de webmin, ve a la parte inferior de la lista del lado izquierdo:

haz clic sobre el icono de color rojo, si colocas el cursor en el se mostrara una etiqueta desconectar.

Mas comandos en CLI para conocer el sistema y pudiendo crear un inventario de muestro equipo.

Distintas maneras de saber el tiempo encendido (uptime) del servidor Linux

Hay distintas maneras de establecer cuanto tiempo un sistema Linux lleva ejecutándose. Aunque pudiera parecer trivial, esto es importante desde el punto de vista de administración de servidores Linux. Es posible que se requiera determinar si hubo un fallo de energía, o si alguien por cualquier razón, reinició el sistema, quizás algún servicio o cron está reiniciando el servidor, etc. Saber como determinar cuando o cuanto tiempo lleva encendido el sistema, es pues, una tarea común como sysadmin. Veamos algunos métodos:

NOTA: algunos comando no vienen instalados con CentOS asi que deras estar en la cuenta de root, su - para instalarlos : yum install <paquete> -y

uptime

uptime es el comando más utilizado para determinar rápidamente el tiempo que lleva en ejecución el sistema:


si queremos determinar a que hora exacto inicio el sistema, tendríamos que hacer una resta de la hora actual con el tiempo "up", no muy intuitivo, asi que para eso tenemos la opción -s:



uptime también tiene otra opción (no tiene muchas), la opción -p (pretty) que da la información de "up" un poco más entendible:



who


Con el comando who y la opción -b es posible obtener también la fecha y la hora de inicio del sistema:



Tambien se puede usar con la opción -r es útil para determinar el último cambio de runlevel o nivel de ejecucción del sistema:



(O las dos opciones a la vez:)


Hardware

Listar los dispositivos PCI / PCIe

lspci



Listar todos los dispositivos USB

lsusb – Lista de los buses usb y detalles del dispositivo

Este comando muestra los controladores USB y detalles sobre los dispositivos conectados a ellos. Por defecto, se imprime una breve información. Si queremos la opción detallada utilizamos el argumento “-v” para imprimir información mas explicita sobre cada puerto usb.

lsusb



Listar todos los dispositivos detectados como SCSI:

lsscsi

Para Loc-OS22


sudo apt-get install lsscsi

Nota: El paquete anterior no está instalado de manera predeterminada, por lo que antes de usarlo es necesaria su instalación.


Características de las tarjetas de memoria instaladas

lshw -short -C memory


comando dmidecode. memoria máxima permitida para esta computadora

 dmidecode -t memory | grep -i max
  


Cuántas ranuras de memoria están abiertas? (Una respuesta nula significa que no hay ninguno disponible)

lshw -short -C memory | grep -i empty


Promedios de carga


https://opensource.com/life/16/2/open-source-tools-system-monitoring

Los promedios de carga son un criterio importante para medir el uso de la CPU, pero ¿qué significa esto realmente cuando digo que el promedio de carga de 1 (o 5 o 10) minuto es 4.04, por ejemplo? El promedio de carga puede considerarse una medida de la demanda de la CPU; es un número que representa el número medio de instrucciones que esperan el tiempo de la CPU. Así que esta es una verdadera medida del rendimiento de la CPU, a diferencia del "porcentaje de CPU" estándar que incluye tiempos de espera de E / S durante los cuales la CPU no está funcionando realmente.

Por ejemplo, una CPU de sistema de procesador único completamente utilizada tendría un promedio de carga de 1. Esto significa que la CPU se mantiene exactamente al día con la demanda; en otras palabras, tiene una utilización perfecta. Un promedio de carga de menos de uno significa que la CPU está subutilizada y un promedio de carga superior a 1 significa que la CPU está sobreutilizada y que hay una demanda reprimida e insatisfecha. Por ejemplo, un promedio de carga de 1,5 en un solo sistema de CPU indica que un tercio de las instrucciones de la CPU se ven obligadas a esperar para ejecutarse hasta que se complete la anterior.

Esto también es cierto para varios procesadores. Si un sistema de 4 CPU tiene un promedio de carga de 4, entonces tiene una utilización perfecta. Si tiene un promedio de carga de 3,24, por ejemplo, tres de sus procesadores se utilizan por completo y uno se utiliza aproximadamente al 76%. En el ejemplo anterior, un sistema de 4 CPU tiene un promedio de carga de 1 minuto de 4.04, lo que significa que no hay capacidad restante entre las 4 CPU y algunas instrucciones se ven obligadas a esperar. Un sistema de 4 CPU perfectamente utilizado mostraría un promedio de carga de 4,00 para que el sistema del ejemplo esté completamente cargado pero no sobrecargado.

La condición óptima para el promedio de carga es que sea igual al número total de CPU en un sistema. Eso significaría que cada CPU se utiliza por completo y, sin embargo, no se debe obligar a ninguna instrucción a esperar. Los promedios de carga a más largo plazo proporcionan una indicación de la tendencia de utilización general.

Señales

Todos los monitores discutidos aquí le permiten enviar señales a los procesos en ejecución. Cada una de estas señales tiene una función específica, aunque algunas de ellas pueden ser definidas por el programa receptor utilizando controladores de señales.

El comando kill separado también se puede usar para enviar señales a procesos fuera de los monitores. El kill -l se puede usar para listar todas las señales posibles que se pueden enviar. Tres de estas señales se pueden utilizar para matar un proceso.

SIGTERM (15): Señal 15, SIGTERM es la señal predeterminada enviada por top y los otros monitores cuando se presiona la tecla k . También puede ser el menos efectivo porque el programa debe tener un manejador de señales integrado. El gestor de señales del programa debe interceptar las señales entrantes y actuar en consecuencia. Entonces, para los scripts, la mayoría de los cuales no tienen manejadores de señales, SIGTERM se ignora. La idea detrás de SIGTERM es que simplemente diciéndole al programa que desea que se termine solo, se aprovechará de eso y limpiará cosas como archivos abiertos y luego se terminará de una manera controlada y agradable.

SIGKILL (9):  Señal 9, SIGKILL proporciona un medio para eliminar incluso los programas más recalcitrantes, incluidos los scripts y otros programas que no tienen controladores de señales. Sin embargo, para los scripts y otros programas sin manejador de señales, no solo mata el script en ejecución, sino que también mata la sesión de shell en la que se está ejecutando el script; puede que este no sea el comportamiento que desea. Si desea matar un proceso y no le importa ser amable, esta es la señal que desea. Esta señal no puede ser interceptada por un gestor de señales en el código del programa.

SIGINT (2): Señal 2, SIGINT se puede usar cuando SIGTERM no funciona y desea que el programa muera un poco mejor, por ejemplo, sin matar la sesión de shell en la que se está ejecutando. SIGINT envía una interrupción a la sesión en la que se está ejecutando el programa. Esto es equivalente a terminar un programa en ejecución, particularmente un script, con la combinación de teclas Ctrl-C .

Para experimentar con esto, abra una sesión de terminal y cree un archivo en / tmp llamado cpuHog y hágalo ejecutable con los permisos rwxr_xr_x. Agregue el siguiente contenido al archivo.

X=0

while [ 1 ]
 do
 echo $X; X=($X+1)
 done

Abra otra sesión de terminal en una ventana diferente, colóquelas una al lado de la otra para que pueda ver los resultados y ejecutar la parte superior en la nueva sesión. Ejecute el programa cpuHog con el siguiente comando:

./cpuHog

Este programa simplemente cuenta de uno en uno e imprime el valor actual de X en STDOUT. Y absorbe los ciclos de la CPU. La sesión de terminal en la que se está ejecutando cpuHog debería mostrar un uso de CPU muy alto en la parte superior. Observe el efecto que esto tiene en el rendimiento del sistema en la parte superior. El uso de la CPU debería aumentar de inmediato y los promedios de carga también deberían comenzar a aumentar con el tiempo. Si lo desea, puede abrir sesiones de terminal adicionales e iniciar el programa cpuHog en ellas para tener varias instancias en ejecución.

Determine el PID del programa cpuHog que desea eliminar. Presione la tecla k y observe el mensaje debajo de la línea Cambiar en la parte inferior de la sección de resumen. Top solicita el PID del proceso que desea matar. Ingrese ese PID y presione Enter . Ahora top solicita el número de señal y muestra el valor predeterminado de 15. Pruebe cada una de las señales descritas aquí y observe los resultados.

Este proceso sera para evaluación, realizar, y haga un reporte con capturas de pantalla.

Comando top





Las líneas que contienen las estadísticas de la CPU se muestran a continuación.

Puede haber una sola línea que combine las estadísticas de todas las CPU presentes en el sistema, como en el ejemplo siguiente, o una línea para cada CPU; en el caso de la computadora utilizada para el ejemplo, esta es una CPU de cuatro núcleos. Presione la tecla 1 para alternar entre la visualización consolidada del uso de la CPU y la visualización de las CPU individuales. Los datos de estas líneas se muestran como porcentajes del tiempo total de CPU disponible.

Estos y otros campos para los datos de la CPU se describen a continuación.

us: userspace: aplicaciones y otros programas que se ejecutan en el espacio del usuario, es decir, no en el kernel.

sy: llamadas al sistema: funciones de nivel de kernel. Esto no incluye el tiempo de CPU que toma el núcleo en sí, solo las llamadas al sistema del núcleo.

ni: nice - Procesos que se ejecutan a un nivel agradable positivo.

id: idle: tiempo de inactividad , es decir, tiempo que no utiliza ningún proceso en ejecución.

wa: wait: ciclos de CPU que se gastan esperando a que ocurra la E / S. Esto es tiempo de CPU perdido.

hi: interrupciones de hardware: ciclos de la CPU que se dedican a tratar las interrupciones de hardware.

si: interrupciones de software: ciclos de CPU dedicados a tratar con interrupciones creadas por software, como llamadas al sistema.

st: steal time: el porcentaje de ciclos de CPU que una CPU virtual espera por una CPU real mientras el hipervisor está dando servicio a otro procesador virtual.


Las dos últimas líneas de la sección de resumen son el uso de memoria. Muestran el uso de la memoria física, incluida la RAM y el espacio de intercambio.


Puede usar el comando 1 para mostrar las estadísticas de la CPU como un número global único, como se muestra en la Figura, arriba, o por CPU individual. El comando l activa y desactiva los promedios de carga. Los comados t y m comandos giran las líneas de proceso / CPU y memoria de la sección de resumen, respectivamente, a través de, sólo el texto, y un par de tipos de formatos de gráfico de barras.


Sección de proceso

La sección de proceso de la salida de la parte superior es una lista de los procesos en ejecución en el sistema, al menos para el número de procesos para los que hay espacio en la pantalla del terminal. Las columnas predeterminadas que se muestran en la parte superior se describen a continuación.


Hay varias otras columnas disponibles y cada una se puede agregar normalmente con una sola pulsación de tecla.


PID: el ID del proceso.

USUARIO: el nombre de usuario del propietario del proceso.

PR - La prioridad del proceso.

NI - El buen número del proceso.

VIRT: la cantidad total de memoria virtual asignada al proceso.

RES: tamaño residente (en kb, a menos que se indique lo contrario) de la memoria física no intercambiada consumida por un proceso.

SHR: la cantidad de memoria compartida en kb utilizada por el proceso.

S - El estado del proceso. Puede ser R para correr, S para dormir y Z para zombie. Los estados que se ven con menos frecuencia pueden ser T para rastreado o detenido, y D para sueño ininterrumpido.

% CPU: el porcentaje de ciclos de CPU o el tiempo utilizado por este proceso durante el último período de tiempo medido.

% MEM: el porcentaje de memoria física del sistema utilizado por el proceso.

TIEMPO +: tiempo total de CPU a centésimas de segundo consumido por el proceso desde que se inició.

COMANDO: este es el comando que se utilizó para iniciar el proceso.

Utilice las teclas Page Up y Page Down para desplazarse por la lista de procesos en ejecución. Los comandos d o s son intercambiables y se pueden utilizar para establecer el intervalo de retardo entre actualizaciones. El valor predeterminado es de tres segundos, pero prefiero un intervalo de un segundo. La granularidad de intervalo puede ser tan baja como una décima (0.1) de segundo, pero esto consumirá más ciclos de CPU que está tratando de medir.


Puede utilizar las teclas < y > para secuenciar la columna de clasificación hacia la izquierda o hacia la derecha.


El comando k se usa para matar un proceso o el comando r para cambiarlo. Debe conocer el ID de proceso (PID) del proceso que desea matar o renice y esa información se muestra en la sección de proceso de la pantalla superior. Al matar un proceso, top pregunta primero por el PID y luego por el número de señal que se utilizará para matar el proceso. Escríbalos y presione la tecla Intro después de cada uno. Comience con la señal 15, SIGTERM, y si eso no mata el proceso, use 9, SIGKILL.


Configuración

Si modifica la pantalla superior, puede usar el comando W (en mayúsculas) para escribir los cambios en el archivo de configuración, ~ / .toprc en su directorio de inicio.


Supervisar la utilización del disco atop


Al igual que lo hizo con la memoria, controle su disco en tiempo real para ver si un reemplazo mejoraría el rendimiento. El comando atop de línea le dice qué tan ocupado está un disco.

dnf install atop -y

Para Loc-OS22

sudo apt-get install atop

atop



Ver los procesos en ejecución

Existen varias herramientas para ver los procesos en ejecución, la más importante es el comando ps


ps (process status)


lista los procesos con su PID, datos de usuario, tiempo, identificador del proceso y linea de comandos usada

sin opciones, ps sólo muestra los procesos lanzados desde el terminal actual y con el mismo EUID que el usuario que lo lanzó


Opciones de ps


ps tiene un gran número de opciones, que se pueden especificar de 3 maneras:

opciones UNIX: pueden agruparse y se preceden por un guión: ps -ef

opciones BSD: pueden agruparse y van sin guión: ps uxa

opciones largas GNU: precedidas de dos guiones: ps --user tomas

Algunas opciones:


-e o ax: muestra todos los procesos

-u (o U o --user) usuario: muestra los procesos de un usuario

u: salida en formato usuario

j: salida en formato job (muestra PID, PPID, etc.)

-f o l: salida en formato largo

f: muestra un árbol con la jerarquía de procesos

k (o --sort) campo: ordena la salida por algún campo (p.e. ps uxak rss)

-o (o o o --format) formato: permite definir el formato de salida ps -o ruser,pid,comm=Comando

para más opciones ver la página de manual de ps





ejecutamos

 ps -aux|more




%CPU y %MEM: porcentajes de uso de CPU y memoria
VSZ: memoria virtual del proceso, en KBytes
RSS: tamaño de la memoria residente (resident set size) en KBytes
STAT: estado del proceso; puede ser:
Código    significado
D    Uninterruptible sleep (usualmente IO)
R    Ejecutándose(running) o en cola de ejecución
S    Interruptible sleep (p.e. esperando un evento)
T    Detenido
Z    Proceso zombie


Comando pstree.


muestra el árbol de procesos (similar a ps f)





Matar procesos zombi

ps aux | grep defunct

teniendo la información de los zombie los eliminamos.
ps -eo pid,ppid | grep <PID>
también puede ser de la siguiente manera:

ps -eo pid,ppid,command | grep defunct
9665  9664 [oninit.exe] <defunct>
 9666  9664 [oninit.exe] <defunct>
 9667  9664 [oninit.exe] <defunct>
 9668  9664 [oninit.exe] <defunct>
 9669  9664 [oninit.exe] <defunct>
 9670  9664 [oninit.exe] <defunct>
 9671  9664 [oninit.exe] <defunct>
 9672  9664 [oninit.exe] <defunct>

Se observa que el padre para todos estos procesos zombies es el mismo: aquel cuyo PID es 9664.

En la versión de ps de GNU/Linux, también es posible recurrir a la opción l para mostrar la salida utilizando el formato largo de BSD. Esta salida incluye el PID del proceso padre para cada proceso (cuarta columna):

ps axl

Se observa que el proceso padre de los zombies se encuentra en estado "sleeping". Por ende no se ha enterado de que sus hijos han muerto:

[root@informix666 ~]# ps aux | grep 9664
root      9664  0.0  0.1  74464  1688 ?        S    11:46   0:00 /opt/informix/bin/oninit.exe
root      9837  0.0  0.0   3748   736 pts/1    S+   12:15   0:00 grep 9664

Entonces, o esperamos a que se entere por la sección necrológicas del periódico de mañana, o lo matamos para que no sufra enviándole la señal SIGKILL (kill -9):

[root@informix666 ~]# kill -9 9664

Junto con el proceso padre desaparecen todos los zombies:

[root@informix666 ~]# ps aux | grep defunct
root      9843  0.0  0.0   3748   728 pts/1    S+   12:17   0:00 grep defunct

Comando lscpu – Procesamiento


El comando lscpu informa sobre la CPU y las unidades de procesamiento, una de las partes mas importantes del hardware en Linux. El comando no tiene más opciones o funcionalidades.

lscpu

lshw – Lista de hardware en Linux


Esta utilidad de propósito general nos brinda información breve y detallada sobre múltiples unidades de hardware en Linux, como CPU, memoria, disco, controladores usb, adaptadores de red, etc. Lshw extrae la información de diferentes /proc files.

lshw -short


Comando hwinfo – Información del hardware en Linux


Hwinfo es otra utilidad de prueba de hardware en Linux, de propósito general que puede brinda información breve y detallada sobre múltiples componentes de hardware diferentes. Su información es mucho mas extensa de lo que lshw puede aportar.

Ejecutamos lo siguiente:

hwinfo --short

si este comado no esta instalado, haga lo siguinte:

[root@asus-centos9 ~]# dnf install hwinfo


Script Inxi


Inxi es un script mega bash de 10K líneas que obtiene detalles de hardware de múltiples orígenes y comandos diferentes en el sistema, y ​​genera un informe que los usuarios no técnicos pueden leer fácilmente, a la fecha que se habia realizado este manual no se habia actualizado este paquete para CentOS 9, esta disponible para CentOS 7.

para su instalación:

dnf install inxi -y


inxi -Fx



Comando lsblk – Lista de dispositivos de bloque

Enumerar la información de todos los dispositivos de bloque, que son las particiones de disco duro y otros dispositivos de almacenamiento como unidades ópticas y unidades de memoria flash.

en caso que regrese error que no existe se instala :


dnf install lsblk -y

Ejecutamos en la terminal:

lsblk



Comando df – espacio en disco de los sistemas de archivos

Informa sobre varias particiones, sus puntos de montaje y el espacio utilizado y disponible en cada uno.

df -h



Comando fdisk


Fdisk es una utilidad para modificar particiones en discos duros, y también se puede usar para listar la información de la partición.


fdisk -l




free – Verifica la RAM

Verifique la cantidad de RAM utilizada, libre y total en el sistema con el comando free.

free -m



/proc -- Muchos de los archivos en el directorio /proc contienen información sobre hardware en Linux y configuraciones. /proc significa procesos. Éstos son algunos de los directorios en este directorio proc, debemos acceder como root (su -)

1.- su -

2.- cd /

3.- ls -l



4.- cd /proc

5.- ls  | more  (listar  | entubamos hacia more , significa "mas" el efecto es que se detenga en cada vez que se llene el espacio de la terminal)



Se puede apreciar que hay un directorio o archivo donde se conservan datos de cada servicio, por ejemplo si mostramos el contenido de un archivo que tenga un nombre que algo interesante ejemplo

cat meminfo|more



se aprecia que hay mucha información del contenido de la memoria del equipo, el archivo meminfo guarda esta informacion, asi entonce los nombres de los archivos se refieren a su contenido.

cat cpuinfo|more


Particiones

cat /proc/partitions



hdparm – Información de disco duro

Finalmente, tenemos el comando hdparm, este funciona para obtener  información sobre dispositivos sata como los discos duros.

hdparm -i /dev/sda


hdparm -i /dev/sdb




sysbench

Comprobaremos la velocidad de la CPU con la herramienta sysbench.

Probaremos tanto con 1 y como 2 hilos, ya que el procesador utilizado es dual core. Podemos especificar el número con --num-threads:

Este comando se debe instalar, no se encuentra en la instalación inicial:

dnf install sysbench -y

Para Loc-OS22:

sudo apt-get install sysbench


Para un hilo:

sysbench --test=cpu --cpu-max-prime=20000 run



para dos hilos


sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run


Mostrar si el procesador soporta «Extensiones de Virtualización» (Intel-VT ó AMD-V), las cuales se activan desde la configuración de BIOS del equipo:

Si el procesador es Intel, se necesita saber si presenta el valor «vmx»:

grep -i vmx /proc/cpuinfo



Si el procesador es AMD, se necesita saber si presenta el valor «svm»:

grep -i svm /proc/cpuinfo


dmesg

Para Loc-OS22:

sudo dmesg


Los sistemas operativos Linux ofrecen cientos de comandos que han sido desarrollados en ofrecer las mejores facilidades de administración para los usuarios ya sea a nivel de hardware, software, servicios o procesos, donde cada comando cumple con una función especial y puede desplegar o no mejores resultados que otros. Sabemos de la fiabilidad e integridad de las distribuciones de Linux, pero al igual que todo sistema operativo o aplicación, puede llegar el momento en que alguno de sus componentes falle y en vez de perder tiempo buscando miles de causas podemos echar mano de un comando que simplificará este proceso y es el comando dmesg.


uname -sr

Mostrar el nombre y versión del kernel:

lspci

Listar los dispositivos PCI / PCIe



lsusb

Lista de los buses usb y detalles del dispositivo

Listar todos los dispositivos USB

Este comando muestra los controladores USB y detalles sobre los dispositivos conectados a ellos. Por defecto, se imprime una breve información. Si queremos la opción detallada utilizamos el argumento “-v” para imprimir información mas explicita sobre cada puerto usb.





lsscsi

Listar todos los dispositivos detectados como SCSI:



lshw -short -C memory

Características de las tarjetas de memoria instaladas

dmidecode -t memory | grep -i max (deberás entrar como su -)

memoria máxima permitida para esta computadora

}

Nombre del producto:

dmidecode -s system-product-name


Para ver todas las caracteristicas del equipo:


dmidecode | more


Informacion del procesador (observen que hay ; entre los comandos, es otra forma de realizar una secuencia de comnados en el shell)


grep 'vendor_id' /proc/cpuinfo ; grep 'model name' /proc/cpuinfo ; grep 'cpu MHz' /proc/cpuinfo

Paquetes adicionales


GIMP

Para Loc-OS22:

sudo apt-get install gimp

La siglas GIMP originalmente significan (General Image Manipulation Program) (Programa de manipulación de imágenes general). Este nombre cambio en 1997 a (GNU Image Manipulation Program) (Programa de manipulación de imágenes de GNU) para pasar a formar parte oficial del proyecto GNU.(este programa ya fue instalado previamente, pero no se había detallado este)


GIMP es un programa que sirve para la edición y manipular de imágenes. Actualmente se encuentra publicado bajo la licencia GPL (GNU General Public License). Además es un software multiplataforma ya que se puede utilizar en varios Sistemas Operativos. La primera versión fue desarrollada para sistemas Unix, inicialmente fue pensada específicamente para GNU/Linux, sin embargo actualmente existen versiones totalmente funcionales para Windows y para Mac OS X.

Este programa de licencia libre es una buena opción para los desarrolladores y diseñadores gráficos. Y muchos aseguran que es una buena competencia para el tradicional Adobe Photoshop.

Proceso de gráficos y fotografías digitales

GIMP incluyen la creación de gráficos y logos: el cambio de tamaño y recorte de fotografías, el cambio de colores, combinación de imágenes usando un paradigma de capas, la eliminación de elementos no deseados de las imágenes y la conversión entre distintos formatos de imágenes. También puede ser utilizado para crear imágenes sencillas animadas.

GIMP es también conocido por ser quizás la primera gran aplicación libre para usuarios finales. Trabajos anteriores, como GCC , el núcleo de Linux , etc. eran principalmente herramientas de programadores para programadores. GIMP es considerado por algunos como una prueba de que el proceso de desarrollo de software libre puede crear aplicaciones que los usuarios no especializados puedan usar productiva mente; de esta forma, abrió el camino a otros proyectos como KDE , GNOME , Mozilla Firefox , OpenOffice.org y otras aplicaciones posteriores.

Características

GIMP fue desarrollado como una alternativa libre al Photoshop , pero este último todavía domina el mercado en las industrias de impresión y gráficas.

Además del uso interactivo, GIMP permite la automatización de muchos procesos mediante macros. Incluye un lenguaje llamado Scheme que se puede usar para esto, existen otras alternativas como Perl , Python , Tcl y (experimentalmente) Ruby .

De esta manera se pueden escribir guiones y plugins para GIMP que se utilicen interactivamente o simples imágenes estáticas. GIMP usa GTK + como biblioteca de controles gráficos; en realidad, GTK+ era al principio parte de GIMP, en un intento de reemplazar la biblioteca comercial Motif , de la que originalmente dependía GIMP. GIMP y GTK+ fueron diseñados para el sistema X Window ejecutado sobre sistemas operativos tipo Unix , pero han sido importados a Windows , OS/2 , Mac OS X y SkyOS .

La versión más actualizada de GIMP es la 2.2.10; los cambios más importantes con respecto a la versión 1.2 incluyen un interfaz más pulido y una separación mayor entre el interfaz de usuario y el back-end .

Para el futuro, se planea basar GIMP en una biblioteca gráfica más general llamada GEGL , atacando de esta forma algunas limitaciones fundamentales del diseño que impiden muchas mejoras, como por ejemplo el soporte nativo de CMYK .

Para la instalacion es tener el repositorio EPEL y usar snap para la instalación

Instalando complemento en CentOS

Snap está disponible para CentOS 9 Stream , CentOS 8 Stream, CentOS 8 y CentOS 7, desde la versión 7.6 en adelante. También está disponible para Red Hat Enterprise Linux (RHEL) 7.6+ (consulte Instalación de Snap en Red Hat Enterprise Linux ).

Si necesita saber qué versión de CentOS está ejecutando, escriba cat /etc/centos-release

Los paquetes para CentOS 8/9 y CentOS 7 se encuentran en el repositorio de paquetes adicionales para Enterprise Linux (EPEL) de cada distribución. Las instrucciones para agregar este repositorio difieren ligeramente entre CentOS 8/9 y CentOS 7, por lo que se enumeran por separado a continuación.

(https://snapcraft.io/docs/installing-snap-on-centos)

Si aún no tiene el repositorio de CentOS agregado a su distribución, se puede agregar de la siguiente manera:

El repositorio EPEL se puede agregar a un sistema CentOS 8/9 Stream con el siguiente comando, iniciando una sesion como su -

dnf install epel-release

dnf upgrade


Instalando snapd (este es la explicación mas abajo viene la instalación)

Con el repositorio EPEL agregado a su instalación de CentOS, simplemente instale el paquete snapd :


dnf install snapd

Una vez instalada, se debe habilitar la unidad systemd que administra el socket principal de comunicación instantánea:


systemctl enable --now snapd.socket

Para habilitar el soporte clásico de complemento, ingrese lo siguiente para crear un enlace simbólico entre /var/lib/snapd/snapy /snap:


ln -s /var/lib/snapd/snap /snap

Cierre sesión y vuelva a iniciarla o reinicie su sistema para asegurarse de que las rutas de acceso instantáneo se actualicen correctamente.



SNAP es un sistema de repositorios de confianza de RED HAT, su instalacion es como se indica:

dnf install snapd

systemctl enable --now snapd.socket

ln -s /var/lib/snapd/snap /snap

snap install gimp


si lo realizas de inmediato te mostrara:

error: too early for operation, device not yet seeded or device model not acknowledged

esperamos aprox.  1 minuto, o lo reintentamos  hasta que se instale

snap install gimp

Tardara mientras se configura el repositorio de snap, y despues descarga GIMP, tarda pero vale la pena esperar, en algunos casos es necesario reiniciar para poder usar el programa.

alternativa de instalación

puede usar el siguiente url:

https://download.gimp.org/mirror/pub/gimp/v2.10/linux/

selecciona el ultimo archivo de la lista y descargarlo, cuando termina la descarga abrelo, y con ello iniciara el servicio de flatpak, e instalara gimp, pidiendo tu contraseña de usuario, es posible que te lo solicite 2 veces, pero lo instalara



Instalación de la aplicación Snap Store

Las instantáneas se pueden instalar y administrar fácilmente desde la línea de comandos .

Pero si usa un entorno de escritorio, las instantáneas se pueden descubrir, instalar y administrar más fácilmente desde la aplicación de escritorio Snap Store .

La aplicación Snap Store se instala con el siguiente comando:

snap install snap-store


Snap Store ahora se puede iniciar desde el iniciador predeterminado de su escritorio.

al finalizar revisemos en el menu aplicaciones  el apartado Graficos ...

Programa de manipulacion es el que conocemos como GIMP

Scribus

No esta disponible para LOC-OS22

Scribus es un programa de maquetación que originalmente fue desarrollado para la plataforma Linux con un gran éxito entre sus usuarios. Sin embargo, desde las últimas versiones ya se ofrece una versión gratuita y de código abierto para Windows y Macintosh con la que trabajar con todo tipo de documentos adaptados a los estándares de impresión digital actuales, por lo que puede usarse perfectamente para proyectos profesionales al tener licencia GPL.

El programa incluye todas las herramientas necesarias para realizar maquetaciones y publicaciones de documentos profesionales, con un abanico de funcionalidades que nada tienen que envidiar a creaciones hechas con programas como Freehand o QuarkXpress. Incluye soporte para funciones profesionales como colores CMYK, importación/exportación de archivos PDF y EPS, separaciones, administrador de color ICC, herramienta de dibujo vectorial, soporte para fuentes OpenType de niveles 1, 2 y 3 y un largo etcétera.

Incluye por defecto varias plantillas que nos permitirán aprender a utilizar el programa, aunque su curva de aprendizaje es muy asequible para los que no hayan trabajado con software de este tipo. Además, Scribus está desarrollado en una sencilla interfaz y se encuentra en varios idiomas, entre ellos el español.

dnf  install --nogpgcheck scribus

o bien desde flatpack (software)

al finalizar revisemos en el menu aplicaciones  el apartado Graficos ...

Aqui se observa Scribus, se puede interpretar como un Corel Draw

si no llega a funcionar usar esto, en linea de comandos, como root :

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

flatpak install flathub net.scribus.Scribus

flatpak run net.scribus.Scribus

en la ultima instruccion presentara unos errores pero se instala correctamente, tardara en realizar las operaciones, reinice el sistema y se presentara en el menú Graficos






Inkscape

Para Los-OS22:

sudo apt install inkscape

Es un editor gráfico de vectores, gratuito y de código libre, puede crear y editar gráficos vectoriales como ilustraciones, diagramas, líneas, gráficos, logotipos, e ilustraciones complejas. El formato principal que utiliza el programa es Scalable Vector Graphics (SVG) versión 1.1

Inkscape tiene como objetivo proporcionar a los usuarios una herramienta libre de código abierto de elaboración de gráficos en formato vectorial escalable (SVG) que cumpla completamente con los estándares XML, SVG y CSS2.

Inkscape se encuentra desarrollado principalmente para el sistema operativo GNU/Linux, pero es una herramienta multiplataforma y funciona en Windows, Mac OS X, y otros sistemas derivados de Unix.

Es una aplicación disponible en muchas lenguas, incluyendo sistemas de escritura complejos (como sistemas de escritura de derecha a izquierda como árabe, hebreo...).

para su instalacion:

dnf install --nogpgcheck inkscape

Aqui se observa Inkscape, tiene un parecido a autocad 

VIM

podemos instalar el editor vim, para ayudarnos a realizar programas en diferentes lenguajes ya que este nos ayuda indicando con colores específicos en el trexto los comandos o instrucciones en las sentencias usadas.

La instalación:

dnf install vim-X11 vim-common vim-enhanced vim-minimal

vi en debian 11 LOC-OS22, ya no se encuentra como tal es  vim y se instala asi:

sudo apt-get install vim

msantos@Loc-OS22:~$ sudo apt-get install vim
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes adicionales:
  vim-common vim-runtime xxd


Revisemos en el apartado Accesorios encontramos Vi Improved



Bluefish

Para LOC-OS22:

sudo apt install bluefish

Es un potente editor dirigido a programadores y desarrolladores web, con muchas opciones para escribir páginas web, scripts y código de programación. Bluefish soporta varios lenguajes de programación y de marcas.

Bluefish es una aplicación multiplataforma que funciona en la mayoría de los sistemas operativos de escritorio incluyendo Linux, FreeBSD, MacOS X, Windows, Solaris y OpenBSD.

La instalacion:

dnf install --nogpgcheck bluefish

Se le localiza en el apartado programación:





Netbeans

Es un entorno para realizar proyectos de programación y con gran ayuda para el programador, debemos tener instalado JDK, de java para CentOS 9 se recomienda instalar la versión completa con el JDK, ya que he encontrado problemas en la instalación individual java y Apache netbeans por separado, es necesario instalar primero JDK en la versión mas reciente, es muy necesario, para instalar:

Para LOC-os22:

sudo apt install default-jdk

Los paquetes para instalar NetBeans IDE no están disponibles a través del repositorio Debian Bullseye, por lo tanto, no podemos obtenerlos directamente usando el administrador de paquetes APT. Por lo tanto, visite el sitio web oficial de Apache NetBeans.

https://netbeans.apache.org/download/index.html

apache-netbeans_18-1_all.deb (SHA-512, PGP ASC) ubicamos este link dentro de la pagina mencionada , recuerden debe de tener .deb (Debian)

https://dlcdn.apache.org/netbeans/netbeans-installers/18/apache-netbeans_18-1_all.deb

al descargar  apache-netbeans_18-1_all.deb  quedara en el directorio Descargas



Entramos al directorio y lo cortamos, y lo pegamos en el directorio Documentos, ahi clic con botón derecho selecionamos, Instalador de aquetes GDebi:



a lo cual presentara la siguiente ventana solo hacemos clic en Instalar Paquete



es posible que presente este mensaje en Salida Lintian, lo que lo instalamos con el proceso ya conocido:


Cuando termina el proceso se vera esto en el escritorio:



Primer paso CentOS 9:

Instalamos java jdk, ya que netbeans es un framework escrito en JAVA, y requerimos el soporte de java para que sea instalado y podamos realizar programas en diferentes lenguajes.

Establecemos  JAVA_HOME la variable del entorno para ayudarnos a compilar los lenguajes de programación.

dnf install --nogpgcheck java-17-openjdk java-17-openjdk-devel
curl -O https://archive.apache.org/dist/netbeans/netbeans-installers/17/apache-netbeans-17-0.noarch.rpm

o con wget

wget https://archive.apache.org/dist/netbeans/netbeans-installers/17/apache-netbeans-17-0.noarch.rpm

no en pocas ocaciones la pagina no esta disponible o la version esta desactualizada o en proceso de cambio,  si es la situacion descarge de este enlace el archivo y lo instalas netbeans usamos:



 dnf localinstall --nogpgcheck apache-netbeans-17-0.noarch.rpm

puede ser la version  17 de preferencia o la reciente que este disponible


Este en un caso especial donde al terminar el proceso, debemos reiniciar el sistema, y en el apartado Programación del menu Explicaciones estara el Icono del programa.


en el caso que no se mostrara el icono de netbeans en el apartado programación debemos incluirlo manualmente :

debemos ingresar como superusuario su -, y ingresar a este directorio: /usr/share/applications


en este directorio se encuentran por decirlo de alguna manera "las instrucciones de acceso a los programas en GUI", observa que las extensiones son .desktop lo que significa que son archivos de "configuracion" para lanzar en ejecucion las aplicaciones de forma grafica, no todas las aplicaciones se les puede aplicar este procedimiento.

Para incluir este "archivo de configuración" debemos tener conocimiento de las instrucciones que llevan este archivo, para comenzar debemos de dar un nombre a la descripción de la aplicacion, en este caso es: netbeans.desktop y derechos de ejecucion dbe ser -rw-r--r-- , lectura escritura para propietario y lectura para el grupo y otros.

entones creamos un archivo vació con el nombre netbeans.desktop

y editamos con un editor de texto vi, vim, nano, etc. este archivo: vi netbeans.desktop, escribimos lo que sigue (cuando estemos revisando esto el instructor deberá explicar las instrucción de este script):

[Desktop Entry]
Version=1.0
Name=Netbeans IDE
Comment=Netbeans IDE
Exec=/usr/local/netbeans-17/netbeans/bin/./netbeans %F
Icon=/usr/local/netbeans-17/netbeans/nb/netbeans.png
Terminal=false
X-MultipleArgs=false
Type=Application
StartupNotify=true
Categories=Utility;Development;IDE;GTK;

dependiendo de la instalacion y de que repositorio tambien puede verse asi desde el directorio /usr/bin :

[Desktop Entry]
Encoding=UTF-8
Name=Apache NetBeans
Exec=/usr/bin/netbeans
Icon=apache-netbeans
Categories=Development;Java;IDE;
Version=1.0
Type=Application
Terminal=false
StartupWMClass=Apache NetBeans IDE 17


guardamos los cambios con Esc :wq

al terminar debemos de observar que el icono deberá presentarse en en apartado de Programación

para configurar correctamente Apache NetBeans observe este video, necesitas hacer los mismos pasos, para que se pueda incluir los plugins para ser usado en C/C++, ya que este no viene por defecto en estas versiones de Apache NetBeans


Como agregar multimedia a CentOS 9

Para esto es necesario tener instalado el repositorio EPEL y nux-dextop y este es necesario para agregar los paquetes.. (handbrake es una herramienta para la conversión de vídeo de casi cualquier formato a una selección de modernos codecs, ampliamente compatibles.) VLC (VLC es un reproductor multi-plataforma multimedia de código libre y abierto y un marco que reproduce archivos multimedia más, así como DVDs, CDs de audio, VCD y varios protocolos de streaming) y smplayer (es un reproductor multimedia gratuito para Windows y Linux con códecs incorporados que puede reproducir prácticamente todos los formatos de vídeo y audio. No se necesita ningún codec externos. Sólo tiene que instalar SMPlayer y será capaz de reproducir todos los formatos sin la molestia de encontrar e instalar paquetes de codecs)

como root realice esto:

dnf install --nogpgcheck flatpak 


ingrese a la pagina :

https://flatpak.org/setup/CentOS


use el boton flathub repository file


con ello descargara el repositorio de flatpak , flathub, solo haga clic en el archivo descargado y ejecutar instalara el repositorio para flatpak:

Para agregar Flathub a su sistema. ejecute el comando flathub.flatpakrepo en la carpeta de Descargas.
Antes de instalar una aplicación desde el repositorio, puede buscar su disponibilidad en Flathub usando la sintaxis:

flatpak search application_name

flatpak search kdenlive

es problable que se requiera reiniciar el sistema para que lo muestre en las aplicaciones

usando esto podras instalar en la aplicacion de sotware, donde se encuentra muchos programasgratuitos para CentOS

flatpak install flathub pitivi

Ahora en ella aplicación de Software de Centos encontraras muchas aplicaciones puedes instalarlas desde ahi.

Instalas con snap handbrake:


snap install handbrake-jz


instalar ffmpeg (esto es un plugin para los trabajos con multimedia)


dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
dnf install https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
dnf --enablerepo  crb install --nogpgcheck ladspa


Paso 1: instalar el repositorio nux-dextop.
Es probable que ya esten instalados pero realicelos por si hay algo nuevo.


dnf install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm

dnf install https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm

dnf install https://rpmfind.net/linux/centos-stream/9-stream/AppStream/x86_64/os/Packages/SDL2-2.26.0-1.el9.x86_64.rpm


instala ALSA para soporte del audio

dnf install alsa-ucm

El siguiente comando instala el decoder y codescs que sean necesario para reproducir ciertos tipos de medios.
Verifiquemos que estan instalados los codecs necesarios, es posible que ya esten listos.

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm


en este punto es posible que tengamos algunos paquetes instalados pero lo realizamos:


dnf --nogpgcheck upgrade
dnf install --nogpgcheck ffmpeg
dnf install --nogpgcheck gstreamer1-libav

VLC (VLC se puede instalar desde snap) también desde: flatpak install flathub vlc


Instalacion de DosBox

DOSBox: ejecutar aplicaciones DOS antiguas en Linux (aun hasta este momento no se ha integrado a Centos 9, ni a Debian 11)

se debe de instalar el repositorio schotty.

yum install -y https://schotty.com/yum/el/7/schotty-el7-release-7-1.noarch.rpm
yum install dosbox -y


DOSBox es un emulador de DOS que tiene versiones para Linux, FreeBSD, Mac OS X, Windows, etc. El emulador pretende crear el entorno apropiado para que las antiguas aplicaciones y juegos de DOS se puedan seguir empleando en los modernos sistemas operativos sin problemas de compatibilidad.

En ocasiones se requiere de un programa para MS-DOS y me he topado con el problema al querer ejecutarlo.

Para poder usarlo adecuadamente debemos primero crear un directorio para colocar los programas para DOS a usar, por ejemplo en /home/dos, para el caso de root, o bien /home/msantos/dos para el usuario.

mkdir dos
ls -l
total 4
drwxr-xr-x.  2 root    root       6 jul  1 21:44 dos
drwx------. 16 msantos msantos 4096 jun 25 15:13 msantos

DOSBox permitirá ejecutar programas o videojuegos para MS-DOS con extensión .exe, .com y .bat. Para hacer esto, solo se teclea lo siguiente para iniciarlo, desde una terminal o bien desde el menu de aplicaciones herramientas de sistema:

     

Una vez en ejecución se pueden usar los comandos para DOS para moverte por él. Ahora usaremos el directorio que creamos en /home o en el directorio del usuario, y allí guardar los ejecutables DOS que desees ejecutar. Si el ejecutable ya se encuentra allí, se puede teclear en DOSBox lo siguiente (Z:\> es el prompt de DOSBox ):

Z:\ > mount C /home/dos

Si todo esta bien se presentara un mensaje “Drive C is mounted as local directory /home/dos o en todo caso en el directorio del usuario”  en nuestro caso sera en /home/dos. Así se monta el directorio donde tienes los ejecutables DOS y está listo para usarse. Ahora debemos ejecutar el programa o juego DOS que queramos manejar.

 Teclea:

Z:\> C:

Ahora el prompt habrá cambiado a C:\>  se puede emplear dir y otros comandos DOS para establecer la signacion de las teclas use:

keyb la (cambiar el teclado de us estados unidos a latinoamericano)

Para moverse en los directorios y/o archivos. Si el ejecutable se encuentra dentro de otro subdirectorio, podemos dirigirnos a ese directorio escribiendo:

 C:\> cd nombre_directorio


Recordemos que existen algunos atajos de teclas para hacer ciertas operaciones dentro de DOSBox, como por ejemplo Ctrl+F9 para salir de DOSBox, Alt+INTRO para modificar el modo de pantalla completa, Ctrl+F5 para capturar pantalla y Ctrl+F10 para liberar el ratón o capturarlo para manejar la aplicación DOS.

Como la mayoría de programas que emulan sistemas, DOSBox requiere mucha más potencia computacional (de procesador principalmente) que los sistemas originales, dependiendo en gran medida del software que el usuario está ejecutando en el sistema emulado en cada momento. Además, los programas de DOS que se ejecutan en modo protegido (lo que incluye la mayoría de los juegos lanzados después de 1995) puede que se ejecuten más lentamente que en otros emuladores o máquinas virtuales como VMware o Virtual PC, dado que estos programas utilizan virtualización del procesador en lugar de emulación como DOSBox. En la versión actual de la adaptación a GP2X de DOSBox incluso los programas sencillos se ejecutan con cierta lentitud.

El archivo de configuración

El archivo de configuración es creado automáticamente la primera vez que inicia.

DOSBox. Se puede encontrar en el directorio del usuario que se logea, por ejemplo root:


/root/.dosbox (este es un directorio oculto)
ls -l
total 12
-rw-r--r--. 1 root root 10723 jul  1 21:49 dosbox-0.74.conf


El archivo está dividido en varias secciones. Cada una comienza con una línea [nombre de sección]. Las configuraciones son las líneas propiedad=valor en donde valor puede ser alterado para personalizar DOSBox. # y % indican líneas de comentarios.


Se puede generar un archivo de configuración extra mediante CONFIG.COM, que se puede encontrar en la unidad interna de DOSBox Z: al iniciarlo.


DOSBox cargará los archivos de configuración que sean especificados con -conf. Si no se especificó ninguno, tratará de cargar "dosbox.conf" del directorio local.


Si no se encuentra, cargará el archivo de configuración del usuario, este archivo se creará si no existe.


Ejemplo de configuración para el dosbox edite las secciones [dos] y autoexec para que tome los valores requeridos en cada ocasión que inicie, el archivo de configuración: dosbox-0.74.conf:

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support.
#            umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=la  (para agregar el tipo de teclado para este caso latinoamericano)

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c /home/dos    nota: (iniciando monta el directorio de uso para DOS)
C:  nota: (se cambia a la letra de la unidad)

Nota final

Cuando tenga los repositorios Nux-Dextop y Adobe, habilitados de forma predeterminada y no debe haber ningún problema con el funcionamiento de " yum update " o " yum upgrade" en el futuro.

Instalacion de Sublime 3

No esta disponible para LOC-OS22

Sublime Text es un editor de texto y editor de código fuente. Está escrito en C++ y Python para los plugins. Desarrollado originalmente como una extensión de Vim, con el tiempo fue creando una identidad propia. Aún conserva un modo de edición tipo vi llamado Vintage mode.2​

Se puede descargar y evaluar de forma gratuita. Sin embargo no es software libre o de código abierto​ y se debe obtener una licencia para su uso continuado, aunque la versión de evaluación es plenamente funcional y no tiene fecha de caducidad.

Agregamos el repositorio de YUM:

yum-config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo

y se instala asi:


yum install sublime-text -y

O se descarga la version que corresponda de x64

## On 64bit
wget http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3065_x64.tar.bz2


extraer el programa de sublime en el directorio /opt

## On 64bit
$ su -
tar -vxjf sublime_text_3_build_3065_x64.tar.bz2 -C /opt


Hacer un enlace simbolico

ln -s /opt/sublime_text_3/sublime_text /usr/bin/sublime3

Ejecutar sublime:


$ sublime3

crear un enalce desde el escritorios


sublime3 /usr/share/applications/sublime3.desktop

Añadir esto en sublime_text.desktop en /opt/sublime_text_3 y cerrar:

[Desktop Entry]
Name=Sublime3
Exec=sublime3
Terminal=false
Icon=/opt/sublime_text_3/Icon/48x48/sublime-text.png
Type=Application
Categories=TextEditor;IDE;Development
X-Ayatana-Desktop-Shortcuts=NewWindow
 
[NewWindow Shortcut Group]
Name=New Window
Exec=sublime -n
TargetEnvironment=Unity


Shutter

(en futuro se agregara a CentOS 9 y Debian 11, aun no esta disponible) es un programa de captura de pantalla rico en características para sistemas operativos basados ​​en Linux, como Ubuntu. Puede tomar una captura de pantalla de un área específica, ventana, toda su pantalla o incluso un sitio web, aplicarle diferentes efectos, dibujar sobre él para resaltar puntos y luego cargarlo en un sitio de alojamiento de imágenes, todo dentro de una ventana. Shutter es gratuito, de código abierto y tiene licencia bajo GPL v3.

Previamente debe estar instala el repositorio EPEL.

yum install shutter -y



Capturar


Shutter le permite capturar casi cualquier cosa en su pantalla sin perder el control sobre sus capturas de pantalla (interfaz con pestañas). Aquí hay una descripción general de lo que puede hacer con Shutter:


Capture un área específica

Esto le permite seleccionar una región arbitraria de su pantalla y capturar solo las partes que realmente necesita. Shutter ofrece dos herramientas diferentes para hacerlo con el fin de satisfacer el gusto de cualquier usuario.


Capture su escritorio

Shutter no solo captura todos los contenidos de su escritorio (o espacio de trabajo); también es compatible con configuraciones de múltiples monitores, p. capturar el monitor activo


Capture una ventana

Simplemente use su mouse para seleccionar la ventana que desea capturar. El obturador resaltará la ventana de selección actual de una manera atractiva y útil. Incluso es posible simplemente seleccionar una ventana de una lista y capturarla de una forma correcta.


Capture un menú o información sobre herramientas

La captura de menús o información sobre herramientas es muy fácil con Shutter. Selecciona una de las opciones y comienza una cuenta atrás (definida por el usuario). Durante este tiempo, puede abrir el menú deseado o dejar que aparezca una información sobre herramientas específica. Shutter lo reconocerá y capturará.


Capture un sitio web

Shutter usa gnome-web-photo para capturar un sitio web sin abrir una ventana del navegador

Editar
Especialmente si está tomando capturas de pantalla para escribir tutoriales o manuales, necesita editar la imagen, p. destacando parte de eso Con Shutter no es necesario abrir un editor de gráficos externo como GIMP, porque Shutter se envía con su propio editor incorporado. Estas son algunas de las características más importantes: Agregar texto, flechas, rectángulos, elipses ... El editor incorporado le permite agregar primitivos (por ejemplo, rectángulos, líneas, etc.), flechas o texto a su captura de pantalla. Cada forma se puede personalizar cambiando el color, las fuentes y / o el ancho de línea. Censor / Pixelize para ocultar datos privados ¿No desea mostrar datos confidenciales como IP o direcciones de correo electrónico? Shutter le brinda dos herramientas simples pero efectivas para ocultar estos datos. Forma de auto-incremento Al escribir una guía paso a paso, las personas a menudo agregan dígitos incrementales a las capturas de pantalla (generalmente a través de texto). Shutter ofrece una forma específica de incremento automático que se puede agregar a la captura de pantalla. ¡No puede ser más fácil!

Cultivo
El editor incorporado también incluye una herramienta para recortar su captura de pantalla. Simplemente seleccione una región con su mouse o ingrese las dimensiones deseadas en los campos de entrada. Compartir Todos pasamos gran parte de nuestro tiempo en foros, wikis, chats, etc. De vez en cuando tenemos que hacer algunas capturas de pantalla y subirlas para poder compartirlas con otras personas. Comparte fácilmente Shutter tiene una función incorporada para cargar su captura de pantalla con un buen formato de enlace para que pueda publicar el enlace generado directamente en el foro, wiki, etc. Únete a la nube La última versión de Shutter también es compatible con Ubuntu One. Complementos Shutter se envía con una gran variedad de complementos que le permiten agregar efectos impresionantes a sus capturas de pantalla. Dale un aspecto único a tus capturas de pantalla Una imagen vale mas que mil palabras.

Vokoscreen: graba screencasts en Linux de manera sencilla

Para Loc-OS22:

sudo apt-get install vokoscreen-ng

En Linux tenemos diversas aplicaciones que nos ayudan a hacer screencasts, bien desde la terminal con paquetes como RecordMyDesktop o directamente con ffmpeg, o simplemente de forma gráfica con otro software disponible. Lo cierto es que opciones hay varias, esto a veces suele confundir un poco al usuario, no obstante nunca antes elegir había sido más fácil.


Vokoscreen es una aplicación gráfica para grabar nuestro escritorio, con una variedad de opciones o extras que harán que nuestro resultado final sea el deseado. Usa en el background a ffmpeg, por lo que la potencia de esta aplicación no es inferior si la comparamos con otras similares, de hecho Vokoscreen nos brinda opciones que ciertamente encontraremos muy útiles.

se puede instalar desde snap

o se puede descargar el archivo : vokoscreenNG-3.6.0-linux-x64.run
que se encuentra en este servidor, se descargara en el directorio Descargas del usuario.

desde terminal del usuario ./vokoscreenNG-3.6.0-linux-x64.run

(no se ejecute como root no permitira la instalacion)

siga las instrucciones y quedara listo

en la mayoria de los casos se genera de forma automatica en aplicaciones en Sonido y Video -> vokoscreen

  

nmap Zenmap

 Para LOC-OS22:

sudo apt-get install nmap*

es una aplicación de interfaz gráfica para la aplicación nmap.

(Deberá tener acceso como root para tener todas la ventajas del nmap.)

nmap es una herramienta de mapeo de red utilizada para escanear los hosts conectados en una red e identificar los puertos que se abren. Es muy simple instalar Zenmap y se explica la forma de instalar Zenmap en CentOS 7.

dnf install nmap-*

Seleccionar objetivos:


 Direcciones o rangos IP, nombres de sistemas, redes, etc

Ejemplo: scanme.nmap.org, microsoft.com/24, 192.168.0.1, 10.0.0-255.1-254

-iL fichero lista en fichero -iR n elegir objetivos aleatoriamente, 0 nunca acaba

–exclude –excludefile fichero excluir sistemas desde fichero

Descubrir sistemas.
-PS n tcp syn ping
-PA n ping TCP ACK
-PU n ping UDP
-PM Netmask Req
-PP Timestamp Req
-PE Echo Req
-sL análisis de listado
-PO ping por protocolo
-PN No hacer ping
-n no hacer DNS
-R Resolver DNS en todos los sistemas objetivo
–traceroute: trazar ruta al sistema (para topologías de red)
-sP realizar ping, igual que con –PP –PM –PS443 –PA80
Técnicas de análisis de puertos
-sS análisis TCP SYN
-sT análisis TCP CONNECT
-sU análisis UDP
-sY análisis SCTP INIT
-sZ COOKIE ECHO de SCTP
-sO protocolo IP
-sW ventana TCP -sN
–sF -sX NULL, FIN, XMAS
–sA TCP ACK

Puertos a analizar y orden de análisis

-p n-mrango
-p– todos los puertos
-p n,m,z especificados
-p U:n-m,z T:n,m U para UDP, T para TCP
-F rápido, los 100 comunes
–top-ports n analizar los puertos más utilizados
-r no aleatorio

Duración y ejecución:

-T0 paranoico

-T1 sigiloso

-T2 sofisticado

-T3 normal

-T4 agresivo

-T5 locura

–min-hostgroup

–max-hostgroup

–min-rate

–max-rate

–min-parallelism

–max-parallelism

–min-rtt-timeout

–max-rtt-timeout

–initial-rtt-timeout

–max-retries

–host-timeout –scan-delay

Detección de servicios y versiones

-sV: detección de la versión de servicios
–all-ports no excluir puertos
–version-all probar cada exploración
–version-trace rastrear la actividad del análisis de versión

-O activar detección del S. Operativo

–fuzzy adivinar detección del SO
–max-os-tries establecer número máximo de intentos contra el sistema objetivo

Evasión de Firewalls/IDS

-f fragmentar paquetes
-D d1,d2 encubrir análisis con señuelos
-S ip falsear dirección origen
–g source falsear puerto origen
–randomize-hosts orden
–spoof-mac mac cambiar MAC de origen

Parámetros de nivel de detalle y depuración

-v Incrementar el nivel de detalle
–reason motivos por sistema y puerto
-d (1-9) establecer nivel de depuración
–packet-trace ruta de paquetes

Otras opciones

–resume file continuar análisis abortado (tomando formatos de salida con -oN o -oG)
-6 activar análisis IPV6
-A agresivo, igual que con -O -sV -sC –traceroute
Opciones interactivas
v/V aumentar/disminuir nivel de detalle del análisis
d/D aumentar/disminuir nivel de depuración
p/P activar/desactivar traza de paquetes
Scripts
-sC realizar análisis con los scripts por defecto
–script file ejecutar script (o todos)
–script-args n=v proporcionar argumentos
–script-trace mostrar comunicación entrante y saliente

Formatos de salida

-oN normal
-oX XML
-oG programable
–oA todos

Principalmente estos son los comandos de que dispone Nmap.

Comencemos a escanear…

$ nmap -sP 192.168.1.0/24

Esto escaneará las 255 direcciones de la red 192.168.1.0 El atributo -sP indica que será un escaneo mediante ping. Envia un ping (ICMP echo request) y un paquete TCP ACK al puerto 80. Si el destino contesta con otro ping o con un paquete TCP RST significa que está operativo.

Tipos de escaneo en función de los paquetes

Si no queremos usar la técnica del ping y el paquete ACK para comprobar el equipo o la red hay varias opciones diferentes:

solo el ping

nmap -PE 192.168.1.0/24

sólo el paquete ACK dirigiéndolo a un puerto determinado, p. ej. el 20

nmap -PA20 192.168.1.0/24

paquetes SYN al puerto 20

nmap -PS20 192.168.1.0/24

paquetes UDP al puerto 20

nmap -PU20 192.168.1.0/24

paquetes timestamp

nmap -PP 192.168.1.0/24

paquetes netmask request

nmap -PM 192.168.1.0/24

Latencia en la red


Si la red a escanear es lenta, tiene mucho tráfico o somos nosotros los que generamos gran cantidad de tráfico, el tiempo de respuesta aumentará. Para mitigar estos inconvenientes podemos ajustar el tiempo de búsqueda que emplea nmap. La opción -T indica la política de tiempo a usar. Existen 6 niveles con números entre 0-5, cuanto más alto más rápido. Si no se especifica se usa -T3


$ nmap -T5 192.168.1.0/24

Escanearía la red 192.168.1.0 en modo Insane, muy rápido…


Más opciones de escaneo serian:


–max-hostgroup 150 (enviar 150 peticiones simultaneas de escaneo)

–scan-delay2s (retardo entre escaneo de 2 segundos)

-host-timeout500m (tiempo empleado para escanear cada host de 500 milisegundos)


Descubriendo servicios en un host


Nmap por defecto escanea los puertos menores de 1024 más los que aparecen en el fichero nmap-services y que son mayores de 1024. Para solo escanear un determinado nº de puertos usaremos la opción -p


$ nmap -p 25,80,1000-4000 192.168.1.1

Con esto escaneamos el puerto 25,80 y del 1000 al 4000 del host 192.168.1.1


Hay varios estados posibles para un puerto. Si hay algún servicio escuchando en él, el estado es OPEN. Si no hay servicios en ese puerto puede respnder con un mensaje ICMP o simplemente con nada. En Linux estas respuestas vienen dadas por las reglas de IPTABLES REJECT (rechazar el paquete enviando un mensaje ICMP informando que el puerto esta cerrado) o DROP (tirar o ignorar el tráfico). En caso de que la petición sea ignorada Nmap mostrará el puerto como filtered, ya que no puede determinar si hay algún servicio o no en ese puerto.


También es posible que el equipo a sondear tenga los puertos abiertos pero tenga la política de no responder al ping ni al TCP ACK que usa Nmap para saber si el equipo está levantado. En ese caso el parámetro -P0 escaneará el objetivo asumiendo que el equipo está activo.


Sondeos sigilosos


SYN: Se trata en enviar un paquete TCP SYN al puerto a comprobar, y si hay algún servicio activo, el sistema escaneado continuará con la sequencia de conexión enviando un paquete TCP/SYN. En este punto Nmap tendría que proseguir enviando el ACK, pero no continúa con la secuencia de conexión y al no consumarse la conexión no queda registrado en los logs.


# nmap -PS20 192.168.1.0/24

Una técnica parecida es enviar una secuencia incorrecta de paquetes TCP con la intención de valerse de los mensajes recogidos para obtener información. Por ejemplo, enviar un paquete TCP FIN que corresponde al final de una conexión o enviar paquetes sin ningún flag activado. Las respuestas pueden servir para identificar los puertos abiertos o el sistema operativo.


Fingerprinting


Nmap puede averiguar el sistema operativo del objetivo usando las pequeñas diferencias en la implementación de los protocolos. Aunque siguen el mismo estándard al programar los sistemas, existen algunas disimilitudes que usa Nmap para determinar el sistema operativo para ver como responde a ciertas secuencias TCP/IP. El atributo es -O


$ su -
# nmap -O 192.168.1.33
Interesting ports on 192.168.1.33:
Not shown: 1676 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1110/tcp open nfsd-status
MAC Address: 00:18:DE:A0:B2:C9 (Unknown)
Device type: general purpose
Running: Microsoft Windows 2003/.NET|NT/2K/XP
OS details: Microsoft Windows 2003 Server or XP SP2
Nmap finished: 1 IP address (1 host up) scanned in 3.451 seconds


La otra técnica de Fingerprinting se usa para comprovar las versiones del software que escucha en los puertos, es decir el servidor ftp, la versión de apache, etc… El parámetro es -sV


$ su -
# nmap -sV -O -p 22,25,3306 localhost
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-06-27 18:43 CEST
Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3p2 Debian 9 (protocol 2.0)
25/tcp open smtp Exim smtpd 4.63
3306/tcp open mysql MySQL 5.0.32-Debian_7etch1-log
Device type: general purpose|printer|broadband router|telecom-misc
Running (JUST GUESSING) : Linux 2.4.X|2.5.X|2.6.X|2.3.X (95%), Lexmark embedded (93%), D-Link embedded (93%), Wooksung embedded (93%)
Aggressive OS guesses: Linux 2.4.0 - 2.5.20 (95%), Linux 2.4.18 (95%), Linux 2.4.18 - 2.4.20 (x86) (95%), Linux 2.4.20 (X86, Redhat 7.3) (95%), Linux 2.4.21 (x86, RedHat) (95%), Linux 2.4.22 (SPARC) (95%), Linux 2.4.30 (95%), Linux 2.4.7 - 2.6.11 (95%), Linux 2.5.25 - 2.6.8 or Gentoo 1.2 Linux 2.4.19 rc1-rc7 (95%), Linux 2.6.0-test10 (x86) (95%)
No exact OS matches for host (test conditions non-ideal).
Service Info: Host: xxxxx.xxxxxxxx; OS: Linux
Nmap finished: 1 IP address (1 host up) scanned in 10.892 seconds

Esto nos muestra información bastante valiosa sobre las versiones de SSH, Exim y MySQL así com el nombre y el dominio. También ha intentado determinar la versión del sistema operativo, pero no concreta la distribución usada (95% Gentoo) ni la versión del kernel. En la anterior prueba contra un Windows XP, si que es capaz de obtener información referente al sistema operativo, y en menos tiempo.

Todas las prácticas aquí mostradas se han realizado con fines experimentales.

Instalación de paquetes extras a epel, snap (https://snapcraft.io/)


https://www.onlyoffice.com/es/

es una suite que les es mas parecido al office tradicional para usarse y crear documentos 100% compatibles con word, excel, power point, también esta disponible para windows

#snap install onlyoffice-desktopeditors

en aquellos casos que se dificulte obtener el OnlyOffice use este link para descargarlo desde el servidor:

archivo de OnlyOffice en formato rpm onlyoffice-desktopeditors.x86_64.rpm, que se encuentra en el servidor, se descarga en el directorio Descargas y como su -, para la instalacion de la siguiente forma:

dnf localinstall onlyoffice-desktopeditors.x86_64.rpm

tambien puedes visitar su pagina web: https://www.onlyoffice.com/es/download-desktop.aspx#desktop

Instalador de aplicaciones de CentOS

Existe un instalador automático de aplicaciones en CentOS 9, se encuentra en Aplicaciones -> Herramientas del sistema -> Software.

Aunque no tiene todas las aplicaciones descritas tiene otras muy interesantes.

Están por categorías y pueden se revisadas por orden alfabético o de Relevancia.

En sonido y video por ejemplo.

Aquellos iconos que tienen una pequeña imagen arriba a la derecha, (una bolsa en color azul, y un símbolo de check) ya están instalados en el sistema, si no se necesita, se puede desinstalar haciendo un clic, sobre el software, y hacemos un clic, en desinstalar o uninstall, dependiendo del idioma del software

Si quiero retirar ISO Master, hago clic en el :

Y puedo lanzarlo (ejecutarlo) o bien quitar (desinstalar, uninstal) en este caso se mostró en español

si nos desplazamos hacia abajo encontraremos una descripción del software (app).

Si quiero instalar un app, uso el mismo proceso, pero selecciono aquellos que no tienen la bolsa de color azul:

también puedo ver algunos comentarios del software, y puedo decidir instalarlo o no, que se encuentran en la parte inferior:

Otra aplicación muy util en Centos es “cajas”


GNOME Boxes fue introducida en GNOME 3.4 como una solución de virtualización sencilla y alternativa al áspero virt-manager. Está centrada sobre todo en el escritorio y los usuarios finales que simplemente quieren ejecutar sistemas operativos adicionales de forma fácil y cómoda.

Se puede instalar desde la palicacion software de Centos 9, busque Cajas esta en el repositorio de flatpak (flathub), o en snap, recomeindo esta ultima es mas estable  y se instala desde la tienda de snap, lo revisaremos con mas detalle en la siguiente unidad.

Desde entonces GNOME Boxes, que utiliza QEMU, KVM y libvirt como tecnologías, ha ido mejorando poco a poco, y aunque en un principio cumple su propósito de ofrecer una solución de virtualización sencilla y amigable, quizá se muestra algo limitada frente a competidoras como VirtualBox y VMware Player, en parte porque estas dos últimas permiten establecer fácilmente la red en puente y cambiar la ubicación de las máquinas virtuales (por poner dos ejemplos sencillos). El enfoque amigable de GNOME Boxes tiene un precio, y es que no “no proporciona muchas de las opciones avanzadas para ajustar las máquinas virtuales proporcionadas por virt-manager”.

Code:Blocks

Para Loc-os22:

sudo apt-get install codeblocks

Instalar codeblocks, es un software catalogado como framework, y igual que NetBeans Apache, permite la creacion de codigo fuente, compilacion, y ejecución de diversos lenguajes de programacion, se debe de especificar de forma muy  cuidadosa el tipo de compilador a usar, hay para C, C++, Java, Fortran, etc.


instalar desde aplicación software de CentOS 9 como codeblocks repositorio flatpak (flakhub), la  version pude ser desde la 17 a la mas actualizada, 22, etc.

Esta aplicacion se encuentra en Aplicaciones -> programacion ->Code::Blocks IDE





(1) Curl Es una abreviatura de «Client URL». Los comandos de Curl están diseñados para funcionar como una forma de verificar la conectividad a las URL y como una gran herramienta para transferir datos.


El comando Curl es compatible con la siguiente lista de protocolos:

HTTP y HTTPS

FTP y FTPS

IMAP e IMAPS

POP3 y POP3S

SMB y SMBS

SFTP

SCP

TELNET

GOPHER

LDAP y LDAPS

SMTP y SMTPS

Instalación de Python

Para Loc-OS22:

Instalar Python 3.11.1 en Debian 11 y derivados

sudo apt update -y

sudo apt upgrade -y

Como vamos a hacer la instalación de Python desde su código fuente, necesitamos tener instaladas las herramientas y dependencias imprescindibles para su compilación. Lo hacemos ejecutando,

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev -y

Procedemos a la descarga de Python 3.11.1 con el comando wget.

wget https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tgz

Extraemos el fichero.

tar -xvzf Python-3.11.1.tgz
Accedemos al directorio recién creado y configuramos.

cd Python-3.11.1

sudo ./configure –enable-optimizations

Compilamos el código
Ahora tenemos que con el siguiente comando. El número 2 equivale al número de núcleos del procesador, si tienes problemas puedes modificarlo.
make -j 2
Dependiendo del hardware que tengas el proceso de compilación puede tardar un rato. Sé paciente, es hora del cafetito.
Instalamos Python 3.11.1

Una vez termine de compilar Python 3.11.1, procedemos a su instalación.

make altinstall

Cuando termine la instalación lo puedes verificar ejecutando

python3.11 -V

para instalar IDLE de python3.

sudo apt -y install idle


Para CentOS 9

Paso 1 – Requerimientos


Para esta intalacion de Python se requiere el compilador de  GCC en su sistema. Use el siguiente comando, como prerequisito.

dnf install --nogpgcheck gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make


es posible que ya se tenga instalado wget


Paso 2 – Descargar Python 3.13


Descargue Python usando el siguiente comando del sitio oficial puede también descargar la ultima versión, como su - , pase al directorio


cd /usr/src

wget https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tgz

Ahora extraemos el paquete.


tar xvf Python-3.13.0.tgz

Paso 3 – Instale Python 3.13


Use el comando abajo mostrado para compilar el codigo fuente en sus sistema LINUX.


cd Python-3.13.0/

./configure --enable-optimizations
make altinstall

make altinstall es usado para prevemir reemplazar python por default que se instala con el sistema en /usr/bin/python.

Ahora eliminamos el archivo de origen de u sistema.

rm /usr/src/Python-3.13.0.tgz

Paso 4 – Verificar la versión Python

Verifique la ultima version de python instalada usando esta instrucción.

python3.13 -V

El editor IDLE para CentOS provee herramientas python-tools. Necesitamos instalar usando el comando.

dnf -y install dnf-plugins-core
 

Si por alguna situación no logra instalar IDLE de python descargalo desde aquí:

IDLE python

lo instalas de esta forma, desde el directorio de descargas

rpm -ivh python3-idle-3.9.16-1.el9.x86_64.rpm

o en todo caso

dnf localinstall python3-idle-3.9.16-1.el9.x86_64.rpm

o si prefieres puedes usar ApacheNetBeans



Use la opción Tools  -> Plugins -> Python - Install

iniciamos un nuevo proyecto y seleccionamos Python



usamos el botón cambiar directorio (Change)



y en esta ventana seleccionamos Python 3.13 y hacemos clic en el botón Make Default, para que la versión instalada quede como entorno de programación





Hacemos clic en el botón apply y luego en OK y con ello regresamos a la fase de selección del proyecto para python



y podemos comenzar el proyecto de python


Instalar brasero (aplicacion para quemar discos CD-ROM, DVD, BLUE-RAY.

dnf install --nogpgcheck brasero*


Instalar Xsane

XSane es una herramienta gráfica que permite obtener archivos digitales a partir de documentos introducidos a través de un escáner conectado a nuestro ordenador.

La aplicación se distribuye en el escritorio en diferentes ventanas mediante las que podemos tener un control total sobre el proceso de captura y digitalización. Estas ventanas pueden ser mostradas u ocultadas a voluntad dependiendo de que sea o no necesario intervenir en la corrección de los parámetros que controla cada una de ellas.

en este enlace puede obtener el manual en español.

para instalar use:

dnf install xsane*

para su uso debería de instalar previamente los controladores (drivers) de la impresora que usaras (recomiendo brother)


Pasamos a la Unidad 3

https://www.wikihow.com/Use-SSH

https://weblinus.com/instalar-python-3-11-1-en-debian-11-y-derivados/
https://netbeans.apache.org/download/index.html
https://www.solvetic.com/tutoriales/article/8270-como-instalar-chrome-en-debian-11/