Есть несколько дополнительных вещей, которые следует учитывать помимо производительности при перемещении каталогов на корневом уровне для отдельных монтировок.
Один из них заключается в том, что некоторые каталоги должны присутствовать на ранних этапах процесса загрузки, прежде чем монтировать какие-либо разделы. Я имею в виду, что перемещение /boot, очевидно, нарушит ситуацию, если вы не позаботитесь изменить загрузчика, указав ему новое местоположение каталога.
Аналогично, команда mount находится в /bin, fstab находится в /etc, а самый первый процесс, вызванный загрузчиком, называется init, находится в /sbin , Кроме того, я понимаю, что некоторые двоичные файлы в /sbin могут использовать библиотеки из /lib.
Я не говорю, что абсолютно невозможно иметь эти каталоги где-то в другом месте - Linux невероятно гибкая, но это
Я понимаю, что /opt, /usr и /var можно перемещать без особых проблем, но я ожидал бы, что перемещение /usr на медленный привод значительно замедлит работу, поскольку в нем содержатся все программы GUI, которые вы используете все время. По крайней мере, программы начнутся гораздо медленнее.
Еще одно соображение - сколько дискового пространства вы собираетесь получить, перемещая каталоги на другой диск ... /bin составляет около 9 мегабайт и на моей машине 25 МБ - определенно не стоит проблем. /usr является самым большим, поэтому, если что-либо, я просто переместил бы /usr и оставил остальные на корневом разделе.
С системой разрешений Linux это очень хорошо. Посмотрите на текущие разрешения исполняемого файла mysql:
~$ ls -l /usr/bin/mysql
-rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql
Существует три группы разрешений:
rwx (владелец root может читать, записывать и выполнять файл); r-x (другие в группе root могут читать и выполнять файл); r-x (все остальные могут также читать и выполнять файл).Мы уберем последние разрешения и разрешим только группе пользователей выполнить команду.
Сначала создайте новую группу mysqlusers:
sudo groupadd mysqlusers
Затем переместите исполняемый файл mysql в эту группу:
sudo chgrp mysqlusers /usr/bin/mysql
Убедитесь, что он сработал:
~$ ls -l /usr/bin/mysql -rwxr-xr-x 1 root mysqlusers 4243880 jan 19 13:45 /usr/bin/mysql
Теперь отмените разрешения на выполнение для всех «других» ( non-mysql):
sudo chmod o-x /usr/bin/mysql
Вы можете повторно выполнить команду ls -l, чтобы проверить, что окончательный x был изменен на -.
На этом этапе, если вы попытались войти в команду mysql, это даст вам: access denied. Это потому, что вы не являетесь членом группы mysqlusers. Добавьте себя и других пользователей в эту группу:
sudo groupadd -a -G mysqlusers [username]
Для этого последнего изменения вам нужно будет выйти из системы и вернуться.
С системой разрешений Linux это очень хорошо. Посмотрите на текущие разрешения исполняемого файла mysql:
~$ ls -l /usr/bin/mysql
-rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql
Существует три группы разрешений:
rwx (владелец root может читать, записывать и выполнять файл); r-x (другие в группе root могут читать и выполнять файл); r-x (все остальные могут также читать и выполнять файл).Мы уберем последние разрешения и разрешим только группе пользователей выполнить команду.
Сначала создайте новую группу mysqlusers:
sudo groupadd mysqlusers
Затем переместите исполняемый файл mysql в эту группу:
sudo chgrp mysqlusers /usr/bin/mysql
Убедитесь, что он сработал:
~$ ls -l /usr/bin/mysql -rwxr-xr-x 1 root mysqlusers 4243880 jan 19 13:45 /usr/bin/mysql
Теперь отмените разрешения на выполнение для всех «других» ( non-mysql):
sudo chmod o-x /usr/bin/mysql
Вы можете повторно выполнить команду ls -l, чтобы проверить, что окончательный x был изменен на -.
На этом этапе, если вы попытались войти в команду mysql, это даст вам: access denied. Это потому, что вы не являетесь членом группы mysqlusers. Добавьте себя и других пользователей в эту группу:
sudo groupadd -a -G mysqlusers [username]
Для этого последнего изменения вам нужно будет выйти из системы и вернуться.
С системой разрешений Linux это очень хорошо. Посмотрите на текущие разрешения исполняемого файла mysql:
~$ ls -l /usr/bin/mysql
-rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql
Существует три группы разрешений:
rwx (владелец root может читать, записывать и выполнять файл); r-x (другие в группе root могут читать и выполнять файл); r-x (все остальные могут также читать и выполнять файл).Мы уберем последние разрешения и разрешим только группе пользователей выполнить команду.
Сначала создайте новую группу mysqlusers:
sudo groupadd mysqlusers
Затем переместите исполняемый файл mysql в эту группу:
sudo chgrp mysqlusers /usr/bin/mysql
Убедитесь, что он сработал:
~$ ls -l /usr/bin/mysql -rwxr-xr-x 1 root mysqlusers 4243880 jan 19 13:45 /usr/bin/mysql
Теперь отмените разрешения на выполнение для всех «других» ( non-mysql):
sudo chmod o-x /usr/bin/mysql
Вы можете повторно выполнить команду ls -l, чтобы проверить, что окончательный x был изменен на -.
На этом этапе, если вы попытались войти в команду mysql, это даст вам: access denied. Это потому, что вы не являетесь членом группы mysqlusers. Добавьте себя и других пользователей в эту группу:
sudo groupadd -a -G mysqlusers [username]
Для этого последнего изменения вам нужно будет выйти из системы и вернуться.