Почему домашний каталог создан больше корневого каталога?

Я только что установил Ubuntu недавно, и в соответствии с предложениями онлайн, я создал свой домашний каталог намного больше, чем корневой каталог. Однако я обнаружил, что система автоматически устанавливает программное обеспечение в корневой каталог, который занимает много места, и мой домашний каталог почти пуст.

Я немного запутался, почему он на самом деле создан больше. Должно ли программное обеспечение быть установлено в домашнем каталоге? И куда мне положить папки готовых бинарных файлов, скачанных из других источников?

3 ответа

Решение

Прежде чем непосредственно ответить на ваш вопрос, важно уяснить разницу между каталогом и разделом. Один раздел может содержать несколько каталогов. В Linux разделы, содержащие файловые системы, обычно монтируются (становятся доступными), используя каталог в качестве точки монтирования. Таким образом, /home может быть просто каталог в корне (/) раздел или /home может быть точкой монтирования для отдельного раздела. В вашем вопросе слово "каталог" используется в контексте, который проясняет, что вы имели в виду "раздел". Я разъясняю это различие, потому что это различие важно для части ответа на ваш вопрос. Фактически, есть еще одно осложнение, потому что менеджер логических томов (LVM) позволяет разделу содержать несколько файловых систем, которые смонтированы в разных местах. Для нижеприведенного ниже я предполагаю, что вы не используете LVM, поэтому "раздел" и "файловая система" могут считаться синонимами (за исключением раздела подкачки).

Оптимальные размеры различных перегородок зависят от того, что вы ожидаете установить на них. Например, с отдельным корнем (/), /homeи поменяйте местами разделы, но никаких других (Ubuntu) разделов:

  • Если вы устанавливаете много программного обеспечения, вам нужен больший root (/), чем если вы установите небольшое программное обеспечение. Несмотря на это, требования к программным пакетам редко превышают около 30 ГБ.
  • Некоторое не программное обеспечение идет в рут (/). Эта категория включает в себя файлы журналов, базы данных (которые обычно идут в /var), контент для веб-серверов и общесистемный временный каталог (/tmp). Если у вас есть большие потребности в какой-либо из этих вещей, вам может потребоваться больший корень (/) или разделить расположение этих больших каталогов на свои собственные разделы. Вы можете отколоться /varили его подкаталог, к его собственному разделу, если вы планируете хранить там огромные файлы, что может быть верно для некоторых типов сетевых серверов. Такие не программные требования по руту (/), как правило, скромные для настольных систем, но они могут быть значительными для сетевых серверов.
  • Для типичного настольного компьютера пространство, занимаемое root (/) со временем не будет сильно расти, потому что личные файлы туда не попадают - только двоичные файлы программы, файлы журналов (которые вовремя удаляются и удаляются) и другие системные файлы. Root (/) потребление возрастает в основном потому, что вы устанавливаете новое программное обеспечение. Если вы устанавливаете программу, а затем обнаруживаете, что она не используется, ее удаление может быть целесообразным, особенно если пользователь root (/) заполняется.
  • /home каталог, в котором находится подавляющее большинство пользовательских файлов. (Некоторые временные файлы входят в /tmp и есть некоторые другие исключения, хотя, по крайней мере, одно из которых очень важно - см. следующий пункт.) В установке только для Ubuntu это означает, что ваши личные фотографии, файлы MP3, видео, документы для обработки текстов, Интернет кеш просмотра и т. д., все они находятся в /home, Таким образом, пространство требует /home как правило, со временем вы увеличиваете время использования компьютера - вы копируете фотографии со своей цифровой камеры здесь, добавляете музыку сюда, сохраняете документы для обработки текстов здесь и так далее.
  • Одна сложность заключается в том, что многие установки Ubuntu выполняются на компьютерах с двойной загрузкой Windows. В этих системах большинство файлов пользовательских данных находятся в Windows C: раздел, не в Ubuntu /home раздел. Если вы продолжите с этим шаблоном, /home раздел будет содержать относительно немного файлов и поэтому должен быть меньше корневого (/) раздел; или это может быть полностью устранено, оставляя /home каталог в корне (/) раздел.

Таким образом, если Ubuntu является вашей единственной ОС, и если вы устанавливаете на современный жесткий диск или даже твердотельный накопитель (200 ГБ или более, и часто более 1 ТБ), шансы /home должно быть намного больше, чем root (/).

OTOH, если ваш диск необычно мал по современным стандартам или если у вас двойная загрузка с Windows, и вы хотите, чтобы большинство ваших файлов (особенно большие) были доступны для обеих ОС, вероятно, лучше либо пропустить отдельный /home раздел (оставляя свои файлы в корне [/] раздел как простой /home каталог) или держать относительно небольшой /home раздел - возможно, даже меньше, чем root (/).

Стоит упомянуть еще об одном варианте: в конфигурации с двойной загрузкой эксперты часто предпочитают выделить один или несколько отдельных разделов для хранения файлов, совместно используемых ОС. То есть у вас будет рут Ubuntu (/) и, возможно /home перегородки, винда C: раздел для хранения Windows и ее программных файлов, а другой раздел (возможно, D: в Windows и /home/{yourusername}/shared в Ubuntu) для хранения общих файлов. Преимущество этого в том, что вы можете ограничить доступ к Windows C: раздел из Linux, что делает менее вероятным, что ошибка или ошибка пользователя будут мешать установке Windows. Вы также сможете выполнить полную переустановку Windows, не стирая раздел с общими данными. Вы можете использовать любую файловую систему в разделе с общими данными, если это понимают обе операционные системы. NTFS является наиболее распространенным вариантом для этого, но вы можете использовать FAT, если вы не против его ограничений; и некоторые файловые системы Linux имеют драйверы Windows, так что вы можете использовать одну из них, если хотите.

С учетом этих общих черт полезно рассмотреть некоторые реальные размеры:

  • корень (/ )- Ubuntu можно установить в корень (/) раздел размером не более 5 ГБ, IIRC; однако, если вы начнете устанавливать большие программы, он может легко подняться в два или три раза по сравнению с этим значением. Таким образом, обычный рекомендуемый диапазон составляет что-то около 10-30 ГБ с оговоркой, что он может пойти даже выше, чем для некоторых пользователей - но для большинства "обычных" пользователей даже 20 ГБ, вероятно, будет достаточно, если у вас есть отдельный/homeраздел.
  • своп - я не упомянул своп много, но расскажу о вопросе размеров. В старые времена (~15 лет назад), общая рекомендация состояла в том, чтобы сделать пространство подкачки примерно вдвое больше вашего объема оперативной памяти. Сегодня это обычно перебор. Если вы используете suspend-to-disk (который не настроен в Ubuntu по умолчанию), пространство подкачки должно быть как минимум таким же большим, как ваша доступная оперативная память. Если вы не используете эту функцию, она может быть меньше, но желательно иметьнекоторое пространство подкачки, поскольку она позволяет ядру оптимизировать использование ОЗУ для повышения производительности. Также обратите внимание, что пространство подкачки может быть файлом в файловой системе, а не (или в дополнение к) разделом подкачки. (IIRC, но для приостановки на диск требуется раздел подкачки.) В целом, в большинстве случаев я бы сказал, что половина размера ОЗУ, вероятно, является приличным размером для раздела подкачки.
  • /home - В первом приближении, как только вы выяснили, сколько места вам нужно для root (/) и поменяйте местами, вы должны дать все остальное /home, Исключением будет, если останется очень мало места. Например, если вы используете двойную загрузку с Windows и хотите предоставить Linux всего 30 ГБ, то к тому времени, когда вы выделите, скажем, 20 ГБ для root, у вас почти не останется ничего (/) и 4 ГБ для свопинга. Нечто подобное может произойти, если вы устанавливаете на крошечный планшет или очень старый компьютер с маленьким диском. В этом случае вы могли бы также опустить /home,
  • Другие разделы - в некоторых случаях вам могут потребоваться другие разделы для /var, /tmp, и так далее. Однако они не нужны для типичных настольных конфигураций. Маленький (~500 МБ) /boot и / или /boot/efi иногда требуются и разделы, но если у вас их еще нет и ваша система загружается, не беспокойтесь о них. Как отмечалось ранее, вам может потребоваться раздел с общими данными для использования с Windows. Если вы хотите, чтобы большая часть ваших данных передавалась таким образом, вы можете пропустить /home и выделить место для раздела с общими данными. (Не следует монтировать том NTFS или FAT на /home потому что Ubuntu полагается на функции, не предоставляемые этими файловыми системами для некоторых файлов в вашем домашнем каталоге. Вы можете смонтировать раздел с общими данными в подкаталоге вашего домашнего каталога. Если вы используете драйверы файловой системы Windows для файловых систем Linux, вы также можете предоставить Windows доступ к вашей Ubuntu. /home раздел.)

В конце концов, разработка оптимизированной системы разбиения зависит от глубоких знаний ваших собственных потребностей, доступного дискового пространства и того, что уже было использовано (например, другой ОС). Если вы придерживаетесь Ubuntu, вы в конечном итоге сами это поймете; but there is no one-size-fits-all solution, so I can't simply give you a set of numbers. Even generalities like whether /home should be bigger or smaller than root (/) vary from one installation to another -- although if /home is smaller than root (/) when you follow my outline above, there's a good chance (but not a certainty) that omitting /home and increasing the size of root (/) by that amount would be best.

Насколько большой / (корневая) файловая система в вашей системе сравнивается с одной резервной /home во многом зависит от того, как вы (намереваетесь) использовать оба. Давайте посмотрим на некоторые альтернативы ниже.

1 Наиболее распространенный вариант использования Linux на рабочем столе

Подавляющее большинство людей, использующих Ubuntu, устанавливают базовую систему и несколько приложений (нетривиальных требований к пространству), например, для просмотра веб-страниц, воспроизведения мультимедиа, офисной производительности, редактирования графики или разработки программного обеспечения, и хранят свои личные пользовательские данные в /homeНапример, документы, изображения / фотографии, музыка или видео.

Требуемое пространство первого (сама Ubuntu) легко удовлетворяется за счет 20–30 гигабайт, в то время как последние (пользовательские данные) могут быстро накапливаться, особенно для мультимедийного контента, до диапазона терабайт в наши дни.

Как пример, в моей системе у меня есть:

$ df -h /home ~/medien
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda9           500G  264G  218G  55% /home
/dev/mapper/media   1,4T  1,1T  304G  78% /home/david/media

2 игровой рабочий стол

Игры сильно меняют ситуацию, потому что крупные игры часто занимают несколько гигабайт или даже десятки гигабайт1.

В Linux игры обычно устанавливаются в одном из следующих мест:

  • /opt а также /usr/local при установке через "кастомные" установщики,
  • /usr при установке из репозитория пакетов2,
  • $HOME/.local/share/Steam/SteamApps при установке через Steam по умолчанию, или
  • $HOME/.wine или же ~/.PlayOnLinux/wineprefix для игр Windows, установленных через Wine или его внешний PlayOnLinux.

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

Что-то еще?

Если ваш вариант использования значительно отличается от приведенного выше, то, скорее всего, у вас будут разные объемы данных в разных областях дерева каталогов, что означает разные требования к размеру, если вы используете более одной файловой системы для установки Ubuntu.

Еще одно использование, которое я вижу чаще в эти дни, - это то, на что ориентированы Chromebook от Google: помимо базовой системы в системе есть чуть больше, чем веб-браузер и, возможно, текстовый редактор, программа просмотра изображений и приложение для воспроизведения мультимедиа, а все остальное - пользователь Данные, как и другие приложения, хранятся в сети и доступны через веб-браузер.


1 На Linux это; последние версии Windows на порядок опережают это.

2 Не так много распространенных названий игр. Единственный большой заголовок, о котором я могу подумать, - это 0 AD с тактовой частотой ~1,5 ГБ.

Программное обеспечение в современных дистрибутивах Linux, как правило, очень мало. Причина в том, что способ упаковки программного обеспечения (с использованием apt или же rpm), все программное обеспечение имеет много общих компонентов.

Это отличается от OSX или Windows, где каждое программное обеспечение будет устанавливать все необходимые библиотеки.

И сегодня многие игровые менеджеры (например, Steam) и библиотеки разработки (например, RVM) будут хранить данные и библиотеки в вашем home папка. Кроме того, возможно, у вас будут высококачественные фильмы (около 5 ГБ), картинки (действительно большие по сравнению с современными мобильными телефонами) и музыка.

У меня есть жесткий диск на 1 ТБ. Я вручную разбил на разделы: только 100 ГБ для рута, с использованием только 14,0%. На другой стороне (исключая swap) все home папка, которая заполнена на 79%.

Дополнительное примечание: Недостатком этого управления программным пакетом является то, что он потребует немного больше работы от того, кто создает установщик, как некоторое исследование о том, какая библиотека используется вашим дистрибутивом, и точная версия. Чтобы имитировать способ OSX и Windows (т.е. предоставить полный стек библиотек, требуемый приложением), некоторые компании Linux (такие как Canonical и Red Hat) создали новые менеджеры программного обеспечения, такие как flatpack и snaps), с некоторыми преимуществами, такими как возможность установки в разных дистрибутивах, использования изолированной среды и т. д.

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