Настройка PyppyRus-A (PRA) и установка программ

1. Как устроена и из чего состоит система, что куда загружается. Принцип модульности.

У вас все получилось и вы загрузили свою PRA! Если еще не сделали этого, или никак не получается, то вам может помочь пошаговая инструкция http://wiki.puppyrus.org/users/sewar/start1. Для понимания внутреннего устройства стстемы, назначения ее составных частей, пройдем несколько простых шагов. Эти знания позволят нам легко конфигурировать систему под себя и быстро решать возможные проблемы.

Содержимое корня нашей флэшки:

  • grldr - загрузчик
  • menu.lst - набор команд для загрузчика, позволяет выбрать разные варианты загрузки
  • /pra папка, внутри которой находится:
    • vmlinuz-3.19.2-pf2 -файловая система, ядро линукс, обрабатывается загрузчиком, написано в menu.lst
    • initrd.xz - (RAM диск) обрабатывается загрузчиком, написано в menu.lst
    • /base папка, в которой находится ядро Puppy и файлы обновления ядра, всего 4 модуля:

Содержимое папки /base

В menu.lst такое содержимое (самый простой вариант для наших опытов):

timeout 5
default 1
color light-gray/black white/green

title Boot from disk C:
rootnoverify (hd0,0)
makeactive
chainloader +1

title Find and start Puppy Linux
set d=pra
kernel /%d%/vmlinuz-3.19.2-pf2 dir=%d% quiet copy2ram noswap  
initrd /%d%/initrd.xz

title Reboot computer
reboot

title Power Off
halt

Здесь и далее - измените в меню параметры timeout и default для быстрой загрузки, если вы знаете, какой выбор в меню нужно сделать по умолчанию!!! Я выставил timeout 1 (меню высвечивается 1 секунду). Параметр default указывает, какая строка меню, начинающаяся с title (счет идет от нуля) будет выбрана по умолчанию после истечения timeout.

Порядок загрузки системы

  • В начале загрузки управление получает загрузчик grldr, он считывает инструкции из файла menu.lst и под его управлением происходит загрузка ядра линукса vmlinuz в оперативную память.
  • Далее загрузчик формирует рамдиск, который находиться в файле initrd.xz.
  • После загрузки ядра (vmlinuz) и образа рамдиска (initrd.gz) мы имеем вполне работоспособную, изолированную в оперативной памяти Linux-систему. Возможности этой системы для уменьшения объема сильно урезаны и выполняет она одну задачу - создание слоистой файловой системы AUFS.
  • В результате работы стартовых скриптов системы происходит установка драйверов, подключаются внешние устройства и запускается графическая оболочка (так называемые иксы).

Добавление модуля в автозагрузку системы

Добавим в папку /base еще один модуль, который также загрузится при старте системы. Это файловый менеджер mc (midnight commander), близкий аналог виндового файлового менеджера far. Перепишем модуль 050-mc-git-p-4.8.13-1-s02.pfs из нашего исошника в папку /base на флэшке.

Перегружаемся (обратите внимание, что теперь при загрузке система сообщает, что загружено 5 модулей! Один прибавился), когда появилось консольное приглашение вводим команду mc для запуска файлового менеджера и вуаля! Перед нами уже вполне пригодный для работы инструмент, можно походить по каталогам, зайти в папку /mnt, там примонтированные диски hdd, если они в вашей системе есть.

Подробнее про mc здесь http://wiki.puppyrus.org/soft/fm/mc.

А что произойдет, если модуль mc изначально положить не в папку /base, а в папку /modules или /optional (их надо создать на флэшке). Пробуем и убеждаемся, что mc по-прежнему грузится и работает из папки /modules, но отказывается грузиться из папки /optional без упоминания в load= Папку /optional можно использовать для хранения дистрибутивов нужного софта (модулей), они не будут загружаться при старте системы, что ускорит загрузку и освободит память, но в процессе работы с системой мы сможем в любой момент подключить любой модуль из этой папки.

Вы сами можете решить, какие модули (какой софт) нужен вам постоянно и только эти модули держать в папке /modules.

Для нашего удобства модули в папках /modules и /optional можно сгруппировать по функционалу и разместить в своих папках, например mc с другим системным софтом можно разместить в папке /sys, находящейся внутри папки /modules. Удалять программы лучше переносом в /optional, в последствии их можно будет подгружать/выгружать на лету. А устанавливать (главное не переборщить с размером и количестовм [до 128 модулей]) самое необходимое в /modules, все что находится там будет обязательно «автозагружаться» (елсли не указывать обратное в menu.lst [noload]), /base без особой надобности лучше не трогать (если только точно знаете, что в вашей конфигурации системы лишнее и не будет использоваться).

При автоподключении модулей важно понимать слои AUFS

А сейчас сделаем следующий шаг. Не для того мы хотим иметь на флэшке самую быструю и самую ресурсоэкономную систему, чтобы работать в консоли или в файловом менеджере. Нам нужна полноценная графическая многооконная среда, с рабочим столом, с ярлыками приложений, с панелью быстрого запуска и всевозможными индикаторами состояния. Есть как минимум 2 варианта такой графической среды – на основе Openbox и на основе XFCE. Ниже в таблице приведены модули, входящие в состав этих оболочек.

Функционал и описание модулей OpenBox XFCE
Оконный менеджер (WM – windows manager)040-Openbox-3.5.2-4-1-3s10.pfs040-Xfce-4.12-s07.pfs
046-Xfce-lib-4.12-s01.pfs
084-theme-elementary-xfce-s02.pfs
Панель быстрого запуска и индикации045-Lxpanel-0.6.2-s06.pfs045-Xfce4-panel-4.12-s04.pfs
Файловый менеджер (FM - file manager)050-Spacefm-gtk2-1.0.0-s01.pfs050-thunar-1.6.6-1-s01.pfs

Все дальнейшие эксперименты мы будем проводить с флэшкой XFCE, как наиболее продвинутой средой и близкой по своей визуальности к Win

подробнее про xfce можно почитать здесь https://wiki.archlinux.org/index.php/Xfce_%28Русский%29 - ссылка не кликабельна, скопируйте всю строку!

Принцип модульности

Обратите внимание, как, постепенно добавляя в систему готовые модули, мы получаем нужную для работы среду. Мы как из кирпичиков строим из модулей совершенное и удобное здание, в котором нам предстоит плодотворно трудиться. В этом заключается принцип модульности нашей операционной системы! В следующих шагах мы детально разберем, как установить и настроить нужные нам программы. А сейчас разберемся, как сохранить плоды наших трудов, как сделать слепок собранной из модулей и настроенной под себя системы, чтобы при перезагрузке мы вернулись в то место, на котором закончили свою работу. Никакого внешнего ПО для этих целей нам не понадобится, все включено даже в тот минимальный набор модулей, который установлен у нас сейчас.
UPD: Видеоролик - установка программ https://www.youtube.com/watch?v=F1ATCSvIUNk

2. Как сохранить свою настроенную среду.

И так, предположим, что мы установили нужные модули, настроили свои программы, сеть и внешний вид нашей рабочей среды и пришло время сохранить результат наших трудов, чтобы воспользоваться ими, если произойдет отключение питания, или если в результате неправильных настроек в будущем мы загубим свою систему. Для создания файла сохранения можно пройти как минимум двумя путями, все они в конечном итоге дадут одинаковый результат:
- пуск – настройки – создание файла сохранения
- пуск – завершение работы – сохранение

Из предложенных вариантов мы детально рассмотрим только первый – сохранение в модуль. Файл сохранения по умолчанию ляжет в папку /base, там же, где основные модули ядра. Он загрузится последним, по алфавиту, т.к. имя начинается на 090. Жмем ОК и переходим к следующему шагу:

В этом окне дано подробное описание для процедуры сохранения. Обратите внимание, какой путь и имя предлагается по умолчанию для нашего файла сохраненки – он ляжет в папку /base на нашей загрузочной флэшке и в его имени будет текущая дата. В общем случае рекомендуется указать путь в явном виде, т.е. сделать его таким /sdb1/pra/base/…(если наша флэшка в системе смонтирована как /sdb1).

Перед началом процедуры сохранения убедитесь, что ваша флэшка подключена, смонтирована, и на ней достаточно свободного места.

Если вы планируете несколько раз за день сделать сохраненку, то разным файлам можно дать осмысленные названия, главное не менять 090 в начале имени (помним, что файлы из /base загружаются в алфавитном порядке, наша сохраненка загрузится последней, перекрыв базовые настройки системы нашими настройками, а все файлы сохраненок будут перекрывать друг друга, тоже загружаясь в алфавитном порядке). К примеру
/mnt/home/pra/base/090-save-150505-pra_file1.pfs
/mnt/home/pra/base/090-save-150505-pra_file2.pfs
Первой загрузится сохраненка ..file1.., а затем ..file2… Настройки, например, рабочего стола из file1 будут затерты и заменены настройками рабочего стола из file2. В нашем случае пока ничего не меняем, оставляем предложенный путь и имя файла, жмем СОЗДАТЬ и попадаем в следующее окно:

UPD: в свежих сборках интерфейс для процедуры сохранения изменился, теперь полное сохранение делается по умолчанию, а для сохранения только настроек нажо выбрать (отметить) нужные строки.

Выбор типа сохранения.pfs

Проверим оба предложенных варианта.
1. Только настройки - процесс длится 30-40 секунд, размер файла-сохраненки около 1 мегабайта.
2. Полное сохранение – процесс длится 20-30 секунд, затем система предложит оптимизировать размер файла. Соглашаемся и через несколько секунд получаем из 6.8 мегабайт конечный файл сохраненки около 1 Мб.

Такое сжатие обусловлено тем, что в нашей системе еще ничего нет, мы проводим эксперимент с чистой системой. В общем случае файл сохраненки может ужиматься из нескольких десятков или даже сотен мегабайт почти в 2-3 раза. О завершении процедуры в обоих случаях нам сообщает всплывающий Puppy–помощник. Как и ожидалось, файл сохраненки расположился в /base.
Время, потраченное на создание файла, зависит как от скоростных качеств флэшки, так и от объема данных, и в разных случаях может меняться от нескольких секунд (вариант сохранения только настроек) до нескольких минут (вариант полного сохранения).

В чем разница между двумя вариантами сохранения?

Только настройки

В первом варианте сохраняются настройки ситемы, расположенные только в каталогах /etc и /home (разрешение экрана, часовой пояс, раскладки и настройки клавы, обои, темы, ярлыки рабочего стола, настройки подключений wifi и т.д.). Все модули начинающиеся с цифр надо размещать в /base, только для этих модулей (для этого ПО) все ваши настройки будут сохранены в первом варианте сохранения. Например, вы можете разместить браузер 083-firefox_36-profile-s02.pfs в папке /modules, и после сохранеия по первому варианту удивитесь, что все настройки браузера не сохранились. Размещайте такие молдули в /base и все будет ок.

Полное сохранение

Полное сохранение, это не только каталог /etc и /home (настройки), но и все вместе с установленным софтом из /modules и его настройками. Именно поэтому файл полной сохраненки может иметь сравнительно большой размер, до нескольких сотен мегабайт и даже до нескольких гигабайт, в зависимости от ваших аппетитов. Полное сохранение позволяет вам получить систему, всегда готовую к работе и неубиваемую неосторожными действиями пользователя. Настроили систему под себя, установили и настроили нужный софт, сделали полную сохраненку и все! Вы можете сохранить этот файл на другом носителе и в случае повреждения основного заменить обычным копированием. Единственный недостаток обоих вариантов сохранения – это потеря не сохраненных данных в случае аварийного выключения.

Чтобы уменьшить файл полной сохраненки, перед началом процедуры сохранения очистите корзину, кэш браузеров (если вы на это согласны), временные директории (если уверены). Кроме того, разместите папку Download (Загрузки) где-нибудь на флэшке. Сейчас она в ОЗУ по адресу /home/live/download и тоже попадает в сохраненку. Значительно увеличивает размер модуля сохраненки использование среды эмуляции Wine для запуска виндовых приложений. Стоит отметить, что файловая система на флэшке - любая, вы можете использовать ее в win приложениях для сохранения своих данных. Главное, не попортить файлы PRA и загрузчик!

Модуль save…pfs это RO (только для чтения) сохраненка, в нем зафиксировано состояние системы на момент сохранения. Все дальнейшие ваши действия в этот файл не запишутся и в случае аварийного выключения системы будут утеряны. Преимущества такого метода сохранения - неубиваемость системы. Что-бы вы не сделали в настройках, после перезагрузки у вас опять будет система на момент сохранения. Если для вас важно сохранять все изменения в системе постоянно, в режиме онлайн, нужна RW сохраненка. Используйте для этих целей пространство жесткого диска, включив в параметры загрузки в menu.ist параметр changes=… Подробнее можете прочитать здесь

3. Настройка системы "под себя".

Теперь мы знаем, как устроена наша система, как загружаются модули, как сохранить свои настройки. Можно приступать к практическому воплощению своих знаний. Для этого развернем на нашу флэшку самый свежий и самый полный (на сегодняшний момент) дистрибутив PRA из исошника вот отсюда http://file.puppyrus.org/users/pra/iso/

Сделаем первую загрузку системы и убедимся, что по умолчанию у нас все работает, все драйвера на месте, есть звук, работает камера, разрешение экрана в норме. Если что-то не так, пробуйте варианты загрузки, выбирая в первом меню разные типы драйверов. Будем исходить из того, что у вас все заработало.

Звук

Если у вас нет звука (только в этом случае!), следуйте рекомендациям, изложенным здесь http://forum.puppyrus.org/index.php/topic,17123.msg104808.html#msg104808 . Проблемы с оборудованием бывают крайне редко! Система по умолчанию правильно определяет все устройства и ставит драйвера к ним.

Подключение к интернет

Первым делом настроим подключение к интернету на примере Wi-Fi. Все очень просто - достаточно выбрать свою точку доступа и в закладке Защита Wi-Fi ввести пароль для подключения.

Внешний вид

Теперь приступим к оформлению нашей рабочей среды. Нам нужно разместить на рабочем столе и в панели быстрого запуска нужные ярлыки, установить размер шрифтов, настроить аккаунты, назначить горячие клавиши и тд.. Начнем с шрифтов, учитывая, что PRA успешно работает на старых ноутбуках, где небольшие экраны, возможно понадобится увеличить дефолтные шрифты.
Делаем - Правый клик на раб.столе – настройка рабочего стола – закладка Значки – устанавливаем размер значков – ставим галку Задать размер шрифта и устанавливаем нужный размер – внизу ставим галку для стандартных значков - Корзина (корзина появится на рабочем столе).

Если вы сторонник минимализма в оформлении, то сделайте фон рабочего стола черным (Ресурс батареи тоже увеличится. Меньше светим - дольше работаем!) На закладке Фон выбираем Стиль - Нет значков. Цвет - кликаем на черный квадратик и ставим нули в окнах цветов..

Аналогично для панели внизу – правый клик на панели – панель – параметры панели – установить нужные размеры и поведение панели.

Ярлыки на рабочем столе

Теперь добавим ярлычки программ на рабочий стол.
Пуск (условно её так назовем) – справа выбираем Все – в левом окне перемещаемся по программам и на нужном ПО правой кнопкой - Добавить на рабочий стол. Разместите ярлыки, как вам удобнее. Можно переименовать ярлыки по правому клику, если есть необходимость, например сократить название.

Настройка приложений

Следующим шагом запустим и настроим свои аккаунты в Pidgin (аська) и Skype. Здесь все как обычно, поэтому рекомендаций давать не буду. Кроме того, откроем браузер Chrome, настроим его (аккаунт google, если есть., размер шрифтов, путь для закачек, дополнительные расширения и т.п.) и создадим группу домашних закладок.

Клавиатура

Продолжим настройку с помощью встроенных средств. Мне удобнее вызывать меню Пуск по комбинации горячих клавиш.
Делаем - Пуск – в строке поиска набираем клав – запускаем приложение Клавиатура – в закладке Комбинации клавиш жмем + Добавить – в открывшемся окне выбора команды либо жмем кнопку Открыть и ищем команду, либо вводим /usr/bin/xfce4-popup-whiskermenu – жмем ОК – далее в диалоге присваиваем этой команде комбинацию клавиш (я выбрал Super (это клавиша win) + Пробел). Теперь мы можем вызывать меню Пуск комбинацией клавиш Super+Пробел, удобно, не надо попадать мышкой в меню пуск, все проще и быстрее. Указанным способом вы можете создавать свои комбинации для приложений. Я добавил еще одну полезную комбинацию Ctrl + Пробел, указав в качестве команды /usr/local/bin/xdotool-show-dt - Показать рабочий стол (скрыть все окна).

В системе есть комбинация Super+H, которая вызывает подсказку по горячим клавишам. Можно внести в эту подсказку наши новые комбинации Super+Пробел и Ctrl+Пробел. Для этого запустим терминал и выполним команду sudo leafpad /usr/local/bin/hotkeys. В окне редактора поправим нужные строки и сохраним результат.

Прочие настройки

Продолжим настройку. Правый клик на кнопке Пуск (по-прежнему ее так называем, по привычке и аналогии с Win), далее Свойства – нам откроется окно настроек. Здесь все понятно, поигравшись с галочками вы можете менять местами столбцы меню и строку поиска. Интересная закладка Commands – она определяет, какие кнопки будут выведены в углу открытого меню. С их помощью очень удобно и быстро вести дальнейшие настройки. Хотя, все эти операции можно выполнить и другими способами, запуская то или иное ПО или утилиту.

Остановимся еще немного на меню Пуск. Откроем его нашей комбинацией клавиш Super+Пробел, или мышкой, кому как удобнее, в верхнем правом углу нажмем кнопку Все настройки и попадаем в окно настроек, здесь сосредоточены все основные настройки системы (в это окно можно попасть и по другому – Пуск - Настройки - Диспетчер настроек).

Некоторые из этих настроек мы уже использовали. Остальное каждый сможет проверить и настроить под себя. Вкратце остановимся на наиболее полезных и интересных.
Сеансы и запуск – на вкладке Автозагрузка можете посмотреть, какие приложения запускаются при старте системы. Здесь же можно добавлять в автозагрузку свои команды и скрипты.

Файловый менеджер – здесь можно настроить внешний вид и поведение FM Thunar (эти же операции можно сделать, открыв FM – Правка – Параметры). Для тех, кто привык работать в Win-проводнике, работа в FM Thunar будет привычной. Как альтернативу мы позже установим Double Commander, для тех, кто привык работать в Total Commander.

Панель – здесь вы можете задать внешний вид, размеры и положение панели быстрого запуска. На закладке Элементы можно добавить свои ярлычки в панель запуска приложений или отредактировать существующие. К примеру, добавим ярлык для запуска Chrome
Пуск - правый клик на ярлыке приложения – Добавить на панель – на появившемся ярлыке (справа на панели) правым кликом – переместить в нужное место на панели.
Я разместил их традиционно, поближе к кнопке пуск. Кстати говоря, из всех решений по быстрому запуску приложений, размещение ярлыков в панели самое удобное - всегда на виду, запуск одним кликом.

Не забываем делать сохраненку, чтобы тот объем работы, который мы уже сделали, не пропал при отключении электропитания. Пусть файлов сохранения будет несколько, в итоге система предложит объединить их, хотя делать это не обязательно.

В системе есть еще одно очень удобное и красивое средство для быстрого запуска приложений – Super+А запускает всплывающую панель Apval, на которой представлены ярлыки быстрого запуска приложений. Настройка Apval позволяет редактировать содержимое панели.
Добавим ярлык для запуска MC
- запустим Apwal настройки – в закладке Editor выберем место для иконки быстрого запуска – выберем иконку – вставим команду для запуска - ОК.

Добавление модулей из репозитория

Можно считать, что предварительные настройки мы сделали. В качестве завершающего шага - установим недостающее ПО (модули) в нашу систему. Начнем с самого простого варианта - установим браузеры Mozilla и Opera в довесок к дефолтному Chrome (потом выберем, что полегче и побыстрее).
Добавим соответствующие модули из репозитария http://mirror.yandex.ru/puppyrus/puppyrus-a/pra03/pfs/
в папку /modules/:
firefox_37.0.1.pfs
Opera-12.16-s08.pfs

и в папку /base:
083-firefox_37-profile-s01.pfs
083-Opera-12.16-s08-profile.pfs

Эти операции удобно делать при помощи менеджера модулей sfs-get

После перезагрузки оба браузера прекрасно работают! Их ярлыки появились в меню, в разделе Интернет.

В следующей пошаговой инструкции мы научимся, как устанавливать ПО из репозитария, как устанавливать некоторые windows-приложения, а так же попробуем собрать модуль своими руками.

Печать/экспорт