Ctlos iso
Создание iso образа
YouTube link Старое видео, но многое объясняет.
- Github README — быстрый способ.
Подготовка
Установить пакеты для сборки.
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
. Замненитеuser_name
на имя пользователя от которого работаете.
[ctlos_repo]
SigLevel = Optional TrustAll
Server = file:///home/user_name/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.sh}
- Пакеты:
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
Изменить строку, для пропуска установленных пакетов.
pacman_args+=(--noconfirm)
На.
pacman_args+=(--noconfirm --needed)
Удалить файлы блокировки.
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