¿Puedo tener una carpeta privada/específica del usuario, etc.?

¿Puedo tener una carpeta privada/específica del usuario, etc.?

A menudo juego con software creado a partir de la fuente, que instalo en formato $HOME/.local. Para que se ejecute, tengo que exportar varias variables como LD_LIBRARY_PATH. Pero no quiero tener que exportarlos todos manualmente.cadavez quiero usar algo de ese software. La mayoría de ellos se pueden exportar en mi archivo $HOME/.profiley .bashrc, pero no en LD_LIBRARY_PATH. Éste sólo se puede cambiar en /etc/ld.so.conf. Pero no quiero modificar los archivos de root. Entonces mi pregunta es: ¿Puedo crear una carpeta en mi carpeta de inicio/en cualquier lugar, que será tratada automáticamente como una segunda /etccarpeta, o hay una variable de entorno que puedo configurar para que apunte a dicho directorio?

Respuesta1

Podrías usar el comando para dejar de compartir para montar y reemplazar cualquier archivo o carpeta que desee. También existe la solución de chroot, pero es mucho más complicada de implementar.

Un buen ejemplo se encuentra en la publicación. ¿Puedo crear un archivo hosts específico del usuario para complementar /etc/hosts?

Elrespuesta por frielp es un buen ejemplo para reemplazar el hostsarchivo:

Los espacios de montaje privados creados con el unsharecomando se pueden usar para proporcionar un archivo /etc/hosts privado a un proceso de shell y a cualquier proceso secundario posterior iniciado desde ese shell.

# Start by creating your custom /etc/hosts file
[user] cd ~
[user] cat >my_hosts <<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 news.bbc.co.uk
EOF

[user] sudo unshare --mount
# We're now running as root in a private mountspace. 
# Any filesystem mounts performed in this private mountspace
# are private to this shell process and its children

# Use a bind mount to install our custom hosts file over /etc/hosts
[root] mount my_hosts /etc/hosts --bind

[root] cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 news.bbc.co.uk

[root] exec su - appuser

[appuser] # Run your app here that needs a custom /etc/hosts file

[appuser] ping news.bbc.co.uk
PING news.bbc.co.uk (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.062 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.026 ms
^C
--- news.bbc.co.uk ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.026/0.044/0.062/0.018 ms

El unsharecomando reemplaza archivos o carpetas. Así que si sólo deseasagregarPara algunos archivos en /etc, deberá crear los archivos de reemplazo agregando sus datos al contenido original.

información relacionada