У меня возникла небольшая проблема. Поставил на виртуалку генту и начал ставить гнома, но вот память на корневом разделе закончилась. Как с помощью fdisk взять пару гигов из /home и добавить в / ? Буду очень благодарен за подсказку. Гуглил и читал мани но так и не нашел как это сделать.

2

koala, в данном случае проще с помощью symlink'ов либо редактированием файла /etc/make.conf перенести каталоги, занимающие много места (/usr/portage, /usr/portage/distfiles, /usr/src, /var/tmp) на другой раздел. Разумеется, не обязательно переносить их все.
С помощью fdisk вы размер существующих разделов не поменяете. Для этого существует sys-block/parted.

Был, был и весь вышел...

3

Lupo Alberto, я никогда не делал такое (с симлинками). Можно пример или ссылочку на примеры?

4 (06.01.2011 10:53:18 отредактировано Lupo Alberto)

mv /usr/src/ /home/
ln -s /home/src /usr/src

Либо, что идеологически правильнее:

mv /usr/portage/ /home
echo 'PORTDIR="/home/portage"' >> /etc/make.conf

Как в примере выше, можно переназначить  и другие директории по-умолчанию, занимающие место —  PORTAGE_TMPDIR,  PORT_LOGDIR

Был, был и весь вышел...

5

Lupo Alberto, спасибо, сейчас попробую.
А єто не скажется на работе системы? То есть, если каталоги не будут на своих местах?

6 (06.01.2011 10:56:37 отредактировано Lupo Alberto)

koala, если выполните всё правильно, для системы они будут на своих местах  wink
Я давным-давно так делаю.
P.S. Если что-то непонятно, лучше переспросите, не занимайтесь обычным «copy-paste».

Был, был и весь вышел...

7

Lupo Alberto, да нет, я вроде все понял, сейчас перемещаю каталог portages в home.
Спасибо за ответ на вопрос, думаю в будущем он мне очень пригодится =)

Когда все сделаю - сообщу об результате =)

8

koala пишет:

сейчас перемещаю каталог portages в home.

Каталог portage без «s».

Был, был и весь вышел...

9

Еще один вопрос. Если перенести каталог /etc то откуда тогда система ил make.conf будет знать где каталоги? Или может создать вместо перемещенной папки еще одну папку /etc в корне и там поставить make.conf ?

10

koala пишет:

Если перенести каталог /etc то откуда тогда система ил make.conf будет знать где каталоги?

Ни в коем случае не переносите /etc!

Был, был и весь вышел...

11

koala пишет:

Еще один вопрос. Если перенести каталог /etc то откуда тогда система ил make.conf будет знать где каталоги? Или может создать вместо перемещенной папки еще одну папку /etc в корне и там поставить make.conf ?

А вот /etc лучше не переносить так...

ЗЫ: чего-то я до симлинков не додумался, когда ставил... у меня до сих пор всё держится на mount -o bind ...

95% процентов проблем находятся между клавиатурой и стулом.

12

Fat-Zer пишет:

чего-то я до симлинков не додумался, когда ставил...

а симлинки очень часто не срабатывают, или срабатывают совсем не так. Т.ч. всё правильно делаете.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

13

/etc на другом разделе старый прикол)
Улыбнуло.
Симлинки с каталогом /usr/src не плохое решение
а на счет монтирования каталога при загрузке системы как указал Fat-Zer, даже не пробовал, но по идее должно нормально работать что то типа.

/home/src /usr/src none bind

Fat-Zer загрузка системы как проходила нормально?
Просто интересно.

14

drBatty пишет:

а симлинки очень часто не срабатывают, или срабатывают совсем не так.

Поясните, пожалуйста.

Был, был и весь вышел...

15

Lupo Alberto пишет:

Поясните, пожалуйста.

попробуйте сделать бекап, удалить, найти или chrootнутся в симлинк. Не, это хорошо когда его видно, а если он закопан глубоко в подкаталогах?

Вот вам кононичный пример:

 Консоль:
doc@dt:~$ ll [xz]
lrwxrwxrwx 1 doc users 1 2011-01-06 21:15 x -> z
lrwxrwxrwx 1 doc users 7 2011-01-06 21:12 z -> tests/y

ну и что тут такого? x ссылается на z, а z ссылается на test/y. Если последний файл существует, то всё отлично. А вот и нет! Файл существует, но всё просто ужасно - если вы что-то посмеете сделать с этими ссылками, то у вашего линуха снесёт башню, ибо y ссылается не x! В попытке разыменовать такое линух поделит на ноль и съедет с ума КЕМ. Потому очень многие программы (чуть менее чем все) принципиально не ходят по ссылкам (только если их заставить).

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

16

Lupo Alberto пишет:

1)

mv /usr/src/ /home/
ln -s /home/src /usr/src

Либо, что идеологически правильнее:
2)

mv /usr/portage/ /home
echo 'PORTDIR="/home/portage"' >> /etc/make.conf

Как в примере выше, можно переназначить  и другие директории по-умолчанию, занимающие место —  PORTAGE_TMPDIR,  PORT_LOGDIR

Оба решения обладают важным недостатком - у вас на диске системные файлы перемешаны с пользовательскими. Это плохо и для безопасной системы, и для её противоположности - надёжной системы. Даже в венде грамотные люди хранят свои данные на D:.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

17

drBatty, для решения вопроса, указанного топикстартером, создание хард-линка не возможно.
Я приводил решение для конкретной проблемы: почему-то в большинстве известных мне дистрибутивов создание ссылки /usr/src/linux на исходные тексты ядра считается вполне приемлемым. Переназначение же системных (Gentoo) переменных отражено в документации и также считается допустимым.

drBatty пишет:

Оба решения обладают важным недостатком - у вас на диске системные файлы перемешаны с пользовательскими.

Это не у меня — это у топикстартера  wink IMHO, в данном случае решение было пусть не самым правильным в плане безопасности, но оптимальным по затратам времени.
P.S. Случись мне столкнуться с проблемой, описанной топикстартером, я бы воспользовался parted.

Был, был и весь вышел...

18 (06.01.2011 22:42:14 отредактировано ormorph)

drBatty пишет:

Оба решения обладают важным недостатком - у вас на диске системные файлы перемешаны с пользовательскими. Это плохо и для безопасной системы, и для её противоположности - надёжной системы. Даже в венде грамотные люди хранят свои данные на D:.

Ну в венде все хранят свои данные на D )
Я сам в Home стараюсь не хранить свои данные, а  так же в папке пользователя.
Особо важную информацию, просто монтирую в определенный каталог по мере необходимости.

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

Да симлинки не всегда работают как надо, но в данном случае, система работать будет нормально.

У меня лет пят назад стоял Knoppix где вся система находилась вообще в определенном каталоге, а все системные папки были просто ссылками из этого каталога, только папка home была настоящей, и все работало вполне стабильно.

19

Lupo Alberto пишет:

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

ещё-бы. как раз потому, что это может привести к нарушению связанности. потому вообще запретили. Ибо есть --bind, который не может привести к возникновению циклов.

Lupo Alberto пишет:

почему-то в большинстве известных мне дистрибутивов создание ссылки /usr/src/linux на исходные тексты ядра считается вполне приемлемым.

потому-что это совершенно разные места в системе, в которых лежит одно и тоже. а вот топикстартеру это как раз и не нужно (хотя и проявится, как побочный эффект, и приведёт рано или поздно к проблемам).

забинденые директории тоже неудобны, они слишком несокрушимые ac

ссылка - всего лишь указатель, её в любой момент можно развернуть куда угодно и даже вообще прибить, а с --bind так не поиграться, это не указатель, это трамвайные пути - надо всё перекрывать, что-бы их хоть чуть-чуть сдвинуть. Потому, лично я их применяю только "на века" (хотя помню как-то по горячему ресайзил второй HDD, что-бы освободить там место для раздела var. И по горячему перемонтировал. У меня тогда диск посыпался.

Lupo Alberto пишет:

Переназначение же системных (Gentoo) переменных отражено в документации и также считается допустимым.

а это тут причём? на то они и переменные, что-бы их на ходу менять.

Lupo Alberto пишет:

P.S. Случись мне столкнуться с проблемой, описанной топикстартером, я бы воспользовался parted.

я им тоже пользуюсь bx

ormorph пишет:

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

данные перемешаны на диске, и вы их не сможете быстро и безопасно извлечь и уничтожить (даже медленно не сможете). Вам только кажется, что у вас там порядок, на самом деле - всё в одной куче свалено. И то, что у вас есть огромные каталоги в которых всё записано, ни о чём не говорит. Права вообще локально не очень-то и действуют ac И ничего я не перегибал - у вас одна стратегия использования смешанного раздела - разрешить всё. И ничего вы не сможете сделать с юзером, который там будет сохранять любые файлы, и менять их права как ему вздумается.

ormorph пишет:

У меня лет пят назад стоял Knoppix где вся система находилась вообще в определенном каталоге, а все системные папки были просто ссылками из этого каталога, только папка home была настоящей, и все работало вполне стабильно.

и что стало с этой системой? угадаю с одного раза: снесли вы её нафиг, и только одна home и осталася.  wink

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

20 (06.01.2011 23:34:26 отредактировано Lupo Alberto)

drBatty пишет:

ещё-бы. как раз потому, что это может привести к нарушению связанности. потому вообще запретили.

А, по-моему, хард-линки возможны только на одном разделе жёсткого диска. Да и создание жёсткой ссылки на каталог вроде бы тоже невозможно.

Был, был и весь вышел...

21

drBatty пишет:

Права вообще локально не очень-то и действуют  И ничего я не перегибал - у вас одна стратегия использования смешанного раздела - разрешить всё. И ничего вы не сможете сделать с юзером, который там будет сохранять любые файлы, и менять их права как ему вздумается.

Хотелось бы примеры, как юзер сможет сохранять там любые файлы?
Юзер в своем каталоге /home/user а в каталоге /home уже действуют привелегии рута.

и что стало с этой системой? угадаю с одного раза: снесли вы её нафиг, и только одна home и осталася.

Систему я удалил в виду устаревания ПО, и каталог /home тоже, так как на нем ни чего ценного не хранил, все было на другом разделе.
Безопасность тут была не причем.

22

Для личного использования, тут безопасность думаю не страдает.

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

Что мне и нравится в Linux, так это то, что проблему можно решить разными способами.

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

В таком случае, симлинки и bind, в плане безопасности слабое решение по сравнению с использованием файла в качестве жесткого диска.

23 (08.01.2011 17:29:09 отредактировано Fat-Zer)

ormorph пишет:

Fat-Zer загрузка системы как проходила нормально?
Просто интересно.

fstab пишет:

/store/portage          /usr/portage    auto            bind            0 0

Да, всё вполне нормально.

ormorph пишет:

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

Квоты спасут мир?

ormorph пишет:

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

В таком случае, симлинки и bind, в плане безопасности слабое решение по сравнению с использованием файла в качестве жесткого диска.

это уже совсем страшно.... собственная светлая память страдает ещё сильнее, чем при использовании бинда или симлинков... да и выгоды в безопасности я здесь не вижу по сравнению с тем же биндом

Например каталог /usr/portage можно в полной мере считать данными, почти такими же как сырцы, музыка и прон, а не какими-то важными системными файлами... так что ИМХО вполне допустимо его куда-то переместить.
Так что тут можно использовать любой из 4-х способов описанных здесь.
И ещё по поводу монтирования ФС из файла: думал как раз для дерева портеджей это сделать с целью сжатия... Однако тут линукс до сих пор далеко позади... ничего приличного с прозрачным сжатием пока не существует(поправьте меня)... ещё хотел в рейзер запихнуть, но тут больше вопрос возникает, какого размера ФС сделать... надо подгонять и в общем руки не дошли.

//оффтоп

+ открыть спойлер

я чего-то не найду, какие переменные за местоположение /usr/portage/distfiles и /usr/portage/packages отвеччают...

95% процентов проблем находятся между клавиатурой и стулом.

24

Fat-Zer пишет:

я чего-то не найду, какие переменные за местоположение /usr/portage/distfiles и /usr/portage/packages отвеччают...

emerge --info | grep 'PKGDIR|DISTDIR'
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
Был, был и весь вышел...

25 (08.01.2011 19:43:06 отредактировано ormorph)

Fat-Zer
Выгода тут в том, что память которая отведена под файл уже забита этим файлом, и ее уже нельзя пользователю заполнить, следовательно файл смонтированный в опредиленный каталог, -память в этом каталоге остается та же (соответствует размеру файла минус то чем забиваешь этот каталог), bind этого не обеспечивает.
Идея в том, что создается файл опредиленного размера

dd if=/dev/zero of=/home/ext3.img count=? bs=1M

параметр count опредиляет количество блоков, размер которых обредиляет параметр bs
Сколько вам этих блоков надо это уже на ваше усмотрение.

далее форматируется данный файл и прописывается в /etc/fstab
команды которыми это проделать вы должны знать.
fs выбирать вам ext3 ext4

все довольно просто.

Если надо подробнее как это проделать, то сейчас я не за компом(мобила), а завтра я могу написать подробнее.

Lupo Alberto извини сначала к тебе обращение написал))

26

ormorph, это я всё знаю wink , в том что файл заданного размера есть и минус, даже два: место может просто закончится, а с другой стороны будет занят лишний объём на диске. Первый просто решается, ибо увеличить размер образа совсем не сложно, а, например, рейзер и xfs можно увеличивать даже без размонтирования ag .
На счёт размера опять же квотирование спасёт мир... правда на своём десктопе этим влом заниматься smile, а так как ничего сверхважного не на корне не лежит, то проще просто следить за тем, чтобы память не кончилась...

95% процентов проблем находятся между клавиатурой и стулом.

27

Fat-Zer пишет:

ormorph, это я всё знаю wink , в том что файл заданного размера есть и минус, даже два: место может просто закончится, а с другой стороны будет занят лишний объём на диске. Первый просто решается, ибо увеличить размер образа совсем не сложно, а, например, рейзер и xfs можно увеличивать даже без размонтирования ag .
На счёт размера опять же квотирование спасёт мир... правда на своём десктопе этим влом заниматься smile, а так как ничего сверхважного не на корне не лежит, то проще просто следить за тем, чтобы память не кончилась...

Сам знаю, рецепт был для перестраховщиков)

На домашнем компе вся эта перестраховка, это лишнее,
так как  сам следишь за тем что бы всего хватало)

28

Fat-Zer
Посмотрел, действительно по поводу прозрачного сжатия, мало чего хорошего имеется.
Вот нашел fuse-zip можно через layman добавить оверлей zugaina там имеется.

Правда удобным fuse-zip не назовешь, плюсы монтируется обычный zip-архив в качестве fs, хотя это для кого как. Все изменения кешируются, после того как от-монтируешь, начинают добавляться в архив.
Минусы для монтирования используется своя команда, нельзя добавить в /etc/fstab в принципе оно понятно почему это сделано, как раз из за того, что изменения добавляются после от-монтирования.

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

29

fuse-zip пробовал... ещё нет поддержки ссылок(ни жёстких ни мягких), нет прав доступа, и возникает геморой с кодировкой... всё это обусловлено скудностью zip-архивов... в общем практически бесполезная вещь, как ФС.

Ещё здесь есть что-то интересное. По заявлениям может монтировать .tar.gz .tar.bz2, но я пока не пробовал...

Ещё есть fusecompress (есть в в каких-то оверлеях). Но она работает по-другому: её натравливаешь на какую-то директорию и она сжимает большие файлы хранящиеся на диске, для сжатия дерева портеджей бесполезна.

Хотелось бы конечно что-нибудь в ядре на подобие reiserfs со сжатием в качестве бонуса... но это пока только мечты...

95% процентов проблем находятся между клавиатурой и стулом.

30 (10.01.2011 08:59:47 отредактировано ormorph)

попробовал archivemount
через овелей ставил

git clone git://gitorious.org/ineluctable-overlay/ineluctable-overlay.git

то же самое что и fuse-zip, ради интереса попробовал скопировать дерево портов, при копировании некоторых файлов выдает ошибку, ну и симлинки не создает  ac
если и стоит использовать, так это монтирования архивов.
На fuse-zip у меня хотя бы  дерево портов скопировалось, а здесь на некоторых каталогах и файлах выдает ошибку.
Думаю тоже использовать не стоит, больно сырая вещь.

пробовал еще btrfs
http://ru.wikipedia.org/wiki/Btrfs
но что то не ощутил сжатия, du -sh выдает меньший размер( например для дерева портов в 3 раза ) , при этом если создать образ меньше размера каталога дерева портов, то вываливается в ошибку( не хватает места ), df при этом показывает заполнение на 33%. Либо я просто не разобрался как она работает.
Ну и не форматирует образ менее 256М.