configurar una interfaz, que quiero sobrevivir al reinicio

configurar una interfaz, que quiero sobrevivir al reinicio

Quiero configurar una interfaz para la caja virtual, que está instalada en mi máquina Ubuntu. Cuando lo creo manualmente funciona:

vboxmanage hostonlyif create
vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1

Al marcar ifconfig, está ahí:

ingrese la descripción de la imagen aquí

Quiero que estos cambios sobrevivan al reinicio y se configuren automáticamente durante el inicio del sistema. Para eso, lo que hice fue:

sudo mkdir /opt/systemd/luego sudo mkdir /opt/systemd/luego sudo nano /opt/systemd/vboxhostonlyy copie el siguiente código en el archivo:

#!/bin/bash
vboxmanage hostonlyif create
vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1

luego Ctrl + X para salir, Y para guardar e ingresar para escribir el archivo.

Luego hago el archivo ejecutable.

cd /opt/systemd/ then sudo chmod a+x vboxhostonly

el creo un servicio para que

sudo touch /etc/systemd/system/vboxhostonlynic.service

Luego edito el archivo escribiendo sudo nano /etc/systemd/system/vboxhostonlynic.servicey luego escribiendo:

Description=Setup VirtualBox Hostonly Adapter
After=vboxdrv.service
[Service]
Type=oneshot
ExecStart=/opt/systemd/vboxhostonly
[Install]
WantedBy=multi-user.target

luego Ctrl + X para salir, Y para guardar e ingresar para escribir el archivo.

Ahora, para instalar el servicio y asegurarme de que se carga en el momento del arranque, escribo:

systemctl daemon-reload
systemctl enable vboxhostonlynic.service

Pero cuando reinicio la máquina, la interfaz no aparece, ¿agradecería alguna ayuda?

Respuesta1

Su bashscript no puede encontrarlo vboxmanageporque vboxmanageno está en ningún directorio del archivo $PATH. Intente utilizar la ruta completa a vboxmanage( type -p vboxmanage), pero es posible que tenga que mover más parte de su entorno al script.

Los trabajos que se ejecutan mediante systemdsecuencias de comandos de inicio no se ejecutan en el mismo entorno de ejecución que tiene en su escritorio. systemdLos scripts de inicio se ejecutan como root. Ninguno de sus PATHcambios u otras configuraciones de variables de entorno ~/.bashrcse propagan automáticamente a su systemdtrabajo. Por ejemplo, no existe $DISPLAY, por lo que los programas GUI necesitan un tratamiento especial (leer man xhost). Es posible que otras variables de entorno necesarias también necesiten ayuda.

Mira los resultados de echo "=== id ===";id;echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";aliasen cada uno de tus entornos.

información relacionada