Система Refracta. Переводы документации

Оригиналы.
Перевод: Алексей Федорчук

От переводчика: на этой странице сведены переводы нескольких отдельных страниц мастер-сайта разработчиков. Они содержат общие слова о системе 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. Для меня это не актуально, поэтому переводить поленился.

Добавить комментарий