Configuración de Rocky Linux 9#
Note
- Asegúrate de haber instalado la máquina virtual de Rocky Linux 9
Configuración en VirtualBox#
![]() |
Quitar imagen ISO de instalación#
![]() |
![]() |
Agregar interfaz host-only#
![]() |
![]() |
Configuración del portapapeles y drag and drop#
![]() |
Configuración de aceleración 3D#
![]() |
Creación de snapshot#
Configuración de la máquina virtual#
Información del sistema#
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Configuración de repositorios#
-
Eleva privilegios utilizando
suconsole [tonejito@rocky-9 ~]$ su - Password: [root@rocky-9 ~]# -
Actualiza la lista de paquetes disponibles
console [root@rocky-9 ~]# dnf makecache ... Metadata cache created.
Repositorio EPEL#
-
Instala el paquete
epel-releasepara agregar el repostorio EPEL al sistema.```console [root@rocky-9 ~]# dnf install epel-release ... ... ... Install 1 Package
Total download size: 19 k Installed size: 26 k Is this ok [y/N]: y Downloading Packages: epel-release-9-10.el9.noarch.rpm 29 kB/s | 19 kB 00:00
Total 21 kB/s | 19 kB 00:00 Rocky Linux 9 - Extras 904 kB/s | 1.7 kB 00:00 Importing GPG key 0x350D275D: Userid : "Rocky Enterprise Software Foundation - Release key 2022 releng@rockylinux.org" Fingerprint: 21CB 256A E16F C54C 6E65 2949 702D 426D 350D 275D From : /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9 Is this ok [y/N]: y Key imported successfully
... ... ...
Installed: epel-release-9-10.el9.noarch
Complete! ```
-
Actualiza la lista de paquetes disponibles
console [root@rocky-9 ~]# dnf makecache ... Metadata cache created.
Repositorio devel#
-
Habilita el repositorio
develpara instalar el paquetenetwork-scripts[root@rocky-9 ~]# dnf config-manager --enable devel<!--
console [root@alma-linux-9 ~]# dnf -y install almalinux-release-devel ...console [root@alma-linux-9 ~]# dnf-config-manager --add-repo https://repo.almalinux.org/almalinux/9/devel/almalinux-devel.repoWarning
Rocky Linux 9 no tiene el repositorio
develni el paquetenetwork-scripts, pero se puede utilizar el RPM de Rocky Linux 9 o Alma Linux 9- https://blog.racknerd.com/how-to-install-network-scripts-on-almalinux-9-rockylinux-9-and-centos-stream-9/
-->
-
Actualiza la lista de paquetes disponibles
console [root@rocky-9 ~]# dnf makecache ... Metadata cache created.
Configurar sudo#
-
Eleva privilegios utilizando
suconsole [tonejito@rocky-9 ~]$ su - Password: [root@rocky-9 ~]# -
Instala el paquete de
sudoconsole [root@rocky-9 ~]# dnf install sudo Last metadata expiration check: 0:06:35 ago on Tue 22 Feb 2022 01:43:37 AM CST. Package sudo-1.8.29-8.el9.x86_64 is already installed. -
Edita el archivo
/etc/sudoers```console
visudo#
```
Danger
- Utiliza únicamente el programa
visudopara editar el archivo/etc/sudoers, no lo intentes editar a mano con otro editor común de texto. - Si necesitas cambiar el editor, puedes exportar el nombre como variable de entorno:
export EDITOR=vim
- Utiliza únicamente el programa
-
Modifica la línea para no requerir contraseña al ejecutar
sudo```text
Allows people in group wheel to run all commands#
%wheel ALL=(ALL) ALL#
Same thing without a password#
%wheel ALL=(ALL) NOPASSWD: ALL ```
-
Agrega a tu usuario al grupo
wheelpara que pueda elevar privilegiosconsole [root@rocky-9 ~]# usermod -aG wheel tonejito -
Verifica que el usuario esté en el grupo
wheelconsole [root@rocky-9 ~]# groups tonejito tonejito : tonejito wheel -
Reinicia la máquina virtual para aplicar los cambios
console [root@rocky-9 ~]# reboot ...
Instalar SSH#
-
Instala el servicio de SSH
console [root@rocky-9 ~]# dnf install openssh-server Last metadata expiration check: 0:03:25 ago on Tue 22 Feb 2022 01:43:37 AM CST. Package openssh-server-8.0p1-12.el9.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete -
Habilita el servicio de SSH
console [root@rocky-9 ~]# systemctl enable --now sshd -
Agrega una regla al firewall de host para permitir el tráfico de entrada SSH
```console [root@rocky-9 ~]# firewall-cmd --zone=public --permanent --add-service=ssh Warning: ALREADY_ENABLED: ssh success
[root@rocky-9 ~]# firewall-cmd --reload success ```
Configura la interfaz de red host-only#
Opcional
Warning
Realiza estos pasos ÚNICAMENTE si tu interfaz host-only NO TIENE dirección IP y NO ESTÁ siendo administrada por Network Manager
-
Revisa que el sistema operativo reconozca la interfaz de red y que esta no se encuentre configurada
Note
En este ejemplo, la asignación de interfaces de red es la siguiente:
lo: loopbackenp0s3: NATenp0s8: host-only (esta es la interfaz que vas a configurar)
console [root@rocky-9 ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:3c:7d:19 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3 valid_lft 83813sec preferred_lft 83813sec inet6 fe80::a00:27ff:fe3c:7d19/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:2a:29:14 brd ff:ff:ff:ff:ff:ff 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:7b:94:83 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever -
Revisa el estado de las conexiones
console [root@rocky-9 ~]# nmcli connection NAME UUID TYPE DEVICE enp0s3 4f2e1cb4-4772-3dcf-8e42-d5909cce579e ethernet enp0s3 enp0s8 391d86fd-2a82-38f2-a156-f25a70d34e8e ethernet enp0s8 lo 76541b23-a341-48d2-b092-9e2a98e89f5c loopback lo -
Revisa el estado de los dispositivos
console [root@rocky-9 ~]# nmcli device DEVICE TYPE STATE CONNECTION enp0s3 ethernet connected enp0s3 enp0s8 ethernet connected enp0s8 lo loopback connected (externally) lo -
Crea el archivo
/etc/sysconfig/network-scripts/ifcfg-enp0s8con el siguiente conetenidoNote
- Verifica el nombre de tu interfaz de red
- Este ejemplo utiliza la interfaz de red
enp0s8
console DEVICE=enp0s8 TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=no NAME=enp0s8 ONBOOT=yes -
Instala los paquetes de compatibilidad para tener los comandos
ifupeifdownconsole [root@rocky-9 ~]# dnf install network-scripts NetworkManager-initscripts-updown ...
Verifica la configuración de las interfaces de red
- Levanta de manera manual tu interfaz de red
```console
[root@rocky-9 ~]# ifup enp0s8
WARN : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.
WARN : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.
WARN : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.
```
- Verifica que la interfaz de red esté configurada
!!! note
En este ejemplo, la asignación de interfaces de red es la siguiente:
- `lo`: _loopback_
- `enp0s3`: NAT
- `enp0s8`: _host-only_
```console
[root@rocky-9 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:3c:7d:19 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
valid_lft 83693sec preferred_lft 83693sec
inet6 fe80::a00:27ff:fe3c:7d19/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:2a:29:14 brd ff:ff:ff:ff:ff:ff
inet 172.28.128.8/24 brd 172.28.128.255 scope global dynamic noprefixroute enp0s8
valid_lft 592sec preferred_lft 592sec
inet6 fe80::a00:27ff:fe2a:2914/64 scope link
valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:7b:94:83 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
```
!!! note
Puede que no te aparezca la interfaz de red `virbr0`
Instalar software#
-
Instala las herramientas de Python en el sistema
console [root@rocky-9 ~]# dnf install python3 python3-devel python3-pip ... -
Instala las herramientas de red en el sistema
console [root@rocky-9 ~]# dnf install tcpdump nmap netcat ngrep dsniff wget curl whois bind-utils net-tools iproute iptables iptables-services iputils traceroute ethtool ...
Instalar wireshark#
-
Instala
wiresharkutilizandodnfconsole [root@rocky-9 ~]# dnf install wireshark wireshark-cli ... -
Verifica que exista el grupo de usuarios
wiresharkconsole [root@rocky-9 ~]# getent group wireshark wireshark:x:972: -
Agrega tu usuario al grupo
wiresharkconsole [root@rocky-9 ~]# usermod -aG wireshark tonejito -
Verifica que tu usuario pertenezca al grupo
console [root@rocky-9 ~]# groups tonejito tonejito : tonejito wheel wireshark
Configuración de las herramientas de VirtualBox para Linux#
-
Instala las herramientas de desarrollo para compilar los módulos de kernel
```console [root@rocky-9 ~]# dnf groupinstall "Development tools" ...
[root@rocky-9 ~]# dnf install make zstd dkms kernel-headers kernel-devel kernel-devel-$(uname -r) ```
-
Inserta la imagen ISO de las utilerías de VirtualBox en la máquina virtual
![]() |
-
Verifica que la imagen ISO se encuentre montada en
/run/media/tonejito/VBox_GAs_7.2.6/o/media/cdromWarning
- El nombre de la carpeta puede ser diferente en otras versiones de VirtualBox
console [root@rocky-9 ~]# lsblk --fs /dev/sr0 NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sr0 iso9660 Joliet VBox_GAs_7.2.6 2026-01-15-16-31-13-49 0 100% /run/media/tonejito/VBox_GAs_7.2.6Note
- Monta la imágen ISO en el directorio si es necesario
- En este caso tendrás que utilizar el directorio
/media/cdromo similar en lugar del directorio auto-montado en/run/media/tonejito/VBox_GAs_7.2.6
```console [root@rocky-9 ~]# mkdir -vp /media/cdrom mkdir: created directory '/media/cdrom' [root@rocky-9 ~]# mount -t iso9660 /dev/cdrom /media/cdrom mount: /media/cdrom: WARNING: source write-protected, mounted read-only. ```console [root@rocky-9 ~]# ls -lA /run/media/tonejito/VBox_GAs_7.2.6/ total 46923 dr-xr-xr-x 2 root root 792 Nov 22 09:24 cert dr-xr-xr-x 2 root root 1824 Nov 22 09:24 NT3x dr-xr-xr-x 2 root root 2652 Nov 22 09:24 OS2 -r--r--r-- 1 root root 763 Feb 20 2020 AUTORUN.INF -r-xr-xr-x 1 root root 6384 Nov 22 09:17 autorun.sh -r-xr-xr-x 1 root root 4821 Nov 22 09:17 runasroot.sh -r--r--r-- 1 root root 592 Nov 22 09:24 TRANS.TBL -r--r--r-- 1 root root 3991991 Nov 22 09:21 VBoxDarwinAdditions.pkg -r-xr-xr-x 1 root root 3949 Nov 22 09:16 VBoxDarwinAdditionsUninstall.tool -r-xr-xr-x 1 root root 7443891 Nov 22 09:18 VBoxLinuxAdditions.run -r--r--r-- 1 root root 9420288 Nov 22 09:10 VBoxSolarisAdditions.pkg -r-xr-xr-x 1 root root 16890912 Nov 22 09:21 VBoxWindowsAdditions-amd64.exe -r-xr-xr-x 1 root root 270840 Nov 22 09:18 VBoxWindowsAdditions.exe -r-xr-xr-x 1 root root 9998128 Nov 22 09:19 VBoxWindowsAdditions-x86.exe -r--r--r-- 1 root root 259 Oct 4 10:48 windows11-bypass.reg -
Ejecuta el script de instalación para compilar los módulos de kernel y habilitar los servicios
```console [root@rocky-9 ~]# cd /run/media/tonejito/VBox_GAs_7.2.6/ [root@rocky-9 VBox_GAs_7.2.6]# bash ./VBoxLinuxAdditions.run Verifying archive integrity... 100% MD5 checksums are OK. All good. Uncompressing VirtualBox 7.2.6 Guest Additions for Linux ... VirtualBox Guest Additions installer VirtualBox Guest Additions: Starting. VirtualBox Guest Additions: Setting up modules VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules. This may take a while. VirtualBox Guest Additions: To build modules for other installed kernels, run VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup
VirtualBox Guest Additions: or VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all VirtualBox Guest Additions: Building the modules for kernel 5.14.0-570.37.1.el9_6.x86_64. VirtualBox Guest Additions: Look at /var/log/vboxadd-setup.log to find out what went wrong VirtualBox Guest Additions: reloading kernel modules and services VirtualBox Guest Additions: kernel modules were not reloaded VirtualBox Guest Additions: kernel modules and services were not reloaded The log file /var/log/vboxadd-setup.log may contain further information. ```
Warning
- El error que se lanza es por una característica que tiene el kernel de Rocky Linux
- Este error no debería afectar la funcionalidad de las utilerías de VirtualBox
- Si aparece un error
Kernel headers not found for target kernelactualizar el kernel actual, reiniciar la máquina e intentar de nuevo
``` [root@rocky-9 ~]# dnf update kernel kernel-* ```Danger
Si necesitas reintentar la instalación, desinstala las utilerías de VirtualBox, reinicla la máquina e intenta de nuevo
```console [root@rocky-9 ~]# /usr/sbin/vbox-uninstall-guest-additions ...
[root@rocky-9 ~]# reboot ```
- El error que se lanza es por una característica que tiene el kernel de Rocky Linux
-
Lista los módulos de kernel para revisar que se hayan compilado.
console [root@rocky-9 ~]# ls -l /lib/modules/$(uname -r)/misc/ total 7972 -rw-r--r-- 1 root root 3234688 Sep 8 22:52 vboxguest.ko -rw-r--r-- 1 root root 2154488 Sep 8 22:52 vboxsf.ko -rw-r--r-- 1 root root 2770264 Sep 8 22:53 vboxvideo.koNote
No importa que falte el módulo
vboxvideo.ko, sólo se utiliza para las siguientes características- Redimensionar la pantalla de la máquina virtual para que se ajuste al tamaño de la ventana
- Soporte drag and drop para copiar archivos entre la máquina física y la virtual y viceversa
-
Reinicia el equipo y verifica que los módulos de kernel se carguen
Note
- En este punto ya podrías utilizar las funciones de resolución automática, portapapeles compartido, carpetas compartidas y arrastrar desde y hacia la máquina virtual para copiar archivos.
console [root@rocky-9 ~]# lsmod | egrep -i 'v(irtual)?box' [root@rocky-9 ~]# lsmod | grep -i vbox vboxsf 90112 0 vboxvideo 32768 0 vboxguest 385024 3 vboxsf drm_vram_helper 20480 1 vboxvideo drm_ttm_helper 16384 2 drm_vram_helper,vboxvideo drm_kms_helper 266240 3 vmwgfx,drm_vram_helper,vboxvideo drm 585728 9 vmwgfx,drm_kms_helper,drm_vram_helper,vboxvideo,drm_ttm_helper,ttmWarning
Si no te aparecen los módulos de kernel, intenta compilar para todas las versiones de kernel que tienes y reinicia la máquina
[root@rocky-9 ~]# /sbin/rcvboxadd quicksetup all ...Note
Si aún después de reiniciar la máquina no te aparecen los módulos de VirtualBox, intenta forzar la carga desde el directorio
/etc/modules-load.d/y reiniciar la máquina``` [root@rocky-9 ~]# ls -1 /lib/modules/$(uname -r)/misc/ | sed -e 's/.ko//g' > /etc/modules-load.d/99-virtualbox
[root@rocky-9 ~]# dracut --regenerate-all -f ...
[root@rocky-9 ~]# reboot ```
Servicios de VirtualBox en la máquina virtual#
Revisa que los servicios de las utilerías de VirtualBox estén iniciados en el sistema después de haber reiniciado la máquina
[root@rocky-9 ~]# systemctl list-units | egrep 'UNIT|v(irtual)?box'
UNIT LOAD ACTIVE SUB DESCRIPTION
vboxadd.service loaded active exited vboxadd.service
vboxadd-service.service loaded active running vboxadd-service.service
Warning
Habilitar los servicios en caso de que no esten iniciados, reiniciar la máquina y verificar de nuevo
console
[root@rocky-9 ~]# systemctl daemon-reload
[root@rocky-9 ~]# systemctl enable vboxadd.service vboxadd-service.service
Revisa el estado del servicio vboxadd.service
``` [root@rocky-9 ~]# systemctl status --full --no-pager vboxadd.service ● vboxadd.service Loaded: loaded (/opt/VBoxGuestAdditions-7.2.6/init/vboxadd; enabled; preset: disabled) Active: active (exited) since Fri 2025-09-28 00:01:02 UTC; 1min ago Process: 602 ExecStart=/opt/VBoxGuestAdditions-7.2.6/init/vboxadd start (code=exited, status=0/SUCCESS) Main PID: 602 (code=exited, status=0/SUCCESS) CPU: 1.234s
Sep 28 00:01:02 rocky-9 systemd[1]: Starting vboxadd.service... Sep 28 00:01:02 rocky-9 vboxadd[602]: VirtualBox Guest Additions: Starting. Sep 28 00:01:02 rocky-9 systemd[1]: Finished vboxadd.service. ```
Revisa el estado del servicio vboxadd-service.service
``` [root@rocky-9 ~]# systemctl status --full --no-pager vboxadd-service.service ● vboxadd-service.service Loaded: loaded (/opt/VBoxGuestAdditions-7.2.6/init/vboxadd-service; enabled; preset: disabled) Active: active (running) since Fri 2025-09-28 00:01:02 UTC; 1min ago Process: 937 ExecStart=/opt/VBoxGuestAdditions-7.2.6/init/vboxadd-service start (code=exited, status=0/SUCCESS) Tasks: 9 (limit: 11078) Memory: 4.0M CPU: 567ms CGroup: /system.slice/vboxadd-service.service └─123 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
Sep 28 00:01:02 rocky-9 systemd[1]: Starting vboxadd-service.service... Sep 28 00:01:02 rocky-9 vboxadd-service[937]: vboxadd-service.sh: Starting VirtualBox Guest Addition service. Sep 28 00:01:02 rocky-9 vboxadd-service.sh[950]: Starting VirtualBox Guest Addition service. Sep 28 00:01:02 rocky-9 vboxadd-service.sh[978]: VirtualBox Guest Addition service started. Sep 28 00:01:02 rocky-9 systemd[1]: Started vboxadd-service.service. ```
Configuración de carpeta compartida con la máquina física#
-
Agrega tu usuario al grupo
vboxsfconsole [root@rocky-9 ~]# usermod -aG vboxsf tonejito -
Reinicia la máquina
console [root@rocky-9 ~]# reboot -
Una vez que las utilerías de VirtualBox se encuentren configuradas en la máquina virtual, puedes compartir carpetas
![]() |
![]() |
![]() |
Note
Para montar la carpeta compartida de manera manual se utiliza este comando
console
[root@rocky-9 ~]# mkdir -vp /mnt/shared
[root@rocky-9 ~]# mount -t vboxsf Public /mnt/shared
Puedes usar este comando para probar la carpeta compartida, pero las utilerías de VirtualBox deberían montarla de manera «automágica» al reiniciar la máquina virtual.
-
Verifica que la carpeta compartida esté en la ubicación que seleccionaste
-
Puedes crear algunos archivos o directorios y ver que aparezcan en la máquina física y en la virtual
console [root@rocky-9 ~]# mount | grep vbox Public on /mnt/shared type vboxsf (rw,nodev,relatime,iocharset=utf8,uid=0,gid=973,dmode=0770,fmode=0770,tag=VBoxAutomounter)
Warning
- La carpeta compartida se monta de manera predeterminada con privilegios restrictivos
- Puedes agregar una entrada a
/etc/fstabcon la información de montaje que está en/etc/mtaby ajustarla con los identificadoresuidygidde tu usuario
-
Info
- Cuando hayas terminado de configurar la máquina Rocky Linux, captura la información de los entregables y envíala en un merge request al repositorio de tareas

















