Linux, может ли домашний каталог быть символической ссылкой?

9

У меня есть второй большой жесткий диск, смонтированный в Ubuntu в / media / storage. Я хотел бы, чтобы мои домашние каталоги для меня и всех будущих пользователей системы были также расположены на этом накопителе.

Я думал, что самый простой способ сделать это - переместить / home в / media / storage / home и затем создать символическую ссылку, чтобы / home указывал на / media / storage / home. Будет ли это работать хорошо?

Единственная причина, по которой я спрашиваю, заключается в том, что я знаю, что в домашнем каталоге пользователя хранится много специальной информации о конфигурации, поэтому я не знал, может ли это что-то испортить в системе.

Есть ли лучшие альтернативные методы для перемещения домашнего каталога?

Джейк Уилсон
источник
хорошие связанные вопросы: superuser.com/questions/84586/… ... superuser.com/questions/30216/why-create-many-partitions
квик-кихот

Ответы:

7

То, что вы описываете, это одна стратегия, которая будет работать.

Другой вариант - монтировать диск непосредственно в / home , а не в / media / storage . Если вы это сделаете, вы, вероятно, захотите переместить любые существующие данные в другие папки, чтобы у вас не было дополнительных подкаталогов / home / foo .

Основная потенциальная проблема с обеими стратегиями заключается в том, что домашние каталоги не будут доступны, если по какой-либо причине не удастся смонтировать накопитель. Если это произойдет, стратегия символической ссылки, вероятно, потерпит неудачу сильнее; стратегия прямого монтирования оставит фактический каталог, поэтому программы, пытающиеся получить доступ к / home / foo , потерпят неудачу, но простой доступ к / home все равно будет успешным.

шарлатан
источник
1
И если у вас есть каталоги / home / foo, спрятанные при монтировании, если диск когда-нибудь выйдет из строя, люди все равно смогут войти в систему. Специально для графического входа в систему невозможность записи в домашний каталог пользователей означает, что они не могут войти.
KeithB
1
@KeithB: да. Вы можете оставить скелетные домашние каталоги скрытыми для монтирования, хотя это может быть не лучшим выбором. возникает вопрос о том, хотите ли вы, чтобы пользователь входил в систему с ограниченной базовой конфигурацией, или вы хотите, чтобы вход в систему не удался, чтобы вы знали, как решить проблему. (Я подумал об этом в ответе, но он открывает другие банки с червями, которые немного касаются рассматриваемой проблемы.)
Квака-кихот
Итак, я думаю, что меня больше всего беспокоит то, что если мой накопитель выйдет из строя, то / home не будет доступен. Основная причина, по которой я хочу, чтобы мои / home каталоги находились на другом диске, на котором находится основной диск / раздел ОС, заключается в том, что мой основной диск, на котором установлена ​​ОС, составляет всего лишь 100 гигабайт, и несколько пользователей заполняют свои домашние каталоги, которые заполняют быстро Поэтому иметь / home на гораздо большем накопителе было бы намного лучше. Есть ли в любом случае какая-то каскадная установка, где, если / home находится на отдельном диске, который не удается смонтировать, он ищет его в другом месте?
Джейк Уилсон
@Jakobud: это звучит возможно, но я не знаю существующего решения для этого; может потребоваться собственный сценарий для реализации. я бы не волновался об этом; у вас есть веские причины для внесения этого изменения, и в случае сбоя монтирования я бы, вероятно, захотел, чтобы система бездействовала (с запрещенными входами в систему или вообще бесполезными), пока я не смогу справиться с этим вручную.
шарлатан-кихот
Вы также можете найти решение, такое как LVM, которое позволит вам иметь каталоги / home, чтобы занимать место на обоих дисках, но применение LVM к системе, отличной от LVM, в основном означает переустановку, так что это будет некоторая работа. если это для домашнего использования, не беспокойтесь об этом; если для коммерческого сервера, стоит рассмотреть стратегию LVM.
шарлатан
4

Вместо того, чтобы ссылаться на весь каталог в /homeдругом месте (скажем /media/storage/home), создайте символические ссылки для каждого пользователя отдельно и оставьте свою учетную запись администратора не связанной, чтобы администратор всегда мог войти

/home/admin является /home/admin

/home/billy связан с /media/storage/home/billy

cypour
источник
1
существуют ли какие-либо дистрибутивы, использующие / home / admin вместо / root в качестве домашней папки для root? В любом случае, я думаю, что было бы проще переместить администраторов ~ / куда-нибудь еще, чем создавать символическую ссылку для каждого пользователя.
Baarn
adminвероятно, это учетная запись с правами администратора и возможностью удаленного входа (в то время как прямой вход в систему root, вероятно, заблокирован и, следовательно, недостаточен для целей восстановления).
HonoredMule