LinuxForum.Fans
Тема

fdisk - редактирование разделов

Автор: White_Nelud 34 сообщений 8993 просмотров
#114090

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

#114092

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

#114093

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

#114094
text

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

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

text

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

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

#114095

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

#114096

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

#114097

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

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

#114099
koala написал:
сейчас перемещаю каталог portages в home.

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

#114103

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

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

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

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

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

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

#114219
Fat-Zer написал:
чего-то я до симлинков не додумался, когда ставил...

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

#114230

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

text
/home/src /usr/src none bind

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

#114252
drBatty написал:
а симлинки очень часто не срабатывают, или срабатывают совсем не так.

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

#114271
Lupo Alberto написал:
Поясните, пожалуйста.

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

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

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

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

#114272
Lupo Alberto написал:


1)
text

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

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

text

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

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

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

#114278

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Войдите или зарегистрируйтесь, чтобы ответить.