Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:ubuntu_на_usb [2015/05/26 23:01] [Установка и использование Ubuntu на USB флешке. Замечания.] |
wiki:ubuntu_на_usb [2016/08/20 00:13] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ===== Установка и использование Ubuntu на USB флешке. Замечания. ===== | + | ===== Установка и использование Ubuntu на USB флешке ===== |
Довольно часто возникает желание или необходимость поставить Ubuntu на USB флешку и получить возможность пользоваться своей любимой ОС на любом компьютере (лишь бы была возможность загрузиться с USB). \\ | Довольно часто возникает желание или необходимость поставить Ubuntu на USB флешку и получить возможность пользоваться своей любимой ОС на любом компьютере (лишь бы была возможность загрузиться с USB). \\ | ||
- | Делается это просто - грузимся с <key>LiveCD</key> Ubuntu (или с **//Live-USB//**((сделать загрузочную флешку можно средствами Ubuntu-утилита: //Создание загрузочного диска// или используя [[wiki:unetbootin|UNetbootin]]))) и ставим систему на флешку. При этом нам не важно какая ос установлена на компьютере. Все что нужно это сам компьютер, <key>LiveCD/USB</key> и флешка((на которую будем ставить Ubuntu)). | + | Делается это просто - грузимся с <key>LiveCD</key> Ubuntu (или с <key>LiveUSB</key> ((сделать загрузочную флешку можно средствами Ubuntu-утилита: //Создание загрузочного диска// или используя [[wiki:unetbootin|UNetbootin]]))) и ставим систему на флешку. При этом нам не важно какая ос установлена на компьютере. Всё что нужно это сам компьютер, LiveCD/USB и отдельная флешка, на которую и будем ставить систему. |
<note tip>Более подробно процесс установки Ubuntu на флеш-накопитель описан [[wiki:установка_полноценной_ubuntu_на_usb-накопитель|тут]].</note> | <note tip>Более подробно процесс установки Ubuntu на флеш-накопитель описан [[wiki:установка_полноценной_ubuntu_на_usb-накопитель|тут]].</note> | ||
- | <note tip>Как вариант - можно в качестве компьютера использовать эмулятор: VirtualBox или VmWare, (только в них бывает сложно подключить USB для установки Ubuntu), тогда как LiveCD для эмуляторов не надо записывать - можно просто подключить образ в виртуальный привод CD-rom.:!: | + | <note tip>Как вариант - можно в качестве компьютера использовать эмулятор: VirtualBox или VmWare, (только в них бывает сложно подключить USB для установки Ubuntu). При установке через эмулятор не нужен отдельный носитель с Live системой - образ LiveCD просто подключается в виртуальный привод CD-ROM. |
</note> | </note> | ||
- | И часто подход к этому вопросу, что называется, "в-лоб" разочаровывает низкой производительностью и тем, что флешка быстро умирает :-( .\\ | + | И часто подход к этому вопросу, что называется, "в-лоб" разочаровывает низкой производительностью и тем, что флешка быстро умирает.\\ |
<note>Многие смогут возразить, что имея такую флешку с установленной ОС они ей пользуются много месяцев или даже лет. Если уточнить, то выясняется, что пользуются то ей долго, а вот грузятся с нее редко и работают не подолгу. Если же работать с такой флешки ежедневно, по много часов, то "смерть" флешки не заставит себя долго ждать: 2-3 месяца, может больше, может меньше, зависит от флешки (из личного опыта создателя начальной версии этой статьи [[user>Sly_tom_cat]]).</note> | <note>Многие смогут возразить, что имея такую флешку с установленной ОС они ей пользуются много месяцев или даже лет. Если уточнить, то выясняется, что пользуются то ей долго, а вот грузятся с нее редко и работают не подолгу. Если же работать с такой флешки ежедневно, по много часов, то "смерть" флешки не заставит себя долго ждать: 2-3 месяца, может больше, может меньше, зависит от флешки (из личного опыта создателя начальной версии этой статьи [[user>Sly_tom_cat]]).</note> | ||
Кроме того и сам процесс установки порой приводит к неприятным последствиям. | Кроме того и сам процесс установки порой приводит к неприятным последствиям. | ||
- | Но не надо отчаиваться и опускать руки.... Даже из не очень хорошего сырья можно сделать..., если не конфетку, то, по крайней мере, что-то съедобное ;-) \\ | + | Но не надо отчаиваться и опускать руки.... Даже из не очень хорошего сырья можно сделать..., если не конфетку, то, по крайней мере, что-то съедобное!\\ |
Разберемся в причинах печального исхода и возможных методов улучшения ситуации. | Разберемся в причинах печального исхода и возможных методов улучшения ситуации. | ||
===== Основные ошибки при установке Ubuntu на USB флешку и как с ними бороться ===== | ===== Основные ошибки при установке Ubuntu на USB флешку и как с ними бороться ===== | ||
Строка 25: | Строка 25: | ||
Разберем подробнее эти две проблемы\\ | Разберем подробнее эти две проблемы\\ | ||
==== Как продлить жизнь флешке ==== | ==== Как продлить жизнь флешке ==== | ||
- | Флеш-память отличается от жестких дисков тем, что количество циклов записи ограничено типично числами 10 и 100 тысяч записей (для разных типов флеш-памяти). | + | Флеш-память отличается от жестких дисков тем, что количество циклов записи обычно ограничено числами 10 и 100 тысяч записей (для разных типов флеш-памяти). |
<note>Для жестких дисков такой параметр (число циклов записи) вообще почти никогда не указывается - там быстрее происходит механический износ элементов диска. А магнитный слой на поверхности диска может перезаписываться почти бесконечно.</note> | <note>Для жестких дисков такой параметр (число циклов записи) вообще почти никогда не указывается - там быстрее происходит механический износ элементов диска. А магнитный слой на поверхности диска может перезаписываться почти бесконечно.</note> | ||
Строка 31: | Строка 31: | ||
Но и высокая цена флешки тоже не говорит о повышенной жевучести - тут ключевое слово - тип памяти - MLC (Multi-level cell, многоуровневые ячейки памяти) выдерживает порядка 10 тысяч записей; SLC (Single-level cell, одноуровневые ячейки памяти) — более 100 тысяч. Более дорогие флешки действительно живут дольше, но достигается это другими средствами (о них - чуть позже)</note> | Но и высокая цена флешки тоже не говорит о повышенной жевучести - тут ключевое слово - тип памяти - MLC (Multi-level cell, многоуровневые ячейки памяти) выдерживает порядка 10 тысяч записей; SLC (Single-level cell, одноуровневые ячейки памяти) — более 100 тысяч. Более дорогие флешки действительно живут дольше, но достигается это другими средствами (о них - чуть позже)</note> | ||
- | Кажется это много, но разберемся как эти циклы записи "съедаются" при работе ОС. | + | Кажется что 10/100 тысяч - это много, но разберемся как эти циклы записи "съедаются" при работе ОС. |
- Запись на флеш-носитель происходит по-блочно (как правило - десятки килобайт), и запись последовательно двух байт в файл с интервалом между записями в несколько минут вызовет две записи одного и того же блока памяти (т.е. обновятся два раза несколько тысяч ячеек). | - Запись на флеш-носитель происходит по-блочно (как правило - десятки килобайт), и запись последовательно двух байт в файл с интервалом между записями в несколько минут вызовет две записи одного и того же блока памяти (т.е. обновятся два раза несколько тысяч ячеек). | ||
- При работе файловой системы (ФС) некоторые служебные структуры ФС обновляются постоянно:\\ | - При работе файловой системы (ФС) некоторые служебные структуры ФС обновляются постоянно:\\ | ||
Строка 39: | Строка 39: | ||
- SWAP-раздел - если он используется в работе системы, то запись в него тоже очень интенсивная. | - SWAP-раздел - если он используется в работе системы, то запись в него тоже очень интенсивная. | ||
- | Кроме того, нужно не забывать, что лимит циклов записи действует на каждую ячейку памяти. И если на флешке в один и тот же блок сделать 10 тысяч записей, а в другие сделать по 100 записей, то блок, куда было записано 10 тысяч раз, на записи (10тысяч + сколько-то) "умрет", а контроллер флешки, обнаружив 1 битый блок, может заявить, что умерла вся флешка. А даже если он этого не сделает, то этот блок будет содержать важную для работы системы или ФС информацию((А это именно так и случится по "закону подлости", поверьте.)), и результат будет практически тем же - внезапная остановка системы и невозможность прочитать данные с флешки. :-( \\ | + | Кроме того, нужно не забывать, что лимит циклов записи действует на каждую ячейку памяти. И если на флешке в один и тот же блок сделать 10 тысяч записей, а в другие сделать по 100 записей, то блок, куда было записано 10 тысяч раз, на записи 10тысяч + сколько-то "умрет", а контроллер флешки, обнаружив 1 битый блок, может заявить, что умерла вся флешка. А даже если он этого не сделает, то этот блок будет содержать важную для работы системы или ФС информацию((А это именно так и случится по "закону подлости", поверьте.)), и результат будет практически тем же - внезапная остановка системы и невозможность прочитать данные с флешки. (!)\\ |
Строка 47: | Строка 47: | ||
Осознав это поймем, что и <note important>__**Система на флешке - не может быть долговечной и надежной**__.</note> | Осознав это поймем, что и <note important>__**Система на флешке - не может быть долговечной и надежной**__.</note> | ||
\\ | \\ | ||
- | А поняв и приняв это задумаемся - а нужна ли для такой системы надежность журналируемой ФС (такой дорогой ценой как сокращение времени жизни флешки и системы на ней)?\\ | + | А поняв и приняв это, задумаемся: а нужна ли для такой системы надежность журналируемой ФС (такой дорогой ценой как сокращение времени жизни флешки и системы на ней)?\\ |
Однозначно - нет. \\ | Однозначно - нет. \\ | ||
- | Нам потребуется EXT4 с отключенным журналом ((**sudo tune2fs -o journal_data_writeback /dev/sdXY**, где sdXY - раздел флешки, куда мы устанавливаем систему)). Если разбираться с отключением журнал в EXT3/4 не хотите - просто воспользуйтесь EXT2. | + | Итак, нам потребуется EXT4 с отключенным журналом ((**sudo tune2fs -o journal_data_writeback /dev/sdXY**, где sdXY - раздел флешки, куда мы устанавливаем систему)). Если разбираться с отключением журнал в EXT3/4 не хотите - просто воспользуйтесь EXT2. |
- | <note tip> Есть и другие ФС, и настройки, которые могут продлить жизнь флешке. Эти решения могут дать большие преимущества. Если есть желание - то поищите другие варианты. Особо обращает на себя внимание опция ssd файловой системы btrfs...:!: </note> | + | <note tip> Есть и другие ФС, и настройки, которые могут продлить жизнь флешке. Эти решения могут дать большие преимущества. Если есть желание - то поищите другие варианты. Особо обращает на себя внимание опция ssd файловой системы btrfs (!?)...</note> |
- | Избавиться от записи даты/времени последнего доступа к файлам и директориям в i-node помогают опции монтирования файловых систем noatime((Так же можно использовать опцию **relatime**, которая разрешает записывать только время изменения )) и nodiratime. Их, после установки системы, нужно будет прописать в файле [[fstab|/etc/fstab]] для всех разделов системы, которые расположены на флешке.\\ | + | Избавиться от записи даты/времени последнего доступа к файлам и директориям в i-node помогают опции монтирования файловых систем noatime. Её, после установки системы, нужно будет прописать в файле [[fstab|/etc/fstab]] для всех разделов системы, которые расположены на флешке.\\ |
<note tip> Вообще, эти опции не только количество записей на флешке сокращают, но и на жестком диске скорость работы ФС увеличивают. </note> | <note tip> Вообще, эти опции не только количество записей на флешке сокращают, но и на жестком диске скорость работы ФС увеличивают. </note> | ||
Строка 92: | Строка 92: | ||
Если мы хотим пользоваться системой на флешке долго, и не получить разочарования от потери данных, то нужно делать так: | Если мы хотим пользоваться системой на флешке долго, и не получить разочарования от потери данных, то нужно делать так: | ||
* при установке Ubuntu на флешку: | * при установке Ubuntu на флешку: | ||
- | * тип ФС для разделов системы выбираем EXT4 с отключенным журналом (или на худой конец - EXT2). | + | * тип ФС для разделов системы выбираем EXT4 с отключенным журналом (или, на худой конец, - EXT2). |
* swap не создаем (а если на компьютере есть раздел swap - то говорим инсталятору - не использовать его). | * swap не создаем (а если на компьютере есть раздел swap - то говорим инсталятору - не использовать его). | ||
* GRUB устанавливаем обязательно на флешку, где и создаем разделы для установки системы. | * GRUB устанавливаем обязательно на флешку, где и создаем разделы для установки системы. | ||
- | * прописываем в /etc/fstab опции noatime,nodiratime для всех разделов размещенных на флешке. | + | * прописываем в /etc/fstab опцию noatime для всех разделов размещенных на флешке. |
- | * прописываем в /etc/fstab монтирование /tmp, /run, /var/lock (и, возможно, /var/log) в tmpfs (не забываем про ограничение размера). | + | * прописываем в /etc/fstab монтирование /tmp, /run, /var/lock (и, возможно, /var/log) в tmpfs (не забываем про ограничения размеров). |
- | * При использовании системы нужно **регулярно делать резервную копию важных данных** на другой носитель((сейчас в составе Ubuntu есть средства резервного копирования в Ubuntu-One. Такой бекап в облако - практически идеальное решение для флешечной ОС!)) (не забываем про невысокую надежность ОС на флешке и возможную внезапную кончину флеш-памяти). \\ | + | * При использовании системы нужно **регулярно делать резервную копию важных данных** на другой носитель((Очень удобно настроить резервное копирование в облако, это - практически идеальное решение для флешечной ОС!)) (не забываем про невысокую надежность ОС на флешке и возможную внезапную кончину флеш-памяти). \\ |
* А при использовании на компьютере с небольшим объемом оперативной памяти (1Гб и менее) стараемся не запускать по много ресурсоёмких задач одновременно или изучаем и настраиваем **ramzswap**. | * А при использовании на компьютере с небольшим объемом оперативной памяти (1Гб и менее) стараемся не запускать по много ресурсоёмких задач одновременно или изучаем и настраиваем **ramzswap**. | ||
<note tip> Кроме указанного, можно применить и другие приемы оптимизации производительности системы (эти приемы выходят за рамки данной статьи, но их легко найти в Internet-е).</note> | <note tip> Кроме указанного, можно применить и другие приемы оптимизации производительности системы (эти приемы выходят за рамки данной статьи, но их легко найти в Internet-е).</note> | ||
Строка 107: | Строка 107: | ||
Есть одна досадная ошибка инсталлятора (можно сказать особенность ((так как эта ошибка очень давно зарепорчена и никак не исправляется)) ), которая не позволяет установить Ubuntu на тот же физический диск с которого загрузился Live образ ((в процессе разметки диска инсталлятор упорно пробует размонтировать все файловые системы на том носителе куда ставится ОС)). Т.е. если вы захотите загрузившись с флешки на нее же и поставить Ubunut (в другой раздел) - то вам это не удастся. Обойти эту "особенность" можно удалив "руками" запись о примонтированном разделе с флешки из /etc/mtab. | Есть одна досадная ошибка инсталлятора (можно сказать особенность ((так как эта ошибка очень давно зарепорчена и никак не исправляется)) ), которая не позволяет установить Ubuntu на тот же физический диск с которого загрузился Live образ ((в процессе разметки диска инсталлятор упорно пробует размонтировать все файловые системы на том носителе куда ставится ОС)). Т.е. если вы захотите загрузившись с флешки на нее же и поставить Ubunut (в другой раздел) - то вам это не удастся. Обойти эту "особенность" можно удалив "руками" запись о примонтированном разделе с флешки из /etc/mtab. | ||
===== Альтернативы ===== | ===== Альтернативы ===== | ||
- | * Внешний жесткий диск не страдает малым числом циклов записи, однако, операционная система, работая с диском по довольно медленному интерфейсу (обычно USB2. USB3 и e-SATA интерфейсы - значительно быстрее, но на момент написания статьи - еще не сильно распространены), также требует оптимизации. Тут пригодятся и noatime,nodiratime, тоже стоит подумать - а нужен ли swap, да и /tmp полезно также разместить в памяти. А вот логи размещать в памяти - не стоит. Ну, а кроме того, внешний диск - это совсем другой размер и вес :-/, да и падения для этих устройств - опасны. | + | * Внешний жесткий диск не страдает малым числом циклов записи, однако, операционная система, работая с диском по довольно медленному интерфейсу (обычно - USB2. USB3 и e-SATA интерфейсы - значительно быстрее, но на момент написания статьи - еще не сильно распространены), также требует оптимизации. Тут пригодятся и noatime, а тоже стоит подумать - а нужен ли swap, да и /tmp полезно также разместить в памяти. А вот логи размещать в памяти - не стоит. Ну, а кроме того, внешний диск - это совсем другой размер и вес (!), да и падения для этих устройств - крайне опасны. |
* Внешний SSD диск - довольно дорогое решение. Тоже не маленький, хотя и легче внешнего жесткого диска и падений - почти не боится (как и флешка). И там тоже есть ограничение по числу циклов записи((Собственно SSD диск - это, по сути, большая флешка с умным контроллером и кешем.)), но контроллеры твердотельных дисков используют специальные алгоритмы переразмещения записываемых блоков с учетом знаний о том, сколько записей было сделано в каждый блок памяти. Эти алгоритмы значительно продлевают время жизни такого носителя информации. | * Внешний SSD диск - довольно дорогое решение. Тоже не маленький, хотя и легче внешнего жесткого диска и падений - почти не боится (как и флешка). И там тоже есть ограничение по числу циклов записи((Собственно SSD диск - это, по сути, большая флешка с умным контроллером и кешем.)), но контроллеры твердотельных дисков используют специальные алгоритмы переразмещения записываемых блоков с учетом знаний о том, сколько записей было сделано в каждый блок памяти. Эти алгоритмы значительно продлевают время жизни такого носителя информации. | ||
- | <note important>Упрощенные алгоритмы переразмещения блоков используются и в некоторых (как правило - не самых дешёвых) флешках. Для их работы требуется как избыточное количество ячеек памяти, так и более быстрый и "умный" контроллер. Собственно "особый" контроллер и доп. (не доступная пользователю) память и повышают стоимость флешки... хотя, конечно основное повышение цены делают маркетологи, как обычно :-) </note>. | + | <note important>Упрощенные алгоритмы переразмещения блоков используются и в некоторых (как правило - не самых дешёвых) флешках. Для их работы требуется как избыточное количество ячеек памяти, так и более быстрый и "умный" контроллер. Собственно "особый" контроллер и доп. (не доступная пользователю) память и повышают стоимость флешки... хотя, конечно основное повышение цены делают маркетологи, как обычно (!)</note>. |
* Можно пойти и другим путем - сменить дистрибутив. Есть дистрибутивы специально "заточенные" на работу с флешки (не берусь тут перечислять их все - их легко найти). Ярким представителем таких дистрибутивов является Puppy Linux (русифицированные сборки - [[http://ru.wikipedia.org/wiki/Puppyrus|PuppyRus Linux]]). Дистрибутив этот собран минималистично ((оперативной памяти требуется всего — **64 МB** - **128 МB**. Процессоры: начиная с **Pentium**.)) и с использованием самых скромных (по размерам) программ. Это позволяет в процессе загрузки разместить всю файловую систему Linux в оперативной памяти ((Что дает изумительную производительность такой системы.)). А в процессе выключения системы все изменения в ФС (произведенные за время работы) записываются однократно обратно на флешку((Данные записываются действительно один раз, а не постоянно как это происходит в случае установки Ubuntu на флешку или при использовании LiveUSB, хотя принцип сохранения только изменений, аналогичен механизму, реализованному в LiveUSB.)). Изменения можно скинуть и в процессе работы, если есть опасения например в возможном внезапном отключении питания, ну или просто - что бы быть спокойным, что не потеряется ничего. А самое привлекательное для любителей Ubuntu в том, что есть сборки Puppy основанные на Ubuntu. Сайт проекта [[http://uco.puppyrus.org/|PuppyRus]] содержит много полезной информации и инструкций. | * Можно пойти и другим путем - сменить дистрибутив. Есть дистрибутивы специально "заточенные" на работу с флешки (не берусь тут перечислять их все - их легко найти). Ярким представителем таких дистрибутивов является Puppy Linux (русифицированные сборки - [[http://ru.wikipedia.org/wiki/Puppyrus|PuppyRus Linux]]). Дистрибутив этот собран минималистично ((оперативной памяти требуется всего — **64 МB** - **128 МB**. Процессоры: начиная с **Pentium**.)) и с использованием самых скромных (по размерам) программ. Это позволяет в процессе загрузки разместить всю файловую систему Linux в оперативной памяти ((Что дает изумительную производительность такой системы.)). А в процессе выключения системы все изменения в ФС (произведенные за время работы) записываются однократно обратно на флешку((Данные записываются действительно один раз, а не постоянно как это происходит в случае установки Ubuntu на флешку или при использовании LiveUSB, хотя принцип сохранения только изменений, аналогичен механизму, реализованному в LiveUSB.)). Изменения можно скинуть и в процессе работы, если есть опасения например в возможном внезапном отключении питания, ну или просто - что бы быть спокойным, что не потеряется ничего. А самое привлекательное для любителей Ubuntu в том, что есть сборки Puppy основанные на Ubuntu. Сайт проекта [[http://uco.puppyrus.org/|PuppyRus]] содержит много полезной информации и инструкций. | ||
===== А в чем отличие от LiveUSB ===== | ===== А в чем отличие от LiveUSB ===== | ||
Строка 119: | Строка 119: | ||
Что же мы получаем применительно к интересующим нас аспектам: | Что же мы получаем применительно к интересующим нас аспектам: | ||
- | Запись на флешку идет примерно в таком же объеме и его не получится сократить (добавив noatime,nodiratime в опции монтирования в /etc/fstab) т.к. монтирование корня происходит на этапе инициализации ядра системы и в /etc/fstab Live системы просто нет монтирования корня.\\ | + | Запись на флешку идет примерно в таком же объеме и его не получится сократить (добавив noatime в опции монтирования в /etc/fstab) т.к. монтирование корня происходит на этапе инициализации ядра системы и в /etc/fstab Live системы просто нет монтирования корня.\\ |
Производительность по записи (собственно это больное место мы особо и не рассматривали при разговоре об Ubuntu установленной на флешку) здесь будет еще похуже, запись идет в ФС EXT2, а она лежит в фале на ФС FAT.\\ | Производительность по записи (собственно это больное место мы особо и не рассматривали при разговоре об Ubuntu установленной на флешку) здесь будет еще похуже, запись идет в ФС EXT2, а она лежит в фале на ФС FAT.\\ | ||
Дополнительно, флешка всегда хранит один и тот же набор системных файлов в SquashFS и любые обновления системы будут занимать место в casper.rw, но не будут освобождать место в SquashFS и это может стать проблемой при небольшом объеме флешки.\\ | Дополнительно, флешка всегда хранит один и тот же набор системных файлов в SquashFS и любые обновления системы будут занимать место в casper.rw, но не будут освобождать место в SquashFS и это может стать проблемой при небольшом объеме флешки.\\ | ||
\\ | \\ | ||
В "сухом остатке"- у LiveUSB нет особых преимуществ ((Кроме, разве что, простоты создания и возможности использовать такую флешку еще и для обмена данными с пользователями Windows.)) перед правильно установленной на флешку системой, а недостатки - присутствуют.\\ | В "сухом остатке"- у LiveUSB нет особых преимуществ ((Кроме, разве что, простоты создания и возможности использовать такую флешку еще и для обмена данными с пользователями Windows.)) перед правильно установленной на флешку системой, а недостатки - присутствуют.\\ | ||
- | Также существуют ОС, специально созданные для установки на флешку. Для примера дана ссылка на проект PuppyRus Linux, где можно найти множество таких ОС. Существуют и другие аналогичные проекты. | + | |
===== Ссылки ===== | ===== Ссылки ===== | ||
* [[fstab|/etc/fstab]] | * [[fstab|/etc/fstab]] |