Оригиналы.
Перевод: Алексей Федорчук
От переводчика: на этой странице сведены переводы нескольких отдельных страниц мастер-сайта разработчиков. Они содержат общие слова о системе Refracta (авторы упорно называют её операционной системой, но скорее это что-то среднее между дистрибутивом и ремиксом Debian’а) и документацию по специальным инструментам, предназначенным для изготовления собственных кастомизированных сборок на основе Debian-based систем. Именно они представляются для меня лично самыми интересными, так как вполне справно работвют в LMDE, о чём надеюсь поведать в ближайшее время.
Введение
Refracta — операционная система, предназначенная для пользователей домашних компьютеров. Она обеспечивает простую и знакомую обстановку, которую большинство пользователей найдёт очень удобной.
Refracta фокусируется на предоставлении общих приложений и служб, нужных большинству пользователей, а не более специализированных решений. Она обеспечивает базовую рабочую среду с простыми и лёгкими в использовании приложениями.
Для знакомства с Refracta её не нужно устанавливать. Её можно запустить с компакт-диска без каких-либо изменений в текущей системе на рабочей машине. Если она вам понравится — её можно установить за несколько минут несколькими щелчкми мыши.
Установки по умолчанию включает в себя приложения для Интернета, работы с графикой, мультимедиа и офисным софтом, а также различные системные инструменты и утилиты. Более сотни приложений могут быть быстро и легко установлены из надежного источника.
Refracta также включает в себя специальные инструменты — refractainstaller
, refractasnapshot
и refracta2usb
, которые позволяют выолнить кастомизацию вашей рабочей системы и создать на её основе Live-CD или Live-USB. Эти инструменты будут работать на большинстве Debian и Debian-based систем.
Refracta основана на Debian GNU/Linux. Все входящие в неё программы относятся к свободным, с открытыми исходниками. Систему Refracta можно скачивать, использовать, копировать и делиться с друзьями. При установке программ из несвободных репозиториев может быть предложено принять соответствующие лицензии. Более подробную информацию о лицензиях можно найти здесь.
refractasnapshot
README
Программа refractasnapshot создает образ загрузочного Live-CD, представляющий собой копию системы, в которой она запущена. Любые изменения, внесенные в неё, в том числе смена предпочтитаемого десктопа, изменение конфигурации, установка дополнительных пакетов, будут скопированы в снапошот и обнаружатся в загруженной с него «живой» системе.
Ознакомьтесь с конфигурационным файлом /etc/refractasnapshot.conf
для настройки параметров.
Ознакомьтесь также с файлом исключений /usr/lib/refractasnapshot/snapshot_exclude.list
для определения, какие файлы и каталоги не будут скопированы в снапшот. При необходимости отредактируйте этот файл, добавляя нужные элементы или комментируя ненужные строки.
В версии 9.0.8 можно редактировать конфигурационный файл и файл исключений через графический интерфейс, выбрав Setup при запуске.
Для запуска программы используются сценарии
# refractasnapshot
или
# refractasnapshot-gui
При необходимости с указанием полного пути:
# /usr/bin/refractasnapshot[-gui]
Все эти команды требуют привилегий администратора — А.Ф.
Комментарии в refractasnapshot.conf
Этот файл содержит несколько переменных конфигурации для Refracta Snapshot (2012, GUI и CLI версии). Если вы хотите изменить настройки по умолчанию, это нужно делать здесь.
Поместите этот файл в /etc
или отредактируйте переменную CONFIGFILE
, чтобы сценарий refractasnapshot-nogui
мог его найти, иначе он будет использовать значения по умолчанию.
Copyright 2011, 2012 fsmithred@gmail.com
error_log="/var/log/refractasnapshot_errors.log"
Следующее работает только при edit_boot_menu="yes"
. Здесь надо указывать абсолютный путь (например, /usr/bin/nano
)
text_editor="$(type -p nano)" gui_editor="$(type -p geany)"
Далее можно изменить каталоги $work_dir
(для копии системы) и $snapshot_dir
(для финального iso-образа) — по умолчанию это /home/work
и /home/snapshot
.
Совет:
Значениями этих двух переменных обязательно должны быть разные каталоги. Иначе при значении $save_work="no"
итоговый образ будет удалён по завершении работы программы. Вместо этого следует использовать что-нибудь вроде /media/disk/work
или /media/disk/snapshot/work
. Эти каталоги будут созданы в ходе работы сценария, и они уже ранее исключаются из копии системы (так что в финальном образе не будет старых копий и снапшотов). Любые файловые системы, монтируемый в /mnt
или /media
, также должны быть исключены из финального образа — этого можно добиться их размонтированием перез запуском refractasnapshot
или внесением в файл snapshot_excludes
(см. ниже).
snapshot_dir="/home/snapshot" work_dir="/home/work"
Ниже можно изменить значение $save_work
на "yes"
для сохранения временной копии исходной файловой системы — в этом случае последующие снапшоты будут создаваться быстрее. А для сохранения копии при перезагрузке каталог work_dir
должен быть вне /tmp
.
save_work="no"
Если вы знаете, что делаете — ниже можете изменить положение файла исключений для rsync
. Для полной уверенности следует указать полный путь к нему.
snapshot_excludes="/usr/lib/refractasnapshot/snapshot_exclude.list"
Значения ниже можно изменить, если выхотите использовать отличные от умолчальны ядро и initrd
. Возможно, придётся отредактировать загрузочное меню isolinux
для приведения его в соответствие с изменениями.
kernel_image="/vmlinuz" initrd_image="/initrd.img"
Если снапшотов (файлов снапшота выглядит как iso-образов) несколько, они именуются по дате и времени создания. Если вы предпочитаете именование по номерам, следующую линию следует закрыть символом комментария.
stamp="datetime"
Имя снапшота выглядит как snapshot-{date or number}.iso
. Его можно заменить на что-либо более запоминающееся, например, snapshot_basename="refracta-nox-wheezy"
.
snapshot_basename="snapshot"
Измените на "no"
, если не хотите, чтобы файл созданного iso-образа сопровождался файлом контрольной суммы md5sum
.
make_md5sum="yes"
Измените на "no"
, если хотите иметь чистый, а не гибридный iso-образ (plain iso нельзя будет записать на флешку или SD-карту).
make_isohybrid="yes"
Если ниже изменить имя дистрибутива, надо будет далее установить для edit_boot_menu
значение "yes"
и отредактировать файл загрузочного меню isolinux
. Также можно будет отредактировать файлы /etc/issue
, /etc/hosts
, /etc/hostname
, и либо отредактировать, либо удалить файл /etc/refacta_version
.
#dist_name="Refracta"
Измените значение на "yes"
, если хотите отредактировать меню загрузчика или любые другие конфиги до создания финального образа.
edit_boot_menu="no"
Изменить для использования собственных файлов загрузочного меню и подсказки по загрузке на Live-CD. При использовании собственных версий isolinux.bin
и vesamenu.c32
необходимо отредактировать или закомментировать строки 223 и 224 (или где-то рядом) в файле /usr/bin/refractasnapshot
.
В стоке ниже не использовать конечный слеш!
iso_dir="/usr/lib/refractasnapshot/iso"
Измените эту строку, если используете собственный файл загрузочного меню, отличный от умолчального.
boot_menu="isolinux.cfg"
Если вы хотите изменить поведение rsync во время копирования системы, или повдение genisoimage во время создания iso-образа, вы должны отредактировать следующие команды.
Это прервёт прогресс-бар в gui-версии программы!
function copy_system { # include mounts that aren't already excluded rsync -a / myfs/ --delete --exclude="$work_dir" --exclude="$snapshot_dir" --exclude-from="$snapshot_excludes" ## exclude mounts (don't cross filesystem boundaries) (Bad if separate /home partition) # rsync -ax / myfs/ --delete --exclude="$work_dir" --exclude="$snapshot_dir" --exclude-from="$snapshot_excludes" } function generate_iso { genisoimage -r -J -l -D -o $snapshot_dir/$filename -cache-inodes -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table iso/ }
Файл исключений для refractasnapshot
Если вы изменяете /etc/refractasnapshot.conf для помещения в него каталогов, отличных от /tmp, /media или /mnt, их следует добавить в этот список исключений.
- /dev/* - /cdrom/* - /media/* - /swapfile - /mnt/* - /sys/* - /proc/* - /tmp/* - /live - /boot/grub/grub.cfg - /boot/grub/menu.lst - /boot/grub/device.map - /etc/udev/rules.d/70-persistent-cd.rules - /etc/udev/rules.d/70-persistent-net.rules - /etc/fstab - /etc/mtab - /etc/blkid.tab - /home/snapshot - /root/.bash_history #- /var/log/* }
Сделующие три строки исключают всё содержимое каталога /var/log
, кроме /var/log/clamav/
и /var/log/gdm
(а также все, начинающееся с символов «c» и «g», соответственно). Если исключить log-файлы clamav
, freshclam
даст при загрузке сообщение об ошибке.
- /var/log/[a-b,A-Z]* - /var/log/[d-f]* - /var/log/[h-z]*
- /var/cache/apt/archives/*.deb - /var/cache/apt/pkgcache.bin - /var/cache/apt/srcpkgcache.bin - /var/cache/apt/apt-file/* - /var/lib/apt/lists/* - /var/lib/dhcp/*
Далее идут несколько закомментированных строк с именами бэкпортированных образов ядер вида /boot/*-[номер версии]-bpo*
. Для их исключения они должны быть раскомментированы.
Следующие строки могут редактироваться пользователем. Файлы или каталоги, которые требуется исключить, должны быть добавлены к этому списку.
- /home/*/.mozilla/*/Cache/* - /home/*/.adobe - /home/*/.macromedia - /home/*/.thumbnails/large/* - /home/*/.thumbnails/normal/* - /home/*/.Trash* - /home/*/.local/share/Trash/* - /home/*/.cache - /home/*/.gvfs - /home/*/.bash_history - /home/*/.recently-used - /home/*/.recently-used.xbel - /home/*/.xchat2
Примеры:
#- /home/user/Downloads/* #- /home/*/Music/* #- /home/user/Pictures/* #- /home/*/Videos/*
Для исключения всех dot-файлов и каталогов в домашнем каталоге пользователя нужно раскомментировать следующую строку. При этом потеряются все пользовательские настройки.
#- /home/*/.[a-z,A-Z,0-9]*
refractainstaller
README
Запуск Refracta Installer
Refracta Installer предназначен для установки системы из сессии, запущеной с «живого» носителя. Работающая система будет скопирована точно, включая десктоп, изменения конфигурации и вновь установленные пакеты.
В настоящее время существует три варианта запуска Refracta Installer (все они требуют прав администратора — А.Ф). Если он был запущен из системного меню — вы увидите один из двух GUI-вариантов. Приоритет имеет Yad в качестве графического интерфейса. Если Yad не установлен, запустится скрипт, основанный на Zenity. Один из этих вариантов можно запустить прямой командой refractainstaller-yad
или refractainstaller-gui
.
Если дать команду refractainstaller
из терминала или консоли, будет загружен его CLI-вариант. В отличие от версии с графическим интерфейсом, он не дает возможности изменить имя пользователя. Вместо этого в свежеустановленной системе можно запусть (с правами адмнистратора) любую утилиту для изменения логина.
Подробнее о различных опциях в комментариях в /etc/refractainstaller.conf
.
Смотри также /usr/lib/refractainstaller/installer_exclude.list
, если вы хотите изменить список файлов и/ директорий, которые не должны быть скопированы в установленную систему.
Процесс инсталляции
После запуска инсталлятора надо выбрать режим — Simple или Expert.
В Simple-режиме загрузчик устанавливается в MBR /dev/sda
и выбирается один раздел для установки, который будет отформатирован в ext3.
В режиме Expert’а открывается окно с перечнем опций:
- Изменить имя пользователя;
- Создать отдельный раздел под
/home
; - Создать отдельный раздел под
/boot
; - Шифрование корневой файловой системы (требуется отдельный раздел под
/boot
); - Шифрование раздела под
/home
(который обязательно должен быть отдельным); - (Предаврительно) Заполнить шифровуемые разделы случайными данными (для большей безопасности);
- Заполнить (предварительно) все разделы нулями (для уничтожения предыдущих данных);
- Не устанавливать загрузчик — это будет сделано вручную;
- Использовать именование UUID для устройств в
/etc/fstab
(полезно при изменении порядка накопителей); - Использовать в
/etc/fstab
монтирование по меткам (disk labels); - Изменить имя хоста.
- Отключить автоматическую авторизацию при загрузке десктопа;
- Отключить автоматическую авторизацию в консоли (изменение Debian’овского
/etc/inittab
). - Запуск, при необходимости, программы разметки.
- Выбор разделов и файловых систем для них установки.
- Ввод запрашиваемой информации (новое имя хоста, метки разделов,
ключевые фразы для шифрования).
После этого устройтесь поудобнее и в течение нескольких минут наблюдайте за процессом.
Затем введите новое имя пользователя и его пароль, а также пароль администратора.
При необходимости отредактируйте файл /etc/sudoers
.
Перезагрузитесь в свежеинсталлированную систему.
Комментарии в refractainstaller.conf
Это конфиг для версии 9.0.5-2.
Умолчальное расположение log-файла ошибок:
error_log="/var/log/refractainstaller_error.log"
Файл rsync_excludes
— список файлов и каталогов, которые не будут копироваться в снапшот. При использовании собственного файла исключений путь к нему нужно задать здесь. А по умолчанию он таков:
rsync_excludes="/usr/lib/refractainstaller/installer_exclude.list"
Если в исходной системе имеются отдельные разделы /boot и /home, и требуется исключить что-либо из их содержимого, это следует перечислить в следующем файле. Но не в $rsync_excludes
!
home_boot_excludes="/usr/lib/refractainstaller/home_boot_exclude.list"
Опции файла подкачки (для команды dd
). Измените их для увеличения или уменьшения swapfile
. Уполчания для файла подкачки 256 МБ:
swapfile_blocksize="1024" swapfile_count="262144"
Не занимайтесь этим, если не знаете, что делаете. Замена значения на "yes"
в файле /etc/pmount.allow
удалит комментарий со строки, позволяющей пользователю монтировать все фиксированные носители (/dev/sd[a-z][0-9]
*). Не рекомендуется (да у меня и файла такого нет — А.Ф.)
pmount_fixed="no"
В работающей Live-среде Refracta updatedb
отключена. Этот параметр делает файл /usr/bin/updatedb.mlocate
исполнимым в инсталлированной системе. Тогда как Refractashapshot создаёт его в Live-системе без бита исполнения.
enable_updatedb="yes"
В запущенной Live-среде поддержка freshclam
отключена. Этот параметр возвращает её в установленной системе, восстанавливая в инициализирующем скрипте настройки по умолчанию.
enable_freshclam=yes
Установка в /etc/ssh/sshd_config
значения "no"
для PermitRootLogin
, запрещая авторизацию roor’ом через ssh
.
root_ssh="no"
Файл исключений rsync
для refractainstaller
:
- /dev/* - /cdrom/* - /media/* - /target - /swapfile - /mnt/* - /sys/* - /proc/* - /tmp/* - /live - /boot/grub/grub.cfg - /boot/grub/menu.lst - /boot/grub/device.map - /etc/udev/rules.d/70-persistent-cd.rules - /etc/udev/rules.d/70-persistent-net.rules - /etc/fstab - /etc/mtab - /home/snapshot/
refracta2usb readme
От переводчика: здесь идёт описание установки и использования утилиты refracta2usb
. Для меня это не актуально, поэтому переводить поленился.