Установщик хитрости для использования btrfs root со сжатием

Я хочу установить Maverick на корневой раздел BTRFS. Не для удовольствия или для тестирования, а потому, что мне нужно сжатие из-за небольшого флэш-диска (4 ГБ).

Теперь установщик 10.10, наконец, поддерживает btrfs, но нет возможности включить флаг compress в нем. Можно ли как-нибудь обмануть установщик? Для старых версий и получения LUKS вы можете предварительно смонтировать разделы. Или есть ли простой monkeypatch для включения предварительной установки btrfs + compress?

9
задан 31 May 2015 в 16:45

10 ответов

Я натолкнулся на эту тему, потому что я искал возможность установить 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, верно!?

0
ответ дан 31 May 2015 в 16:45

Более простой способ сделать это - изменить команду mount живой среды.

  1. Загрузитесь как обычно на сеанс в прямом эфире.
  2. Переместите исполняемый файл mount в другое место:

    sudo mv /bin/mount /bin/mount.bin
    
  3. Отредактируйте новый файл с помощью 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, чтобы использовать разные варианты монтирования для разных устройства и файловые системы.

  4. Скопируйте исходные разрешения в новый скрипт:

    sudo chmod --reference=/bin/mount.bin /bin/mount
    
  5. Установите как обычно, и ваш раздел btrfs будет смонтирован с указанными параметрами (здесь compress ]).

    [тысяча сто двадцать один]
  6. После завершения установки, перед выходом из live envirement, измените /etc/fstab недавно установленной системы в соответствии с указанными параметрами, чтобы она использовала те же параметры при новых загрузках.

Я использовал: defaults,noatime,compress-force=lzo,space_cache в качестве опций монтирования.

Это работает с количественной ежедневной (30/6/12).

Я использовал раздел btrfs как / и раздел подкачки.

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

0
ответ дан 31 May 2015 в 16:45

Сразу после того, как установщик установит ваш раздел, вы можете попробовать переключиться на оболочку и выполнить mount -o remount,compress /target, это может сработать.

0
ответ дан 31 May 2015 в 16:45

Начиная с 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 и перезагрузите компьютер, чтобы все остальные файлы, записанные на диск, были сжаты.

0
ответ дан 31 May 2015 в 16:45

Выбор вручную: / dev / sda1 как btrfs для / some ext? / boot some swap

В терминале: sudo bash

Нажмите install

Нажмите enter в строке терминала: (sudo done) mount -t btrfs -o remount, сжат / dev / sda1 / target

0
ответ дан 31 May 2015 в 16:45

Более свежее использование дистрибутивов busybox для большинства команд, включая mount. В этих выпусках, /bin/mount символьная ссылка на /bin/busybox и символьную ссылку нужно назвать, "монтируются", и не "mount.bin" для работы правильно. По сути, вышеупомянутый ответ Mskje может быть изменен на следующее:

  1. Начальная загрузка как нормальная к живой сессии.
  2. sudo rm /bin/mount
  3. sudo mkdir /bin/orig
  4. sudo ln -s /bin/busybox /bin/orig/mount
  5. sudo nano /bin/mount - это создаст новый сценарий.
  6. Скопируйте это в сценарий и сохраните (изменитесь, опции как Вам угодно здесь сжимаются):

    #!/bin/sh  
    if echo $@ | grep "btrfs" >/dev/null; then  
        /bin/orig/mount $@ -o compress  
    else  
        /bin/orig/mount $@  
    fi
    
  7. sudo chmod 755 /bin/mount сделать это исполняемым файлом.

  8. Установка как нормальная и Ваш btrfs раздел будет смонтирована с указанными опциями (здесь сжатие).
  9. После того, как установка закончена, прежде, чем выйти из живого envirement, изменитесь fstab из недавно установленной системы для соответствия указанным опциям, таким образом, это будет использовать те же опции на новых начальных загрузках.
1
ответ дан 31 May 2015 в 16:45

Вы можете получить любую или все интересные новые функции Btrfs, запустив команду mkfs.btrfs вручную . Альтернативный установщик может в любой момент вернуться к предыдущему шагу по вашему выбору. Вы можете использовать это для того, чтобы после того, как установщик создал btrfs, создал свои собственные btrfs и затем запустил установщик на предыдущем шаге, чтобы ваш fs привык.

  1. запускать программу установки до окончания фазы раздела.
  2. пусть установит базовую систему.

  3. alt-F2 зайдите в терминал и запустите mkfs.btrfs - / dev / sdXY

  4. вернитесь к установщику alt-F1
  5. hit «кнопку возврата», затем снова выберите опцию раздела. по умолчанию будет не переформатировать, так что вы можете просто нажать продолжить. это переустановит базовую систему. Скажите «да» предупреждению о том, что не нужно переформатировать.

  6. пользуются.

0
ответ дан 31 May 2015 в 16:45

Вы можете просто добавить сжатие позже. Откройте /etc/fstab и отредактируйте строку для вашей корневой файловой системы. Добавьте compress к опциям монтирования следующим образом:

UUID=0c8e6d48-e6b3-425a-ab33-24205a9cb586 / btrfs defaults,compress 0 1

Теперь либо перемонтируйте, либо перезагрузите компьютер и не забывайте, что / boot пока не может жить на btrfs, поскольку GRUB2 не поддерживает его .

0
ответ дан 31 May 2015 в 16:45

Я получил его работающий путем замены ext4 раздела на палке со сжатым btrfs разделом. Это может быть сделано с помощью другого компьютера.

  1. Копирование всего через

    sudo cp -ar /ext4Partition/* /backupspace/
  2. Партон замены с помощью gparted с btrfs один

  3. Смонтируйте, что новый партон с помощью sudo монтируется, монтируют/dev/yourdevice/btrfsPartition сжатия-o
  4. Скопируйте назад все

    sudo cp -ar /backupspace/* /btrfsPartition/
  5. Обновите/btrfsPartition/etc/fstab к новому устройству uuids и к новому типу раздела. Удалите повторно монтируют Опцию, поскольку btrfs не имеет этого.
  6. переустановите загрузчик (например, через BootRepair)

Примечание: каталоги /btrfsParition, /ext4Partition и /backupspace может быть установлен, как Вы хотите.

1
ответ дан 31 May 2015 в 16:45

Вы всегда можете следовать древней китайской пословице:

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

0
ответ дан 31 May 2015 в 16:45

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

Похожие вопросы: