Содержание

AF Linux

AUFS frugal

Скачать Обсудить

Предистория: SFSLinux=.deb+Puppy ArchPupRus ALF ПапиРус21 Байт006a,008

Дальнейший текст изобилует ссылками на arch-wiki. Она обновляется, переводится на русский (часто более старая версия, хотя бы просматривайте английскую версию) и содержит ответы на любые вопросы.

Поставленные задачи

  1. упростить и ускорить сборку использованием готовых отработанных методик и пакетов arch linux
  2. за счет pacmanXG упростить пользователю установку софта
  3. получить доступ к самому свежему программному обеспечению из репозитория arch linux и AUR

Особенности и состав AF

Использование AF должно быть не сложнее Puppy. В любом случае желателен опыт Arch и Puppy

Отличия AF от родительских и аналогичных сборок

Варианты развития

AF можно рассматривать не как дистрибутив, а как методику сборки модульного frugal дистрибутива. Сборка рассчитана на подготовленного пользователя.

  1. Дальнейшее использование репозитория Arch Linux (или другого pacman совместимого дистрибутива), совершенствование live и frugal
  2. chroot - перепаковка других совместимых дистрибутивов c изменением состава. Добавление модульности и frugal
  3. Создание своего репозитория с использованием ABS и AUR
  4. Перепаковка пакетов другого дистрибутива (даже не pacman - совместимого) в .pfs (PuppyRus) или .pkg.tar.xz (Arch) и сборка соответственно pfsmerge или makechrootpkg методом

Модули

Назначение модулей

Модули с названиями заглавными буквами - мета модули (pfsmerge составные)

Слои AUFS

Теория

Сверху вниз (файлы верхних слоев перекроют прочие)

Установка AF на жесткий диск или флэш

Frugal vs Full

Frugal

  1. Установить загрузчик grub4dos или использовать любой линуксовый (grub, grub2, burg). Если grub4dos не установлен - поставить его с любого puppy или /boot/grub4dos/install из .iso
  2. Скопировать директорию /af в корень раздела. Файловая система раздела может быть: ext, fat, ntfs. При ntfs этот раздел в AF будет доступен только для чтения.
  3. Добавить 3й пункт menu.lst из .iso в свой menu.lst
  4. Проверить имя раздела из п.2 в menu.lst: set pdev1=sda1 Посмотреть можно командой blkid.

Скачанные модули приложений складывайте в /af/pfs. Тогда они автоподключатся ниже базы при рестарте. Если модулей будет много и все нужны - для уменьшения времени загрузки можно их объединить : pfsmerge

FULL

Теряется весь смысл задумки. Лучше поставить обычный Arch. Но если вы 1 пользователь на стационарном пк и не склонны к экспериментам:

  1. Разметить диск. Нужен как минимум 1 раздел ext* под / и раздел swap
  2. Установить линукс-загрузчик или использовать имеющийся.
  3. Загрузить AF со всеми нужными Вам модулями и сохраненками
  4. Переписать все на подготовленный ext раздел. Не забыль про ядро и initrd
  5. Поправить загрузчик на стандартные параметры ядра. Например: /boot/vmlinuz root=UUID=4db63c04-36a5-4da3-862e-c3aa82c48fd3 ro quiet splash

Persistent Mode (сохраненка)

Persistent Mode — это возможность сохранять все изменения, которые Вы произвели во время работы. При следующей загрузке не будет нужды снова настраивать те же самые параметры (например, пароли доступа к Wi-Fi или почте, и т. д. и т. п.)…

Варианты

  1. rootaufs=/test/ext2.img - файловая система в файле. Создать : /boot/mk-live-rw.sh. Файловая система раздела может быть: ext, fat, ntfs
  2. rootaufs=/dir - директория на root разделе. Файловая система раздела может быть: ext
  3. rootaufs=/dev/sda7 - раздел. Файловая система раздела может быть: ext

Настройка

Пользователи, пароли,права

systemd

Шпаргалка

Монтирование разделов

  1. Автомонтирование через параметры ядра mountall
    • mountall=1 - автомонтировать все разделы всех носителей
    • mountall=sda1,sdb2, - автомонтировать перечисленные разделы
  2. ymount (6я кнопка в верхней панели)
  3. Из консоли: sudo mount-all или sudo mnttoolsp (меню)

Сеть

Время

Горячие клавиши

Переключение клавиатуры us\ru

/home/live/Startup/en-ru

Conky. Мониторинг

WM

JWM

https://wiki.archlinux.org/index.php/JWM

XFCE

http://forum.puppyrus.org/index.php/topic,13843.msg73577.html#msg73577

Arch пакеты

Пакетный менеджер (ПМ)

pacman

Шпаргалка

packer

Описание

В отличие от pacman работает еще и с AUR. Типовое использование:

  1. packer имя_или_описание_пакета - найти и установить
  2. packer -G имя_пакета - скачать и распаковать tarball с PKGBUILD. Далее makepkg –asroot

Создание пакета

Ручная перепаковка

Может понадобиться для изменения .PKGINFO и .INSTALL или состава файлов

  1. pacman -S пакет
  2. Вносим изменения
  3. repacman пакет

Самый простой вариант не работает

mkdir -p /..pkg-name && bsdtar -xf -C /..pkg-name
cd /..pkg-name && bsdtar --exclude .. cJvf /...pkg.tar.xz .* 

Репозиторий

Создание

Локальный репозиторий

Примеры бесплатного размещения:

Подключение

[custom]
Server = file:///mnt/sda2/chroot/af-rep
IgnorePkg   = linux cairo gdk-pixbuf2 glibc

Пакеты.pfs

Для подключения, установки, удаления используйте

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

Для уменьшения размера модуля, что актуально для полной загрузке в RAM, используйте скрипт trim

makechrootpkg сборка

  1. Загрузите любой свежий arch или используйте любой linux
  2. Пропишите ближайший репозиторий в mirrorlist
  3. Обновите базу пакетов pacman -Syy
  4. Установите или соберите devtools
  5. Воспользуйтесь инструкцией или готовыми скриптами из /usr/local/af-make/ DEVX-AF*.pfs модуля

сhroot перепаковка

  1. Возьмите понравившийся arch live-дистрибутив
  2. Распакуйте самый большой файл (mkdir -p /tmp/distr && unsquashfs файл.squashfs /tmp/distr)
  3. chroot.sh /tmp/distr
  4. pacman -Rs лишнее && pacman -Syu && pacman -S нужное
  5. Запакуйте в squashfs (mksquashfs или pfs-utils)

Конвертация в .pfs

  1. Скачиваем нужные пакеты.pkg.tar.xz
  2. Скриптом pkg2pfs конвертируем в .pfs
  3. Собираем по PuppyRus методике

В случае пакетов другого формата - распаковать и собрать по PuppyRus методике

Live CD (flash) система

Т.е. тот самый frugal. Ключевой момент - сборка initrd

Обзор Arch методов

Larch

Целая система сборки. Сложна и малофункциональна. Можно использовать только hook для mkinitcpio

rootaufs

В AF доработана и использована https://github.com/aur-archive/mkinitcpio-rootaufs/blob/master/rootaufs_install

AUFS ядро

В репозитории Arch отсутствует

Готовое

wget ftp://ftp.berlios.de/pub/larch/larch8/i686/linux-aufs_friendly-docs-3.8.7-1-i686.pkg.tar.xz && pacman -U linux-aufs_friendly-docs-3.8.7-1-i686.pkg.tar.xz

Есть более старое: ftp://ftp.berlios.de/pub/larch/larch8/i686/kernel26-2.6.38.7-1-i686.pkg.tar.gz . Оба ядра nonPAE

Сборка

Конвертация пакетов pfs<->pkg.tar.xz

pkg.tar.xz -> pfs

pkg2pfs пакет.pkg.tar.xz

pfs -> pkg.tar.xz

Интернационализация

Интернационализация присутствует с Arch в полном объеме. В AF намененно вырезана для оптимизации размера. Вернуть или сделать под другой язык можно пересборкой с изменением скрипта trim