Ctlos iso

Создание iso образа

YouTube link Старое видео, но многое объясняет.

Подготовка

Установить пакеты для сборки.

yay -S git archiso mkinitcpio-archiso --noconfirm --needed

Для сборки необходимо подключить локально ctlos_repo, или изменить под себя pacman.conf и пакеты.

Задействован chaotic репозиторий, проще всего его установить, через yay из aur.

yay -S chaotic-keyring chaotic-mirrorlist --noconfirm --needed

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

Нужен в том случае, если вы хотите, что-то собрать и добавить из aur.

Создание директории и клонирование репозитория ctlos. Еще немного о лакальном репо.

mkdir ~/ctlos
cd ~/ctlos
git clone https://github.com/ctlos/ctlos_repo

Или ssh.

git clone git@github.com:ctlos/ctlo_repo.git

Сборка aur пакетов

Найти нужный пакет на сайте аур aur.archlinux.org и загрузить snapshot вида *.tar.gz.

Собираем пакеты в build.

mkdir ~/ctlos/ctlos_repo/build
cd ~/ctlos/ctlos_repo/build
wget https://aur.archlinux.org/cgit/aur.git/snapshot/gtk3-mushrooms.tar.gz

Распаковываем и собираем пакет.

tar -xvzf gtk3-mushrooms.tar.gz
cd gtk3-mushrooms
makepkg -s

Копируем собраные пакеты в ~/ctlos/ctlos_repo/x86_64, инициализируем репозиторий. Пакеты в формате *.pkg.tar.xz, или zst.

cd ~/ctlos/ctlos_repo/x86_64
repo-add ctlos_repo.db.tar.zst *.tar.zst

Или.

./update.sh --add

После добавления новых пакетов из aur необходимо переинициализировать репозиторий.(Удалить файлы баз данных), или запустить скрипт update.sh он сам все пересоздаст.

repo-add ctlos_repo.db.tar.zst *.tar.xz

repo-add ctlos_repo.db.tar.zst *.pkg.tar.zst

Или.

./update.sh --add

Репозиторий iso

Клонируем репозиторий. Ветка master по умолчанию.

cd ~/ctlos
git clone --depth=1 https://github.com/ctlos/ctlosiso

Добавляем пользовательский репозиторий для aur пакетов. В /ctlos/ctlosiso/pacman.conf.

[ctlos_repo]
SigLevel = Optional TrustAll
Server = file:///home/creio/ctlos/ctlos_repo/$arch

Закоментировать репозиторий ctlos, если нужно.

#[ctlos_repo]
#SigLevel = Never
#Server = https://raw.github.com/ctlos/ctlos_repo/dev/repo/$arch

Сборка образа

Сделать скрипты исполняемыми.

cd ctlosiso
chmod +x {autobuild.sh,chroot.sh,mkarchiso}
  • Пакеты: packages.x86_64

Скрипту autobuild.sh обязательно нужно передать аргумент, любой. Я обычно отправляю xfce_1.7.0 de/wm и версию.

sudo ./autobuild.sh xfce_1.7.0

Готовый образ и хэши создаются в данной директории ~/ctlos/ctlosiso/out.

Пересборка

Удалить каталоги и запустить скрипт сначала.

sudo rm -rf {out,work}

Или отредактировать.

sudo nano /bin/pacstrap

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

if ! pacman -r "$newroot" -Sy "${pacman_args[@]}"; then

На.

if ! pacman -r "$newroot" -Sy --needed "${pacman_args[@]}"; then

Удалить файлы блокировки.

sudo rm -v work/build.make_*

Списки пакетов

Список установленных пакетов в системе. Подробно.

LANG=C pacman -Sl | awk '/\[installed\]$/ {print $1 "/" $2 "-" $3}' > ~/pkglist.txt

LANG=C pacman -Sl | awk '/\[installed\]$/ {print $2}' > ~/.pkglist.txt

Кратко.

pacman -Qqe > ~/pkglist.txt

pacman -Qqm > ~/aurlist.txt

Отредактировать на GitHub