![no se puede editar el contenido de /sys/bus/pci/devices](https://rvso.com/image/1073518/no%20se%20puede%20editar%20el%20contenido%20de%20%2Fsys%2Fbus%2Fpci%2Fdevices.png)
al intentar correr
#!/bin/sh
for i in /sys/bus/pci/devices/*/boot_vga; do
if [ $(cat "$i") -eq 0 ]; then
GPU="${i%/boot_vga}"
AUDIO="$(echo "$GPU" | sed -e "s/0$/1/")"
USB="$(echo "$GPU" | sed -e "s/0$/2/")"
echo "vfio-pci" > "$GPU/driver_override"
if [ -d "$AUDIO" ]; then
echo "vfio-pci" > "$AUDIO/driver_override"
fi
if [ -d "$USB" ]; then
echo "vfio-pci" > "$USB/driver_override"
fi
fi
done
modprobe -i vfio-pci
(como un archivo sh) obtuve el resultado
./a.sh: 8: cannot create /sys/bus/pci/devices/0000:17:00.0/driver_override: Permission denied
./a.sh: 10: cannot create /sys/bus/pci/devices/0000:17:00.1/driver_override: Permission denied
Al mirar esas ubicaciones de archivos, descubrí que /sys/bus/pci/devices/0000:17:00.0/driver_override y /sys/bus/pci/devices/0000:17:00.1/driver_override ya existían, cuyo contenido es "(nulo)"
Respuesta1
Es probable que este problema se deba a que no está ejecutando el script con permisos de root. El /sys
directorio en Linux es parte del sistema de archivos virtual y está protegido. La modificación de archivos aquí a menudo requiere permisos de root (o superusuario).
En su caso, está intentando modificar driver_override
archivos, que necesitan mayores privilegios.
Intente ejecutar el script con sudo, así:
sudo ./a.sh
Este comando ejecutará el script con privilegios de root y ya no debería ver el error "Permiso denegado".
Sin embargo, tenga cuidado al ejecutar scripts con permisos de root, especialmente cuando modifican archivos del sistema, porque los errores podrían dañar su sistema. Asegúrese siempre de comprender qué hace el script antes de ejecutarlo como usuario root.
El contenido "(nulo)" en el driver_override
archivo puede deberse a que no se ha especificado ningún controlador para anular el actual. La driver_override
interfaz le permite especificar un controlador particular para vincularlo a un dispositivo cuando se realiza la prueba automática del controlador del dispositivo. Es una característica avanzada y debe usarse con cuidado.