Для упрощения резервного копирования
Вариант использования 1: перемещение документов в отдельный локальный раздел или раздел NFS
Допустим, вам нравится обновлять вашу операционную систему с каждым новым выпуском. Типичным подходом к резервному копированию будет копирование вашей домашней папки в отдельный раздел, чтобы вы могли скопировать содержимое обратно после установки.
Обычно я делаю символическую ссылку на папки, которые я хочу сохранить в отдельном разделе. Чтобы восстановить символические ссылки, я просто запускаю быстрый скрипт bash для восстановления ссылок после установки ОС.
Я бы назвал это резервным копированием ваших данных, но на самом деле нет никакого дополнительного шага «резервного копирования». Приятно то, что если вы случайно нажали кнопку noob, например, «rm -rf», в вашей файловой системе, rm не будет следовать символическим ссылкам, поэтому вы не потеряете свои файлы.
Примечание: я понимаю, что вы можете изменить местоположение, где находится /home, с помощью /etc /fstab. Причина, по которой я не использую эту технику, заключается в том, что я хочу лишь выборочно связать части своих пользовательских файлов и оставить позади все накопленное мусор.
Вариант использования 2. Использование кроссплатформенного раздела (простой способ)
Дополнительным преимуществом использования символических ссылок (программных ссылок) является то, что они работают в разных файловых системах.
Некоторые из нас не могут позволить себе роскошь (из-за потребностей бизнеса) использовать Linux в качестве нашей единственной ОС, поэтому мы сильно отходим назад и четвертым. Чтобы расширить Случай 1, я лично использую раздел NTFS для моих пользовательских файлов и символическую ссылку на различные конфигурационные и пользовательские файлы, которые я хочу добавить в Linux. Это хранит все мои вещи в одном месте.
Примечание. Если вы еще не знали, вы также можете создавать символические ссылки в Windows с помощью команды MKLINK.
Представь себе это. У вас есть учетная запись Dropbox, которую вы используете как в Linux, так и в Windows. Чтобы избежать необходимости загружать / синхронизировать две копии одних и тех же файлов, все так же легко использовать в обеих ОС, как символическую ссылку на папку Dropbox в разделе NTFS из папки / home.
Примечание: Для автоматического монтирования диска NTFS (в дистрибутивах на основе Debian, не уверенных в других) вам нужно добавить точку монтирования в /etc /fstab с umask = 000 для привилегий записи.
Вариант использования 3: для одновременной поддержки стандартных и пользовательских структур папок
Допустим, вы веб-разработчик, который отвечает за работу на нескольких сайтах.
Вы правильно настроили свой тестовый сервер в:
/opt/lampp
Вы можете попытаться создать одну массивную конфигурацию, которая будет работать на всех сайтах, но которая станет громоздкой для поддержки со временем по мере добавления новых сайтов. Чем больше сайтов вы добавляете, тем больше несинхронизируются параметры разрешений с рабочим сервером.
Что происходит, когда вы хотите сбросить конфигурацию рабочего сервера, чтобы проверить наличие уязвимостей в системе безопасности или убедиться, что на сервере не отображаются ошибки сценариев на стороне сервера. Вы просто добавили еще один набор исключений для этого? Насколько вы уверены, что ваша конфигурация тестирования такая же, как и у других разработчиков в команде?
Apache, в частности, чрезвычайно гибок, когда дело доходит до конфигураций, но с гибкостью приходит сложность; а сложность создает риск, когда вы пишете код для Интернета.
К счастью, есть гораздо более простой подход. Создайте bash-скрипт для каждого сайта с аргументами --testing и --production. Затем просто сконфигурируйте аргументы, чтобы сбросить соответствующие символические ссылки в папки htdocs и config для конкретной конфигурации. Сайт может находиться под контролем версий, в отдельном разделе или даже на удаленном общем ресурсе. Это не имеет значения, если символические ссылки указывают на правильное место.
Обновление:
За это снова проголосовали, поэтому я решил добавить еще 2 общих варианта использования.
Вариант использования 4. Создание приложений, легко доступных через командную строку
Допустим, вы устанавливаете новое приложение, такое как Sublime Text, в «/opt/Sublime Text», чтобы предоставить доступ на уровне пользователя, не требуя привилегий root.
Чтобы сделать его легко доступным через командную строку, одним из распространенных подходов является изменение переменной $ PATH для включения каталога приложения Sublime. Этот подход может быть менее чем идеальным, потому что $ PATH имеет ограниченную длину, имеет тенденцию загрязняться большим количеством ссылок на пути к общим библиотекам, и его труднее удалить позже.
Поскольку /usr /bin (т. Е. Один из основных каталогов приложений) уже включен в $ PATH, почему бы не использовать его в качестве дополнения?
Самый простой подход - создать символическую ссылку /usr /bin /, указывающую на исполняемый файл Sublime Text.
sudo ln -s "/opt/Sublime Text/sublime" /usr/bin/sublime
Теперь запустить Sublime text editor из командной строки так же просто, как набрать sublime
в терминале. Sudo требуется только при создании / удалении символической ссылки, потому что / usr / bin по умолчанию имеет привилегии выполнения на уровне пользователя.
Вариант использования 5: бесшовное резервное копирование и выборочная синхронизация с облаком
Среди ИТ-специалистов один из наиболее распространенных советов - «сделайте резервную копию ваших файлов». Но резервные копии так «2000 и поздно».
Хотя существует множество доступных служб синхронизации файлов, они не очень гибки в организации файлов. Обычно им требуется собственная папка, размещенная в пользовательском каталоге, и не все поддерживают выборочную синхронизацию. Это нормально, потому что символические ссылки решают обе проблемы.
В случае расположения папки, кого это волнует. Если вы не хотите синхронизировать все содержимое ваших домашних каталогов (т.е. я предпочитаю быть более избирательным в отношении резервных копий), это хорошее место для этого.
Что касается того, что вы синхронизируете. Это зависит от ваших предпочтений. Лично я предпочитаю синхронизировать с облаком такие вещи, как сохранение игр, проекты по разработке программного обеспечения, документы, портативное программное обеспечение и конфигурации, а также синхронизировать фотографии с другим сервисом, который более приспособлен к изображениям.
Недавно мой основной настольный компьютер (т.е. iMac) испытал сбой внутреннего жесткого диска после 6 лет использования с потерей данных 0. Конечно, мне пришлось переустанавливать ОС, приложения и заново связывать все, но было приятно начать все заново, и я смог написать большую часть процесса, чтобы сделать его проще в будущем.