Si el archivo rpm está en su directorio de inicio y su directorio de inicio está en NFS, la raíz puede no tener acceso a él. Esto es algo inusual: normalmente, la raíz puede acceder a todos los archivos. Pero en la configuración común, cuando la raíz accede a un directorio que está montado sobre NFS, nobody
se utilizan los derechos del usuario en lugar del usuario raíz. El objetivo principal es garantizar que la raíz del cliente no pueda manipular archivos como raíz en el servidor. Esto se implementa como "root tiene los permisos de nadie" en lugar de "root puede tener los permisos de cualquiera execpt root" principalmente porque esto es más fácil (aunque puede haber otras razones: algunos servidores NFS aplican esto a los usuarios que no sean root, para proteger a todos los usuarios del sistema en el servidor).
Si este es el problema, debe hacer que tanto el archivo rpm como el directorio que contiene el archivo sean accesibles para la raíz. Eso significa hacerlos accesibles para el usuario nobody
, y generalmente la única forma de hacerlo es hacer que el archivo y el directorio sean legibles en todo el mundo. Más precisamente, los permisos mínimos son
chmod a+x .
chmod a+r something.rpm
Alternativamente, mueva el archivo rpm a un directorio local.
mv something.rpm /tmp
sudo rpm -i /tmp/something.rpm
sudo -l