Могу ли я иметь личную / пользовательскую папку и т. Д.?

Я часто возился с программным обеспечением, созданным из исходных текстов, которое я устанавливаю в $HOME/.local. Чтобы заставить его работать, мне нужно экспортировать различные переменные, такие как LD_LIBRARY_PATH. Но я не хочу экспортировать их все вручную каждый раз я хочу использовать некоторые из этого программного обеспечения. Большинство из них можно экспортировать в моем $HOME/.profile и .bashrc файл, но не LD_LIBRARY_PATH. Это можно изменить только в /etc/ld.so.conf. Но я не хочу изменять файлы root. Итак, мой вопрос: могу ли я создать папку в моей домашней папке / в любом месте, которая будет автоматически рассматриваться как вторая /etc папка, или есть переменная среды, которую я могу установить, чтобы указать на такой каталог?

1 ответ
1

Вы можете использовать
не делиться командой
смонтировать и заменить любой понравившийся файл или папку. Также есть решение chroot, но реализовать его гораздо сложнее.

Хороший пример можно найти в посте
Могу ли я создать файл hosts для конкретного пользователя в дополнение к / etc / hosts?

В ответ от frielp
хороший пример замены hosts файл:

Частные пространства монтирования, созданные с помощью unshare Команда может использоваться для предоставления частного файла / etc / hosts процессу оболочки и любым последующим дочерним процессам, запускаемым из этой оболочки.

# 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

В unshare команда заменяет файлы или папки. Итак, если вы только хотите Добавить к некоторым файлам в /etc, вам нужно будет создать файлы замены, добавив свои данные к исходному содержимому.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *