Я хочу установить Maverick на корневой раздел BTRFS. Не для удовольствия или для тестирования, а потому, что мне нужно сжатие из-за небольшого флэш-диска (4 ГБ).
Теперь установщик 10.10, наконец, поддерживает btrfs, но нет возможности включить флаг compress
в нем. Можно ли как-нибудь обмануть установщик? Для старых версий и получения LUKS вы можете предварительно смонтировать разделы. Или есть ли простой monkeypatch для включения предварительной установки btrfs + compress?
Я натолкнулся на эту тему, потому что я искал возможность установить Linux Mint Debian Edition на флэш-диск и установить его на сжатые btrfs с самого начала. Хотя эти решения не имели прямого отношения к достижению моих результатов, я использовал часть этой информации для достижения своей цели.
Проблема заключалась в том, что точка установки, форматирующая и монтирующая раздел и начинающая копировать файлы, находилась рядом друг с другом, так как я не мог выполнить опцию «перемонтирования», упомянутую другими выше.
Версия сценария установщика для LMDE была написана на python (usr / lib / live-installer / installer.py). Я не уверен, что то же самое с Ubuntu, но если это так, это будет непосредственно применимо. Это позволило мне отредактировать скрипт и добавить эту строку прямо под строкой, в которой изначально монтировался раздел для "/"
os.system("mount -o remount,compress /dev/sda3 /target -t btrfs")
слов "/ dev / sda3" будет зависеть от вашего устройства. [ 114]
Я понимаю, что это форум по Ubuntu, но, как я уже сказал, он пришел к поиску, и это решение будет иметь прямое отношение, если установщик основан на python. В любом случае, мы все здесь Debian, верно!?
Более простой способ сделать это - изменить команду mount
живой среды.
Переместите исполняемый файл mount
в другое место:
sudo mv /bin/mount /bin/mount.bin
Отредактируйте новый файл с помощью sudoedit /bin/mount
и сохраните в нем следующий скрипт (измените параметры как вам нравится; здесь мы добавили compress
):
#!/bin/sh
if echo "$@" | grep -q -- "-t btrfs"; then
/bin/mount.bin "$@" -o compress
else
/bin/mount.bin "$@"
fi
Вы также можете сопоставить блочные устройства, такие как /dev/sda1
вместо -t btrfs
и цепочки elif
, чтобы использовать разные варианты монтирования для разных устройства и файловые системы.
Скопируйте исходные разрешения в новый скрипт:
sudo chmod --reference=/bin/mount.bin /bin/mount
Установите как обычно, и ваш раздел btrfs будет смонтирован с указанными параметрами (здесь compress
]).
/etc/fstab
недавно установленной системы в соответствии с указанными параметрами, чтобы она использовала те же параметры при новых загрузках. Я использовал: defaults,noatime,compress-force=lzo,space_cache
в качестве опций монтирования.
Это работает с количественной ежедневной (30/6/12).
Я использовал раздел btrfs как /
и раздел подкачки.
Кредиты переходят к этой записи (в этой теме ), которая в свою очередь цитирует эту запись в блоге .
Сразу после того, как установщик установит ваш раздел, вы можете попробовать переключиться на оболочку и выполнить mount -o remount,compress /target
, это может сработать.
Начиная с 13.04 (Raring Ringtail), вы должны иметь возможность установить на томе btrfs без сжатия, а затем сжать каждый файл на всем томе после загрузки до новой установки.
Согласно документации Oracle, вы можете сжать существующие файлы в существующей файловой системе, дефрагментировав ее с помощью опции -clzo.
sudo btrfs filesystem defragment -clzo /
Передав его, одиночная косая черта указывает btrfs дефрагментировать все файлы и каталоги на корневом томе.
См .: http://docs.oracle.com/cd/E37670_01/E37355/html/ol_use_case1_btrfs.html
. Как только вы закончите, добавьте сжатый = lzo ( или сжатие = zlib, если вы предпочитаете, но lzo рекомендуется для скорости) к строке вашего тома в / etc / fstab и перезагрузите компьютер, чтобы все остальные файлы, записанные на диск, были сжаты.
Выбор вручную: / dev / sda1 как btrfs для / some ext? / boot some swap
В терминале: sudo bash
Нажмите install
Нажмите enter в строке терминала: (sudo done) mount -t btrfs -o remount, сжат / dev / sda1 / target
Более свежее использование дистрибутивов busybox
для большинства команд, включая mount
. В этих выпусках, /bin/mount
символьная ссылка на /bin/busybox
и символьную ссылку нужно назвать, "монтируются", и не "mount.bin" для работы правильно. По сути, вышеупомянутый ответ Mskje может быть изменен на следующее:
sudo rm /bin/mount
sudo mkdir /bin/orig
sudo ln -s /bin/busybox /bin/orig/mount
sudo nano /bin/mount
- это создаст новый сценарий.Скопируйте это в сценарий и сохраните (изменитесь, опции как Вам угодно здесь сжимаются):
#!/bin/sh
if echo $@ | grep "btrfs" >/dev/null; then
/bin/orig/mount $@ -o compress
else
/bin/orig/mount $@
fi
sudo chmod 755 /bin/mount
сделать это исполняемым файлом.
fstab
из недавно установленной системы для соответствия указанным опциям, таким образом, это будет использовать те же опции на новых начальных загрузках.Вы можете получить любую или все интересные новые функции Btrfs, запустив команду mkfs.btrfs вручную . Альтернативный установщик может в любой момент вернуться к предыдущему шагу по вашему выбору. Вы можете использовать это для того, чтобы после того, как установщик создал btrfs, создал свои собственные btrfs и затем запустил установщик на предыдущем шаге, чтобы ваш fs привык.
пусть установит базовую систему.
alt-F2 зайдите в терминал и запустите mkfs.btrfs - / dev / sdXY
hit «кнопку возврата», затем снова выберите опцию раздела. по умолчанию будет не переформатировать, так что вы можете просто нажать продолжить. это переустановит базовую систему. Скажите «да» предупреждению о том, что не нужно переформатировать.
пользуются.
Вы можете просто добавить сжатие позже. Откройте /etc/fstab
и отредактируйте строку для вашей корневой файловой системы. Добавьте compress
к опциям монтирования следующим образом:
UUID=0c8e6d48-e6b3-425a-ab33-24205a9cb586 / btrfs defaults,compress 0 1
Теперь либо перемонтируйте, либо перезагрузите компьютер и не забывайте, что / boot пока не может жить на btrfs, поскольку GRUB2 не поддерживает его .
Я получил его работающий путем замены ext4 раздела на палке со сжатым btrfs разделом. Это может быть сделано с помощью другого компьютера.
Копирование всего через
sudo cp -ar /ext4Partition/* /backupspace/
Партон замены с помощью gparted с btrfs один
Скопируйте назад все
sudo cp -ar /backupspace/* /btrfsPartition/
Примечание: каталоги /btrfsParition
, /ext4Partition
и /backupspace
может быть установлен, как Вы хотите.
Вы всегда можете следовать древней китайской пословице:
Если вам не нравится то, что делает установщик-разделитель, разделите его самостоятельно и скажите установщику, чтобы установить на эти разделы.
BLOCKQUOTE>