Примечание: здесь речь пойдёт именно о полноценной установке Ubuntu на usb-флешку, а не создании LiveUSB.
Предыстория
"Карманный дистрибутив" является довольно удобной штукой, ведь
подавляющее число компьютеров работают под управлением Windows, а
получить привычное рабочее окружение вне дома хотят многие.
Долгое время я использовал SD-карточку со SLAX'ом. Дистрибутив удобен,
кастомизируем, может полностью загрузиться в RAM и освободить порт.
Однако, уже 3 года проект заморожен, имеет устаревшее ПО. Отсутствие
поддержки файловых систем ext4 и нового оборудования (особенно видеокарт и WI-FI роутеров) вынудили меня отказаться от данной системы.
UPD: Slax уже разморожен и выпущена новая версия. Подробности здесь.
UPD: Slax уже разморожен и выпущена новая версия. Подробности здесь.
Далее у меня возникла идея установки ОС на флеш-накопитель встроенными средствами системы Ubuntu. Но из-за нерационального сохранения изменений и от этой системы пришлось отказаться. В итоге было решено воспользоваться установщиком под названием Ubiquity. Именно он содержится в LiveCD и производит инсталляцию на жесткий диск. Так как такой вариант требует места намного больше, чем дефолтный образ CD-диска, я приобрёл новую флешку на 16 гигабайт - Apacer AH325:
В качестве дистрибутива для установки был выбран LinuxMint 12, о котором уже упоминалось ранее. Вообще, можно использовать любую linux-систему, но лучше остановить свой выбор на Ubuntu или ubuntu-based дистрибутивах.
UPD: после выхода Ubuntu 12.04 LTS система на флешке была переустановлена. Теперь там LTS-релиз с поддержкой на протяжении 5-ти лет.
Установка
- Если компакт-диск с системой не записан, записываем его
- Систему загружаем в Live-режиме, то есть жмём "попробовать", а не "установить"
- Вставляем флешку в свободный USB-порт и разбиваем её на разделы, запустив для этой цели GParted. Потребуется 2 раздела: 10 гигабайт под FAT32, а 5 - под ext4.
- Инсталлируем систему как при установке на жёсткий диск. На шаге выбора места установки указываем "другой вариант", далее ext4-раздел флешки отдаём под корень (/), загрузчик ОБЯЗАТЕЛЬНО устанавливаем на флешку. Если на жёстком диске компьютера есть swap, указываем "не использовать этот раздел"
- По завершении установки не перезагружаемся сразу. На предложение перезагрузиться отвечаем отрицательно, так как перед первым запуском систему следует чуть-чуть допилить.
Далее пару слов про разбивку. Не думайте, что я ошибся и "потерял" гигабайт в 16-гиговой флешке.На самом деле его там и не было! Это хитрый маркетинговый ход: записать 16*109 байт вместо 16*230 байт. Так делают всегда, даже на жёстких дисках! Так и при разбивке, если хотите получить 10 GB, то укажите 10240 MB, а не 10000 MB.
Переходим к установке загрузчика. Его нужно ставить именно на флешку, а не на отдельный раздел. Также не стоит ставить на жёсткий диск (именно это предлагает установщик по-умолчанию) - получите неработоспособный GRUB, ибо часть его кода будет в /dev/sda, а остальное - на usb-флешке. Тогда без неё компьютер откажется загружаться! Поэтому будьте внимательны при выборе места установки загрузчика. Если считаете себя "криворуким", можно в целях безопасности извлечь жёсткий диск на время установки или отключить его в BIOS'е - тогда 100% всё пройдёт гладко.
Кроме всего прочего, суровые линуксоиды наверняка поворчат по поводу использования на флешке журналируемой файловой системы ext4 вместо более стандартной ext2. Ответ прост: лучше отключить журнал, чем использовать более старую и медленную ФС.
Однако, набирает популярность файловая система от Oracle под названием btrfs (b-tree FileSystem). Она имеет опцию ssd при монтировании, что сильно важно при использовании флеш-накопителей для корневого раздела. Но отсутствие стабильной версии и средств для проверки перекрывают все её плюсы...
Допиливание системы
Итак, Вы ещё на загрузились в новую систему? Нет? Отлично! Пора немного доработать флешку с системой. В терминале вводим следующие команды.Для отключения журналирования:
sudo tune2fs -o journal_data_writeback /dev/sdb2Для отключения резервирования места под пользователя root:
sudo tune2fs -m 0 /dev/sdb2Для отключения проверки по расписанию:
sudo tune2fs -c 0 /dev/sdb2
Примечание: все команды выполняются из
LiveCD/USB, с которого устанавливалась система. Пароль суперпользователя
запрашиваться не будет. Раздел с системой взят за "/dev/sdb2"
Далее в текстовом редакторе открываем файл /etc/fstab флеш-карты. Для указанных монтируемых при загрузке разделов в графе options прописываем noatime,nodiratime - это запретит создание дат изменения файлов, и, следовательно, уменьшит число записей на флешку и удлинит её жизнь. Также я советую настроить монтирование файлов, актуальных только для текущего сеанса, в tmpfs. Выглядеть это должно примерно так:
tmpfs /tmp tmpfs rw,size=100m 0 0 tmpfs /var/log tmpfs rw,size=15m 0 0 tmpfs /run tmpfs rw 0 0 tmpfs /var/lock tmpfs rw 0 0Подробнее про монтирование в fstab можно почитать здесь.
Примечание: если Вы собираетесь "по полной" использовать временный раздел (например, смотреть ролики большого размера на YouTube),
то ограничение в 100 мегабайт лучше увеличить. Лимит убирать не
советую, ибо зависшее приложение может повесить всю систему, забивая
временную папку своими копиями.
Первая загрузка
...как всегда, длится долго. Главное, дождаться загрузки до конца, не прерывать её, иначе может пострадать файловая система флешки.Затем Вас должно поприветствовать меню LightDM. После ввода пароля Вы получите полностью работоспособную систему. Можно приступать к дальнейшей настройке и загрузке пакетов. Однако первым делом лучше всего открыть Менеджер обновлений и привести систему в актуальное состояние. Всё остальное уже зависит от Ваших потребностей и вкусов. Но это уже другая история...
Итоги
Итак, в итоге получается загрузочная флешка, которая представляет из себя полноценный линукс-десктоп, способный справиться практичеси с любыми задачами.От себя посоветую всегда производить резервное копирование важных данных "в облако" (Ubuntu One, Dropbox), так как флеш память умирает неожиданно и как раз в тот момент, когда она просто жизненно необходима. И да, если планируется использовать систему на слабых машинах, не помешает наличие легковесных оконных менеджеров, таких как Openbox или IceWM. От запуска Unity на таких компьютерах советую воздержаться, хотя Unity-2D, скорее всего, имеет право на запуск на сравнительно старом "железе".
PS: вот как выглядит моя "флешечная" система, запущенная на нетбуке Dell Inspiron Mini 10:
http://vlsu.blogspot.com/2012/04/ubuntu-usb.html