При установке Ubuntu (10.04) я выбрал / домой, чтобы быть установленным в отдельном разделе. Я теперь хотел бы переместить/srv каталог в тот же раздел.
Проблема, которую я нашел, состоит в том, что Ubuntu не сделала / корневой каталог в самом разделе. Это просто помещает каталоги учетной записи в раздел и монтирует его к / домой. Таким образом, я не могу только легко переместить/srv папку в раздел.
Как может я:
Однажды /home
был смонтирован, можно сделать, связывание монтируется для монтирования, например. /home/srv
на /srv
.
mount --bind /home/srv /srv
В этом случае те же файлы появятся под /home/srv
и /srv
.
Или можно сделать, перемещение монтируется для перемещения /home/srv
кому: /srv
.
mount --move /home/srv /srv
В этом случае, /home/srv
больше не будет существовать после монтирования. Размонтирование /srv
сделает /home/srv
появитесь снова.
Если я понимаю правильно, что Вы пытаетесь сделать, это не точно возможно - монтирование не прокладывает себе путь. (Хотя Вы можете вид фальшивки это, как объяснено в, например, ответа Ignacio),
Можно думать о каждом разделе как о его собственной файловой системе. Так, например, скажем, у Вас есть раздел sda1
то, что Вы собираетесь использовать для корня полной файловой системы, и sda2
то, что Вы собираетесь использовать для содержания корневых каталогов. Поскольку Вы теперь знаете, файловая система на sda1
содержит каталоги верхнего уровня bin
, lib
, usr
, home
, и т.д., и файловая система на sda2
содержит каталоги верхнего уровня user1
, user2
, и т.д. (или независимо от того, что корневые каталоги Ваших пользователей называют). Иерархия могла бы быть похожей на это:
sda1 |-bin | |- (programs) |-home |-lib | |- (libraries) |-usr | |-bin | |-lib | |-share sda2 |-user1 | |-Documents |-user2 | |-Documents
И также как Вы знаете для монтирования файловой системы, необходимо указать файловую систему (конечно), и каталог, точку монтирования. Когда Вы делаете это, каталог, который Вы указываете, становится названием корня файловой системы раздела. Например, одна из первых вещей, которые делает ОС, когда запуск является монтированием sda1
(в этом примере) на каталоге /
. Это делает /
название корня файловой системы на sda1
. Можно теперь обратиться к bin
каталог на sda1
как /bin
, например. Позже в процессе начальной загрузки, ОС монтируется sda2
на /home/
, что означает это /home/
название корня sda2
файловая система. Относиться к user1
каталог на sda2
, можно записать /home/user1
. И так далее.
Теперь это походит на то, что Вы имели в виду, присваивал имя (как /srv/
) к некоторому подкаталогу в файловой системе раздела, а не корню той файловой системы. Но mount
не прокладывает себе путь. Я не уверен, существует ли техническая причина этого, или это было просто проектное решение специалистами по обслуживанию ядра Linux. Нижняя строка, чтобы иметь что-либо на доступном разделе, необходимо присвоить имя к корню файловой системы. Но после того как Вы делаете это, можно сделать подкаталоги в файловой системе раздела доступными под другими именами с помощью --bind
опция к mount
, и это - вероятно, Ваш наилучший вариант.