В чем разница между ln -s и mount -rbind?

Это тоже может работать,

sudo apt-get -y install python-numpy
8
задан 17 November 2017 в 02:47

9 ответов

mount --rbind создает рекурсивную привязку привязки; то есть иерархия файловой системы, установленная на /mnt/extra/home, также будет доступна через /home.

На практике существенная разница между решением ln -s и решением mount --rbind заключается в том, что с ln -s [ f7] является символической ссылкой, а с mount --rbind это каталог; это влияет на такие инструменты, как find, df, test / [ и т. д.

Кроме того, ln -s потерпит неудачу, если /home существует, а mount --rbind не существует или не является пустым каталогом.

Замечание Марка также имеет важное значение: ln -s нужна перезаписываемая файловая система, на которой создается символическая ссылка.

11
ответ дан 22 May 2018 в 16:10
  • 1
    Большая разница в том, что ln -s изменяет файловую систему, а mount --rbind - нет. Это означает, что вы можете подключить домашний каталог к ​​корню только для чтения (например, загрузочный компакт-диск), но вы не можете создать символическую ссылку на него. – Mark 17 November 2017 в 03:37
  • 2
    --bind и --rbind не видят, что мои целевые каталоги пусты, они просто монтируют " сверху " любых файлов, оставляя их недоступными – Xen2050 17 November 2017 в 07:40

mount --rbind создает рекурсивную привязку привязки; то есть иерархия файловой системы, установленная на /mnt/extra/home, также будет доступна через /home.

На практике существенная разница между решением ln -s и решением mount --rbind заключается в том, что с ln -s /home является символической ссылкой, а с mount --rbind это каталог; это влияет на такие инструменты, как find, df, test / [ и т. д.

Кроме того, ln -s потерпит неудачу, если /home существует, а mount --rbind не существует или не является пустым каталогом.

Замечание Марка также имеет важное значение: ln -s нужна перезаписываемая файловая система, на которой создается символическая ссылка.

12
ответ дан 18 July 2018 в 03:09

mount --rbind создает рекурсивную привязку привязки; то есть иерархия файловой системы, установленная на /mnt/extra/home, также будет доступна через /home.

На практике существенная разница между решением ln -s и решением mount --rbind заключается в том, что с ln -s /home является символической ссылкой, а с mount --rbind это каталог; это влияет на такие инструменты, как find, df, test / [ и т. д.

Кроме того, ln -s потерпит неудачу, если /home существует, а mount --rbind не существует или не является пустым каталогом.

Замечание Марка также имеет важное значение: ln -s нужна перезаписываемая файловая система, на которой создается символическая ссылка.

12
ответ дан 24 July 2018 в 17:46

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

Символическая ссылка немного более легкая. У вас могут быть сотни или тысячи символических ссылок, если это не проблема управления. Они сидят в файловой системе, а не требуют специальной настройки на уровне системы.

Символьные ссылки могут быть скопированы и скопированы правильно с помощью таких инструментов, как cp и rsync. То есть, инструменты могут распознавать и копировать символическую ссылку, гарантируя, что при восстановлении в другом месте ссылка будет восстановлена ​​и укажет на правильный пункт назначения. По умолчанию все будет работать «правильно». Напротив, при резервном копировании или копировании монтирования привязки будет обработано прозрачно, что приведет к копированию самих файлов, что может привести к дублированию, если вы также получите одинаковые файлы в другом месте и требуете дополнительной работы, если хотите для репликации привязки в месте назначения.

Символьные ссылки могут быть изменены или удалены любым пользователем, имеющим доступ к ссылке, поэтому легко сделать его только суперпользователем или открыть его до определенного пользователь. Bind mounts могут быть настроены или изменены суперпользователем.

6
ответ дан 22 May 2018 в 16:10

Еще одно отличие состоит в том, что символическая ссылка является символической, т. е. она просто ссылается на путь - строку символов, и она разыменована каждый раз, когда вы открываете подкаталог / файл в целевом пути. Напротив, mount --rbind ведет себя как жесткая ссылка, для которой путь не переоценивается при каждом разыменовании.

Это имеет значение в некоторых сценариях, подобных chroot. Например. vsftpd chroot s в домашний каталог учетной записи пользователя FTP, в которую вы входите. Таким образом, если вы поместите символическую ссылку в этот каталог, vsftpd не сможет разыменовать ее, и, таким образом, цель не будет доступна через FTP. Если вы вместо этого выполняете mount --rbind, тогда vsftpd будет просто получать доступ к этому поддереву, как если бы он действительно был там, аналогично тому, как если бы вы жестко связали файл.

0
ответ дан 22 May 2018 в 16:10

Еще одно отличие состоит в том, что символическая ссылка является символической, т. е. она просто ссылается на путь - строку символов, и она разыменована каждый раз, когда вы открываете подкаталог / файл в целевом пути. Напротив, mount --rbind ведет себя как жесткая ссылка, для которой путь не переоценивается при каждом разыменовании.

Это имеет значение в некоторых сценариях, подобных chroot. Например. vsftpd chroot s в домашний каталог учетной записи пользователя FTP, в которую вы входите. Таким образом, если вы поместите символическую ссылку в этот каталог, vsftpd не сможет разыменовать ее, и, таким образом, цель не будет доступна через FTP. Если вы вместо этого выполняете mount --rbind, тогда vsftpd будет просто получать доступ к этому поддереву, как если бы он действительно был там, аналогично тому, как если бы вы жестко связали файл.

0
ответ дан 18 July 2018 в 03:09

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

Символическая ссылка немного более легкая. У вас могут быть сотни или тысячи символических ссылок, если это не проблема управления. Они сидят в файловой системе, а не требуют специальной настройки на уровне системы.

Символьные ссылки могут быть скопированы и скопированы правильно с помощью таких инструментов, как cp и rsync. То есть, инструменты могут распознавать и копировать символическую ссылку, гарантируя, что при восстановлении в другом месте ссылка будет восстановлена ​​и укажет на правильный пункт назначения. По умолчанию все будет работать «правильно». Напротив, при резервном копировании или копировании монтирования привязки будет обработано прозрачно, что приведет к копированию самих файлов, что может привести к дублированию, если вы также получите одинаковые файлы в другом месте и требуете дополнительной работы, если хотите для репликации привязки в месте назначения.

Символьные ссылки могут быть изменены или удалены любым пользователем, имеющим доступ к ссылке, поэтому легко сделать его только суперпользователем или открыть его до определенного пользователь. Bind mounts могут быть настроены или изменены суперпользователем.

6
ответ дан 18 July 2018 в 03:09

Еще одно отличие состоит в том, что символическая ссылка является символической, т. е. она просто ссылается на путь - строку символов, и она разыменована каждый раз, когда вы открываете подкаталог / файл в целевом пути. Напротив, mount --rbind ведет себя как жесткая ссылка, для которой путь не переоценивается при каждом разыменовании.

Это имеет значение в некоторых сценариях, подобных chroot. Например. vsftpd chroot s в домашний каталог учетной записи пользователя FTP, в которую вы входите. Таким образом, если вы поместите символическую ссылку в этот каталог, vsftpd не сможет разыменовать ее, и, таким образом, цель не будет доступна через FTP. Если вы вместо этого выполняете mount --rbind, тогда vsftpd будет просто получать доступ к этому поддереву, как если бы он действительно был там, аналогично тому, как если бы вы жестко связали файл.

0
ответ дан 24 July 2018 в 17:46

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

Символическая ссылка немного более легкая. У вас могут быть сотни или тысячи символических ссылок, если это не проблема управления. Они сидят в файловой системе, а не требуют специальной настройки на уровне системы.

Символьные ссылки могут быть скопированы и скопированы правильно с помощью таких инструментов, как cp и rsync. То есть, инструменты могут распознавать и копировать символическую ссылку, гарантируя, что при восстановлении в другом месте ссылка будет восстановлена ​​и укажет на правильный пункт назначения. По умолчанию все будет работать «правильно». Напротив, при резервном копировании или копировании монтирования привязки будет обработано прозрачно, что приведет к копированию самих файлов, что может привести к дублированию, если вы также получите одинаковые файлы в другом месте и требуете дополнительной работы, если хотите для репликации привязки в месте назначения.

Символьные ссылки могут быть изменены или удалены любым пользователем, имеющим доступ к ссылке, поэтому легко сделать его только суперпользователем или открыть его до определенного пользователь. Bind mounts могут быть настроены или изменены суперпользователем.

6
ответ дан 24 July 2018 в 17:46

Другие вопросы по тегам:

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