В чем преимущество логического рабочего каталога?

Вы можете просто nix-env -f / path / to / custom / nixpkgs -iA your-package .

Почти все зависимости в nixpkgs чистые, поэтому различные версии в вашей системе «не влияют друг на друга». Затем вы можете nix-copy-closure этот пакет для других машин и т. Д.

2
27.04.2017, 02:17
2 ответа
$ cd this_is_a_symbolic_link
…
$ pwd
$ cd ..
1
27.01.2020, 21:59

Несколько сложный вариант использования:

В некоторых системах домашние каталоги пользователей могут, например, монтироваться с помощью автоматического монтирования (как в Solaris).

Из статьи «Automounter» в Википедии:

Целью автомонтирования является сохранение локальных системных ресурсов и уменьшение связи между системами, которые совместно используют файловые системы с несколькими серверами. Например, организация большого или среднего размера может иметь сотни файловых серверов и тысячи рабочих станций или других узлов, которые в любое время получают доступ к файлам с любого количества этих серверов. Обычно только относительно небольшое количество удаленных файловых систем (экспортов) будет активным на любом заданном узле в любой момент времени. Отсрочка монтирования такой файловой системы до тех пор, пока процессу действительно не понадобится к ней доступ, снижает потребность в отслеживании таких монтирований, повышая надежность, гибкость и производительность.

Автомонтировщик может смонтировать домашнюю общую папку NFS с какого-либо центрального файлового сервера по пути, например /a или /tmp_mnt или аналогичному, а затем создать символическая ссылка из /tmp_mnt/home/steve (физический домашний каталог) в /home/steve (логический домашний каталог) при входе в систему.

Это имеет преимущество , как упоминается в статье в Википедии, требуется только одно монтирование домашней общей папки NFS, даже если несколько пользователей активны. Когда чей-то домашний каталог больше не используется, символическая ссылка может быть удалена, а когда все пользователи выходят из системы, смонтированный общий ресурс NFS может быть даже полностью размонтирован.


Более простой пример:

Допустим, у вас закончилось место в /usr/local. Затем вы можете добавить новые диски и смонтировать их, например. /данные/диск1 и /данные/диск2. Затем вы можете скопировать старое содержимое /usr/local/bin в /data/disk1 и /usr/local/lib в . /disk/data2 и воссоздайте /usr/local/bin и /usr/local/lib как символические ссылки на эти два каталога.

Смена каталога с помощью cd /usr/local/bin физически переместит вас в /data/disk1, но логически вы окажетесь в /usr/local/ бин. Это также приводит к тому, что доступ к утилитам из /usr/local/bin обеспечивает прозрачный доступ к их физическому расположению в /data/disk1 без необходимости обновлять $PATH переменная.


Еще один:

Вы можете создать символическую ссылку с установленного пользователем USB-накопителя или другого запоминающего устройства в папке /media как /home/steve/my_work_files. Преимущество этого будет заключаться в том, что вы сможете cd в ~/my_work_files вместо того, чтобы помнить, где в /media находятся ваши файлы.

3
27.01.2020, 21:59

Теги

Похожие вопросы