LinuxForum.Fans
Тема

Вопрос по установке ПО от новичка (APT, пути, размер, разделы)

Автор: shoo 21 сообщений 1805 просмотров
22.02.2015 10:34 #415269

Привет алл! Являясь неофитом в GNU/Linux, меня терзают следующие, важные для меня вопросы:

1. Куда пакетные менеджеры распаковывают файлы ПО? Ведь мы же не задаем им путь установки?!
2. Пути для распаковки пакета зашиты в самом пакете?
3. Можно ли указать путь распаковки пакета (на примере APT) ?

К чему я все это спрашиваю? А вот к чему! Есть например у меня такая таблица разделов на диске sda:

text
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   137996287    68997120    7  HPFS/NTFS/exFAT
/dev/sda2       137996288   347711487   104857600    7  HPFS/NTFS/exFAT
/dev/sda3       347711488   368683007    10485760    c  W95 FAT32 (LBA)
/dev/sda4       368685054   462422015    46868481    5  Extended
/dev/sda5       368685056   407746559    19530752   83  Linux
/dev/sda6       407748608   423360511     7805952   82  Linux swap / Solaris
/dev/sda7       423362560   462422015    19529728   83  Linux

И вот такая на диске sdb:

text
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  1953519615   976758784    7  Linux

Видим, что:
sda5 - корень [20gb~]
sda6 - своп [8gb~]
sda7 - /home. [20gb~]

По моим наблюдениям, когда я ставлю пакет, то он ставится на sda и по идее в sda5 раздел (так ли это?). Так вот, если раздел этот размеров в 20gb, а пакет мой например с игрой весит 25gb, то куда он установится? Ему же не хватит пространства. Напротив, я бы хотел ставить большую игру (или что-то ещё) на диск sdb, так как там места много. Ну думаю ход моих мыслей ясен, хоть и немного сумбурно я все это написал.

Ладно, хрен бы с ним! У меня есть ещё другой раздел под /home/ который тоже пустой, но он же мне софт туда не поставит. Ну вы поняли меня, как винде. Нет у тебя места на диске c: - не беда, поставил на диск d:.

Как сказать пакетному засранцу, что вот тут на втором диске до хрена свободного места и ставь игру на него! А то как-то нелепо получается, если что-то не влазит, то нужно либо делать изначально очень большой корень, либо юзать LVM, либо вообще ваты покурить и ничего не ставить. Ты остался без пакета, так как не хватило места, а рядом пустой диск, но ты на него ничего поставить не можешь, потому что ты не пакетный менеджер? Так что-ли получается? Просвятите! Спасибо!

p/s/ вообще, я все это хочу узнать не привязываясь к какому-то отдельному пакетному менеджеру или дистрибутиву.

22.02.2015 10:56 #415271
"shoo" написал:
1. Куда пакетные менеджеры распаковывают файлы ПО? Ведь мы же не задаем им путь установки?!
задаёт тот, кто делает пакет(маинтейнер). Обычно /usr.

"shoo" написал:
2. Пути для распаковки пакета зашиты в самом пакете?
да

"shoo" написал:
3. Можно ли указать путь распаковки пакета

нет. Можно сделать свой пакет. Многие программы можно собирать самостоятельно в свой домашний каталог(для этого надо быть программистом).

Можно собрать пакет от root'а, он поставится в /usr/local
ВАЖНО! Это превращает систему в помойку, ибо ПМ про эти программы не знает, и возникают конфликты.
Удалить эти программы можно почистив /usr/local

"shoo" написал:
По моим наблюдениям, когда я ставлю пакет, то он ставится на sda и по идее в sda5 раздел (так ли это?).

не туда смотрите, смотрите в df, там есть раздел / и в нём /usr. Туда и ставится.

"shoo" написал:
Напротив, я бы хотел ставить большую игру (или что-то ещё) на диск sdb, так как там места много. Ну думаю ход моих мыслей ясен

ход ясен, но ответ зависит от дистрибутива, и от того, как вы ставили (с/без LVM) систему.

"shoo" написал:
А то как-то нелепо получается, если что-то не влазит, то нужно либо делать изначально очень большой корень, либо юзать LVM, либо вообще ваты покурить

вы и так вату жуёте. Как я могу давать советы, не зная, что у вас там?
Телепаты в отпуске.

"shoo" написал:
p/s/ вообще, я все это хочу узнать не привязываясь к какому-то отдельному пакетному менеджеру или дистрибутиву.

Ответ: нет.

22.02.2015 11:05 #415273

Спасибо за ответы, кое-что проясняется ...

"drBatty" написал:
задаёт тот, кто делает пакет(маинтейнер). Обычно /usr.

То есть, получается, что, если я под /usr выделю отдельный диск (в нашем примере sdb) или большой раздел отделю, то это будет считаться хотя бы каким-то выходом из положения?

"drBatty" написал:
не туда смотрите, смотрите в df, там есть раздел / и в нём /usr. Туда и ставится.

Понял.

"drBatty" написал:
ход ясен, но ответ зависит от дистрибутива, и от того, как вы ставили (с/без LVM) систему.

Без LVM. Debian stable. 3.2.65-1+deb7u1.

22.02.2015 11:25 #415275

shoo, здесь не приняты rock installs (когда всё кладётся в одну папку). Каждый файл кладётся туда, где ему по идеологии системы самое подходящее место, и это место фиксировано создателями пакетов. Они таким образом рассеиваются по дереву каталогов. А у пакетных менеджеров хватает интеллекта, чтобы при удалении аккуратно их всех прибрать за собой.
К слову - /usr - это тяжёлое наследие тех времён, когда диски были по 2.5 мегабайта, и система на один диск никак не влезала. Последняя тенденция - объединить /usr и / В Fedora так уже не меньше года.

22.02.2015 11:33 #415276
"s.xbatob" написал:
shoo, здесь не приняты rock installs (когда всё кладётся в одну папку). Каждый файл кладётся туда, где ему по идеологии системы самое подходящее место, и это место фиксировано создателями пакетов.

Это я понял сразу ) Просто как же быть с большими пакетами (не обязательно игры, это я так, для примера привел) ? Вот хочу я например установить 3 пакета по 30 гигов (грубо), это же не занчит что я под корень должен выделять 90гб+место под ос )

22.02.2015 11:53 #415279
shoo написал:
[quote="s.xbatob"]shoo, здесь не приняты rock installs (когда всё кладётся в одну папку). Каждый файл кладётся туда, где ему по идеологии системы самое подходящее место, и это место фиксировано создателями пакетов.

Это я понял сразу ) Просто как же быть с большими пакетами (не обязательно игры, это я так, для примера привел) ? Вот хочу я например установить 3 пакета по 30 гигов (грубо), это же не занчит что я под корень должен выделять 90гб+место под ос )[/quote]
Получается так. Можно поизвращаться с символическими ссылками, но это и в самом деле извращение. Можно увеличить том, но раз он не под lvm, это уже мазохизм.
Вообще разбивать дисковое пространство на тома в пределах одного привода - это нарываться на неприятности. А раз у вас на первом диске места мало, надо было оставить там только swap и /boot, а корень целиком разместить на втором.

22.02.2015 12:47 #415286

Дело в том, что места неразмеченого там ещё полно. Вот тогда следующий вопрос: если я создам раздел в неразмеченной области и точку монтирования укажу в /usr, подхватится ли все это дело без фанатичной правки овер9000 конфигов? )

22.02.2015 12:52 #415287

На самом деле в / не попадает почти ничего. Всю нагрузку принимает /usr. Поэтому 5…10 Гбайт под / более чем достаточно, а под /usr нужно уже 10…20 Гбайт, с прицелом на установку в будущем дополнительных программ. Оставшееся место отводится под раздел с данными, а из домашних каталогов пользователей делаются симлинки и настраивается xdg-user-dirs так, чтобы данные размещались по каталогам отдельного раздела. Таким образом, в $HOME останутся конфиги да всевозможные файловые кэши. Выносить из общего дерева каталогов на отдельный диск целесообразно /usr и /var, а /tmp и /run монтировать в память.

22.02.2015 13:11 #415289
shoo написал:
Дело в том, что места неразмеченого там ещё полно. Вот тогда следующий вопрос: если я создам раздел в неразмеченной области и точку монтирования укажу в /usr, подхватится ли все это дело без фанатичной правки овер9000 конфигов? )

если вы туда сначала всё скопируете из старого usr, то ничего кроме fstab править не придётся.
Только я ещё раз выскажу своё мнение :[ : делить один привод на кучу томов - это нарываться на проблемы в дальнейшем. Собственно, вы уже нарвались: где-то места полно, а где-то не хватает.
Насчёт надёжности: файловую систему развалить очень сложно, а если диск накроется, то всё равно целиком.

22.02.2015 13:26 #415290

Вот тоже думаю отрезАть или нет /usr от / хз даже....

Показать
22.02.2015 14:01 #415298

Тут есть один нюанс: в Debian stable (Wheezy), если без systemd, то можно свободно отделить, если с systemd -- то можно нарваться на проблемы, если он собран без поддержки отдельного /usr. А вот в testing (Jessie) будет systemd, и это будет зависеть от него. И если он будет без --with-separate-usr=yes, то придется его собирать самому с этой опцией.
У любого решения есть свои плюсы и минусы. Например, один жесткий диск делить большого смысла действительно нет, но если вы любите экспериментировать, то данные лучше вынести на отдельный раздел - целее будут. Особенно с учетом последних веяний прогресса и бажных инсталляторов в некоторых дистрибутивах. А вот если у вас есть еще и SSD, то сам Патрик велит делить - систему на SSD, данные на HDD ;)

22.02.2015 14:18 · отредактировано #415299

shoo, вообще говоря для /usr 20Гб достаточно.
А всякие игрушки принято ставить в /opt

И не слушайте здешних аналитиков, читайте документацию.
[console]$ man 7 hier[/console]

здесь лежат системные программы

/usr This directory is usually mounted from a separate partition. It should hold only
sharable, read-only data, so that it can be mounted by various machines running Linux.

здесь хранятся игрушки и т.п.

/opt This directory should contain add-on packages that contain static files.
"yars" написал:
У любого решения есть свои плюсы и минусы. Например, один жесткий диск делить большого смысла действительно нет
можно выделить гигов 30..100 для системы, остально для данных /home

Если в системе становится тесно, то решается всё очень просто:

1. создаём /home/opt

2. вырубаем всё из /opt (игрушки, google-chrome, virtualbox, etc)

3. переносим всё из /opt в /home/opt

4. добавляем в /etc/fstab монтирование /home/opt → /opt

5.
[console]# mount /opt[/console]

и наслаждаемся: у нас теперь дя всяких игрушек почти весь HDD.

"yars" написал:
А вот если у вас есть еще и SSD, то сам Патрик велит делить - систему на SSD, данные на HDD

Патрег смотрит на вас с осуждением. Перечитайте slackbook, самое начало, где Патрег даёт рекомендации по разметке.

Даже в случае ssd, нужно /home делать тоже на нём. Ибо многие данные нуждаются в скоростном носителе(кеши браузера, СУБД akonadi в KDE, и многое другое)

А большой HDD выделяем для музыки, фильмов, игрушек, и прочего.

22.02.2015 14:42 #415308

drBatty, а я о чем? Именно о фильмах с музыкой и говорил, на HDD их.

22.02.2015 14:44 #415310
yars написал:
А вот если у вас есть еще и SSD, то сам Патрик велит делить - систему на SSD, данные на HDD ;)

Ну если сам Патрик велит - значит отделять точно нельзя :D

22.02.2015 14:45 #415312

"yars" написал:
а я о чем? Именно о фильмах с музыкой и говорил, на HDD их.
я так понял вы про /home.
22.02.2015 14:48 #415313

drBatty, я же чуть выше писал:

"yars" написал:
а из домашних каталогов пользователей делаются симлинки и настраивается xdg-user-dirs так, чтобы данные размещались по каталогам отдельного раздела. Таким образом, в $HOME останутся конфиги да всевозможные файловые кэши
22.02.2015 15:01 · отредактировано #415315

для альтернативно одарённых всё же расскажу, что думает Патрик по этому поводу:

Патрик считает(пруфы интересующиеся найдут в slackbook, в самом начале), что "сколько админов, столько и мнений касательно разметки". Т.е. нужно думать своей головой.
По этой причине в установщике слаки НЕТ никаких "автоматических размечалок", просто cfdisk, и пили как хочешь.

От себя добавлю, что многое зависит от системы, от её назначения и конфигурации. Нельзя дать "правильную схему". Сегодня, с появлением SSD, всё стало ещё более запутанно, и старые схемы более негодны(полностью или частично).

yars, я хотел внести ясность в этом важном вопросе. Что-бы не было двусмысленности.

22.02.2015 15:19 · отредактировано #415319
"yars" написал:
На самом деле в / не попадает почти ничего.

Я понимаю это сейчас, но с начала для меня это было в диковинку. Я-то понимал это так: есть /, а в нем каталог usr. То есть для меня, как для виндузятника это было сравнимо, что в каталоге / содержится каталог usr, то есть место под это дело берется из одного места. Такое понятие, как точка монтирования, для меня было так, как как будто в самый ответственный момент кончилась бумага в туалете.

Мужики, правда, спасибо всем. Инфа к размышлению получена, так что буду читать, пробовать. Но еже ли чего, то я к вам, так что не обессудьте и отнеситесь с пониманием ) Тему можно закрыть, т.к. на насущные вопросы я ответы получил. Спасибо вашему сообществу!

22.02.2015 15:28 · отредактировано #415321

Всегда пожалуйста, форум для того и существует. Отмечаю тему решенной.

"shoo" написал:
то есть место под это дело берется из одного места

В принципе, так оно и есть, пока /usr или любой другой каталог не примонтирован на отдельный раздел.

22.02.2015 16:02 #415325

"shoo" написал:
Я-то понимал это так: есть /, а в нем каталог usr.
потому что вы мыслили понятием "папка". На самом деле, это списки имён.
Войдите или зарегистрируйтесь, чтобы ответить.