- Создание Live USB-дисков в Linux с помощью команды dd
- Создание Live USB-дисков на основе ISO-файлов с помощью команды dd
- Шаг 0. Загрузка ISO-файла
- Шаг 1. Выяснение метки USB-диска
- Шаг 2. Запись ISO-файла на USB-диск
- Итоги
- Кастомный LiveCD Ubuntu за 5 шагов / Ubuntu LiveCD Remastering
- Предисловие
- Шаг №0
- Шаг №1. Копирование файлов iso
- Шаг №2. Распаковываем систему
- Шаг №3. Выполняем вход в систему и настраиваем ее
- Шаг №4. Сжимаем кастомизированную систему
- Шаг №5. Собираем новый iso
- Лучшие Live USB дистрибутивы Linux
- Лучшие Live USB дистрибутивы Linux
- 1. Rescatux
- 2. Batocera.linux
- 3. Slax
- 4. Porteus
- 5. MX Linux
- 6. Kali Linux
- 7. Tails
- 8. Linux Kodachi
- Выводы
Создание Live USB-дисков в Linux с помощью команды dd
Существует несколько программ с графическим интерфейсом, предназначенных для создания Live USB-дисков. Вероятно, в Linux самой популярной из них является Etcher. В Ubuntu есть собственный инструмент для решения этой задачи — Startup Disk Creator.
Но продвинутые пользователи Linux, ради удобного и быстрого создания Live USB-дисков, постоянно обращаются к команде dd .
Это — CLI-инструмент, который даёт тому, кто его выбирает, мощные возможности по копированию и конвертированию файлов.
Обычно dd используют для того, чтобы записывать ISO-файлы на внешние носители информации, вроде USB-дисков. Потом такой носитель информации можно использовать, например, для установки записанного на него Linux-дистрибутива на обычный компьютер или на ноутбук.
Тут я расскажу о создании загрузочных USB-дисков с помощью dd . В частности, разберу команды, которые нужны для того, чтобы сначала найти в системе нужный диск, а потом записать на него ISO-файл.
Создание Live USB-дисков на основе ISO-файлов с помощью команды dd
Прежде чем я покажу вам пошаговый план работы с dd — хочу в двух словах рассказать об этой команде и продемонстрировать пример её использования.
Вот как выглядит вызов команды dd для записи ISO-файла на USB-диск:
Разберём эту команду.
Разбор команды dd
Сначала в командной строке вводят dd . Это, как и должно быть, просто имя команды, которую мы собираемся запустить.
Далее указывают следующее: if=»./filename.iso» . Имя опции if расшифровывается как input file — входной файл. Тут мы сообщаем dd о том, какой именно ISO-файл хотим записать на USB-диск.
После этого вводят путь к USB-диску. В данном случае это выглядит как of=»/dev/sdb» . Здесь of означает output file, то есть — выходной файл.
При работе с dd стоит помнить о том, что то, что указывают в опции of , необязательно должно представлять собой файл в системе, используемой для работы. Тут можно указывать нечто вроде пути к внешнему устройству (именно так и сделано в нашем примере). И хотя выглядит этот путь как путь к обычному файлу, он, на самом деле, символизирует устройство, подключённое к компьютеру.
Опция status может принимать одно из трёх значений: none , noxfer и progress .
Если она установлена в значение progress — это приведёт к тому, что dd будет периодически сообщать нам о том, сколько данных из ISO-файла уже перенесено на диск, и о том, сколько времени, приблизительно, осталось до завершения операции.
Если использовать тут значение none , то dd ничего не будет сообщать о ходе процедуры, но, если в процессе записи образа на диск возникнут ошибки, программа об этом сообщит.
Вариант noxfer позволяет скрыть некоторые сведения, выводимые после того, как перенос данных на USB-диск завершён. Например — сведения о том, сколько времени заняла процедура копирования ISO-файла.
И, наконец, мы воспользовались вариантом fsync опции conv . Это приводит к тому, что dd не сообщит об успешном завершении операции до тех пор, пока весь ISO-файл не будет записан на USB-диск.
Если эту опцию не указывать, dd , всё равно, правильно запишет данные (и при этом может показаться, что команда работает быстрее, чем с этой опцией), но может оказаться так, что системе понадобится некоторое время на то, чтобы, при попытке безопасно извлечь USB-диск, сообщить о том, что это возможно. Дело в том, что без этой опции завершение записи образа проводится в фоновом режиме, что позволяет пользователю в это время заняться какими-то другими делами.
Теперь, когда мы разобрали команду dd , рассмотрим весь процесс записи ISO-файлов на USB-диски.
Но, прежде чем мы продолжим, хочу вас кое о чём предупредить. Командная строка — это палка о двух концах. Будьте очень осторожны, выполняя команды наподобие dd . А именно — тщательно проконтролируйте то, что в этой команде используется правильный выходной файл. Ошибка при указании опции of может привести к форматированию главного системного диска и к уничтожению файлов операционной системы, установленной на компьютере.
Шаг 0. Загрузка ISO-файла
Само собой разумеется то, что для того, чтобы записать на USB-диск ISO-файл, этот файл сначала надо где-то раздобыть.
Я, испытывая команду dd , буду записывать на диск образ Ubuntu 20.04, который можно скачать отсюда.
Шаг 1. Выяснение метки USB-диска
Сначала подключим USB-диск к компьютеру.
В вышеприведённом примере я, настраивая опцию of , ввёл /dev/sdb . Обычно USB-диски, подключённые к системе, доступны именно по этому пути, но это — не некое железное правило, которое справедливо абсолютно всегда.
В вашей системе это может быть какой-то другой путь. Выяснить это можно с помощью команды lsblk . Выполнив эту команду нужно поискать диск, размер которого соответствует USB-диску, на который планируется записать образ.
Поиск USB-диска с помощью средств командной строки
Если вы предпочитаете для решения подобных задач использовать программы с графическим интерфейсом — можете найти путь к нужному диску с помощью чего-то наподобие GNOME Disks.
Поиск USB-диска с помощью инструмента с графическим интерфейсом
Теперь, когда нам известен путь к нужному носителю информации, можно создать Live USB-диск.
Шаг 2. Запись ISO-файла на USB-диск
Откроем терминал в директории, в которой находится загруженный ISO-файл, и запустим следующую команду (запуская эту команду у себя — замените, если нужно, /dev/sdb на путь к вашему USB-диску):
После выполнения этой команды нужно будет некоторое время подождать и dd создаст Live USB-диск.
Создание Live USB-диска
Итоги
После завершения работы dd в вашем распоряжении окажется USB-диск, с которого можно загрузиться. Но, пожалуй, важнее то, что теперь вы лучше узнали инструменты командной строки Linux, освоили кое-что новое, позволяющее ускорить и упростить решение некоторых задач.
Чем вы пользуетесь для создания Live USB-дисков в Linux?
Источник
Кастомный LiveCD Ubuntu за 5 шагов / Ubuntu LiveCD Remastering
Предисловие
Последние года 3 я активный пользователь Linux. Мне нравится возможность полной настройки и экспериментов, которые позволяет эта система. Единственным неудобством, на мой взгляд, являлась невозможность сохранить свои изменения в сам LiveCD с системой. Это решалось послеустановочными скриптами, но хотелось сделать уже настроенную под себя систему прямиком в LiveCD. Потратив кучу времени, сил и нервов мне удалось реализовать эту цель. Далее постараюсь описать все шаги подробно, чтобы не оставлять «пустых» мест.
Я прикипел к дистрибутиву Lubuntu, на его примере и опишу кастомизацию, но вы можете использовать мои рекомендации для Debian, Ubuntu (любой редакции), Manjaro. На этих Linux мой алгоритм испробован с успехом. Вероятно с другими ОС он тоже сработает, но сам не проверял.
Шаг №0
Подготовим хостовую систему (у меня Lubuntu) для сборки кастомного LiveCD. Нам понадобится несколько дополнительных приложений.
Если у вас хостовая система Manjaro или Arch, вместо пакета isolinux установите syslinux
Шаг №1. Копирование файлов iso
Этот шаг до ужаса прост. Монтируем LiveCD, создаем каталог для копирования файлов и копируем.
Шаг №2. Распаковываем систему
После копирования файлов iso образа нам необходимо найти запакованную систему. В Ubuntu это файл filesystem.sqashfs, находящийся в папке casper. Этот файл — и есть вся операционная система, сжатая в «архив». В iso других ОС название и расположение файла может отличаться.
Шаг №3. Выполняем вход в систему и настраиваем ее
В папке rootfs у нас уже лежит операционная система. Теперь мы можем запустить ее в окружении chroot. По сути мы загружаем новую ОС в терминале, условно говоря. Если мы сейчас так и поступим, то все изменения нам придется вносить вручную. Вариант не лучший, на мой взгляд.
Предложу создать автоматизированный скрипт установки пакетов программ и настроек.
1. При настройке системы в chroot не рекомендую обновлять приложения (apt upgrade или pacman -Syu). Иначе придется возиться с настройкой нового ядра (точнее initramfs). Если умеете — в путь. Я предпочитаю не усложнять.
2. Чтобы перенести настроки рекомендую воспользоваться ленивым вариантом. Загружаетесь в нужной системе, можно даже в LiveCD. Выполняем настроки системы и приложений. После этого большинство из них можно найти в папке .config личного каталога пользователя. Просто находим файлы настроек приложений копируем их в любой каталог, я скопировал в каталог files. Туда же отправляем картинки, обои например, если вы их используете.
После «сбора» всех необходимых настроек, нам нужно знать куда их разместить. В Linux есть «чудо-католог» /etc/skel (от слова skeleton). Когда создается новый пользователь, файлы лежащие в этом каталоге будут закидываться в личную папку пользователя. Это нам и нужно. Просто создадим подкатологи /etc/skel/.config и другие если нам они нужны и скопируем настройки сюда. Таким образом, при создании любого пользователя в личную папку будут копироваться все наши настройки.
Далее собственно код с подробными комментариями.
Краткий комментарий к скрипту.
Чтобы не возиться с правами и владельцами файлов все настройки я переношу через следующую конструкцию: cat /files/файл-настроек | tee /etc/skel/.config/файл-настроек.
Все что написано между EOF . EOF передается цельным потоком в программу tee, которая все это записывает в файл.
Разумеется файл скрипта сокращен, полный вариант смотрите в моем GitHub, ссылка будет в конце статьи.
Вот и все. Далее соберем все обратно.
Шаг №4. Сжимаем кастомизированную систему
Когда мы внесли все необходимые изменения, можно собирать систему обратно в squashfs. Тут никаких хитростей. Удаляем filesystem.squashfs из папки с файлами iso и создаем новый.
Шаг №5. Собираем новый iso
ДОПОЛНЕНИЕ С УЧЕТОМ КОММЕНТАРИЕВ
Чтобы LiveCD работал без ошибок и сохранилась возможность установки с вашей сборки, необходимо обновить в исходных файлах iso сумму md5, файл filesystem.size и список установленных пакетов в файле filesystem.manifest.
Далее собираем образ iso.
Здесь есть одна тонкость. В зависимости от вашей хостовой системы путь к файлу isohdpfx.bin может отличаться. В Ubuntu он в каталоге /usr/lib/ISOLINUX, в Manjaro /usr/lib/syslinux/bios (если не ошибаюсь).
В коде ниже смените ISO_NAME во второй и предпоследней строках на свои названия вашей сборки.
По итогу вы получаете свой кастомизированный LiveCD Ubuntu за 5 шагов. Все приведенные выше коды собраны мной в скрипты, которые вы можете взять на github.
Источник
Лучшие Live USB дистрибутивы Linux
Не секрет, что многие дистрибутивы можно запустить в Live-режиме, но есть и такие, которые подходят для полноценной работы прямо с USB-накопителя. Учитывая то, что практически все современные компьютеры имеют скоростные порты USB 3.2, а сами Flash-накопители достаточный объём, то работа с внешнего устройства не должны вызывать дискомфорт.
Мы рассмотрим лучшие Live USB дистрибутивы Linux, которые можно использовать для выполнения различных задач. Одни служат для восстановления загрузки, другие могут стать переносной системой. Причём переносные также имеют несколько сфер применения, этот аспект также не останется незамеченным.
Лучшие Live USB дистрибутивы Linux
1. Rescatux
Rescatux – это дистрибутив для восстановления работоспособности системы. Запуск возможен как с UEFI, так и с BIOS. Он выгодно отличается от других систем подобного рода, вроде SystemRescue. Всё дело в фирменном приложении.
Rescapp позволяет исправить наиболее распространённые ошибки. Перед запуском проводится быстрая диагностика, позволяющая сходу определить неисправность. В самом приложении при выборе нужного пункта появится описание проблемы (на английском), а также кнопка для запуска скрипта, который выполнит большую часть работы в автоматическом режиме.
Кроме этого, приложение имеет свой чат и систему логирования. С помощью этих инструментов можно поделиться информацией о своей системе и получить помощь у сообщества. Но, к сожалению, сообщество совсем небольшое и чат большую часть времени пустует.
2. Batocera.linux
Batocera.linux – это игровая станция и по совместительству медиацентр Kodi. Дистрибутив распространяется в виде образа системы, который необходимо записать на Flash-накопитель. Имеются версии систем как для настольных компьютеров и ноутбуков, так и для мини-ПК, вроде Raspberry Pi.
Для x86_64 представлен наиболее полный перечень эмуляторов, начиная 8-битными консолями и закачивая Playstation 3 (RPCS3), Wii U (CEMU) и Windows (Wine, Proton, Lutris). Так что при желании можно записать систему на переносной жёсткий диск и запускать любимые игры не только дома, но и в гостях.
3. Slax
Slax – это компактный дистрибутив, который занимает менее 500 мегабайт на накопителе. По умолчанию запускается в persistent-режиме (с сохранением состояния системы). Он основан на Debian и не содержит ничего лишнего. Вам доступно лишь несколько приложений и терминал.
Но в этом и прелесть дистрибутива. Вы можете настроить его под себя, поменять окружение рабочего стола, настроить автозапуск, установить необходимые приложения. Изначально небольшой размер позволит развернуть систему даже на небольшом накопителе объёмом 4-8 гигабайт.
4. Porteus
Porteus займёт не намного больше места, но при этом уже будет иметь больше предустановленных приложений, вроде того же Gparted. Дистрибутив основан на Slackware и разрабатывается теми же темпами, то есть очень медленно.
Система построена по модульной системе. Приложения запакованы и монтируются при запуске, что позволяет экономить место на накопителе.
На выбор доступно несколько вариантов дистрибутива с различными оболочками: KDE, XFCE, Openbox и другими. Также имеется киоск-версия, которая подойдёт для информационных терминалов, хотя в этом случае встаёт большой вопрос с поддержкой оборудования, например, сенсорных панелей.
5. MX Linux
Два предыдущих дистрибутива сильно урезаны в плане установленных программ и драйверов. MX Linux исправляет это недостаток, в его состав входит всё необходимое для полноценной работы. Он основан на Debian и в меню загрузки позволяет выбрать persistent-режим.
Предустановлено несколько фирменных утилит, упрощающих работу с операционной системой. Минусом является система инициализации sysvinit, что не подходит для установки snap-пакетов.
Если же вам нужен дистрибутив для работы с мультимедиа: графическими, аудио- и видеоредакторами, то обратите своё внимание на AV Linux. Этот дистрибутив базируется как раз на MX Linux. Про установку MX Linux читайте здесь.
6. Kali Linux
Kali Linux – это дистрибутив, предназначенный для системных администраторов. Его основная задача – это проведение тестов безопасности. Всего в дистрибутив входит более 600 инструментов для комплексного анализа сети и выявления уязвимостей.
Помимо этого, есть возможность запустить дистрибутив в режиме криминалиста. В этом случае внутренние накопители никоим образом не будут задействованы. Это важно, если перед вами стоит цель сохранить все файлы на компьютере в первозданном виде.
Из интересного также стоит упомянуть Undercover Mode, который замаскирует дистрибутив под Windows 10. Нельзя не отметить и наличие persistent-режима. Установка Kali Linux описана здесь.
7. Tails
Дистрибутив Tails подойдёт в том случае, если вы хотите выйти в интернет с чужого компьютера, при этом сохранив приватность. Браузером по умолчанию выступает Tor, который шифрует соединение и не позволяет отследить пользователя сети интернет.
Фактически Tor является основным спонсором разработки дистрибутива. В комплект также входит несколько утилит для шифрования накопителей и создания цифровых подписей. Например, вы можете зашифровать раздел накопителя и хранить там важную информацию. Узнать подробнее про установку Tails можно у нас на сайте.
8. Linux Kodachi
Последнем в нашем списке лучшие live дистрибутивы будет Linux Kodachi. Дистрибутив пошёл ещё дальше в плане анонимного выхода в интернет. С самого запуска системы используется подключение VPN. На рабочий стол выводится информация о состоянии системы, а также об интернет-соединении. Если возникнет необходимость, то можно экстренно перезапустить соединение, стереть данные или даже саму систему с накопителя.
Помимо этого, система имеет немало утилит для выявления уязвимостей, подобно тому, что есть в Kali Linux. Таким образом разработчики попытались объединить преимущества Kali и Tails в одном дистрибутиве. Но, как обычно бывает, если браться за всё сразу, то снижается качество. Например, возникают проблемы при использовании некоторых модулей W-Fi. Прочитать про установку Kodachi Linux можно здесь.
Выводы
Дистрибутивы Live USB можно использовать по-разному. Мы перечислили наиболее распространённые сценарии использования, которых хватит большинству пользователей. Так для восстановления системы, вы можете использовать Rescatux, выполняющий многие операции в автоматическом режиме. Хотя никто не мешает выбрать портативный дистрибутив и установить необходимые программы.
Среди persistent дистрибутивов стоит отметить несколько направлений. Лучшим компактным можно назвать Porteus, хотя со Slax работать проще, ведь он основан на Debian, а не на менее популярном Slackware. Для приватного интернет-сёрфинга используйте Tails с браузером Tor. Универсальной же системой станет MX Linux. А используете ли вы Live USB дистрибутивы Linux? Если да, то для каких целей. Делитесь своим мнением в комментариях.
Источник