Вы можете просто nix-env -f / path / to / custom / nixpkgs -iA your-package
.
Почти все зависимости в nixpkgs чистые, поэтому различные версии в вашей системе «не влияют друг на друга». Затем вы можете nix-copy-closure
этот пакет для других машин и т. Д.
$ cd this_is_a_symbolic_link
…
$ pwd
$ cd ..
Несколько сложный вариант использования:
В некоторых системах домашние каталоги пользователей могут, например, монтироваться с помощью автоматического монтирования (как в 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
находятся ваши файлы.