Синхронизация пакетов в своем репозитории [РЕШЕНО]

Интересно у меня вышло ) Этот скриптик работает через rsync. Я добавил файл включения файлов pac.include и прописал туда список моих файлов, добавил его в скрипт через --include-from= а в файл pac.exclude прописал только маску *.*. И все заработало. Качает только мои файлы ) По идее выходит так - исключить все файлы в pac.exclude кроме тех что в файле pac.include. Не знаю правильно ли это или нет но работает )
mag-gendalf
Я добавил файл включения файлов pac.include и прописал туда список моих файлов, добавил его в скрипт через –include-from= а в файл pac.exclude прописал только маску *.*.
Интересный подход. Не думал что так можно использовать.
В pac.include в каком виде запись идет?
Lupus pilum mutat, non mentem.
Ну работает в 2-х вариантах ) например *gnumeric-*.pkg.tar.zst или gnumeric-*.pkg.tar.zst а если добавить и * в конце то оно будт скачивать и sig файлы ) Думаю второй вариант наиболее приемлем для меня, так как как пакетов с похожим назанием начинающимся нет у меня )
Ради интереса создал скриптик (всего 19 строк), который выводит список пакетов определенной репы (тестировал extra), требующих обновления. Само обновление в скрипт включать не стал, это не проблема - важен был сам принцип … скачать можно и pacman
Всего пакетов в extra - 2967, из них установлено в моей системе - 635, который и взял за основу локально базы.
Вывод отработки скрипта
~/TTT/TEMP/1/test_extra-update.sh
Выявлено пакетов для обновления: 32 ... смотри файл ~/TTT/TEMP/1/extra-update
А вот запуск обновления выдал
sudo pacman -Syu
:: Обновление баз данных пакетов...
 extra is up to date
Пакеты (19) ….
Это я к тому, что нужно быть внимательнее при составлении списка пакетов, чтобы не упустить зависимости.

PS - интерес был обусловлен только возможностью распарсивания веб-страницы чисто ручным способом ... просто никогда этого раньше не делал.
Ошибки не исчезают с опытом - они просто умнеют
repo-add -n -R ./custom.db.tar.gz ./*.pkg.tar.xz
mag-gendalf
Нужно чтобы обновлялись только те пакеты которые есть в моем репозитории.
Чем не устраивает прописать c pacman.conf свою репу перед арчовыми. При одинаковых названиях пакетов по дефолту будет ставиться самый свежий.
pacman ваша_репа/пакет -поставит из вашей
Можно еще в своей репе что-то добавить в название пакета и правильно расписать конфликты и пр.
Главная проблема со своей репой - поддержка ее актуальности. Арч обновляется. Собранные вами на старых либах пакеты могут перестать работать. Придется это отслеживать или заморозить арч
PuppyRusArch (PRA)
sfs
названиях пакетов по дефолту будет ставиться самый свежий
Я так понял речь идет не про обновление пакетов в системе а про синхронизацию их в локальной репе с арчевскими ( чтоб пакет в своей репе соответствовал арчевской и только те пакеты которые нужны а не все как при обычном рсинке)
Тогда rsync - оптимально. Вроде pacman не умеет подчищать старые версии пакетов. Придется писать хук чистки
PuppyRusArch (PRA)
sfs
Вроде pacman не умеет подчищать старые версии пакетов.
repo-add -h
  -R, --remove      удалить с диска старый файл пакета после обновления базы данных
  -p, --prevent-downgrade  do not add package to database if a newer version is already present
???
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Надеялся что в арче "все придумано до нас" , но не догадался что это в repo-add :)
Тогда нет смысла усложнять : pacman -Sw `cat список`
PuppyRusArch (PRA)
 
Зарегистрироваться или войдите чтобы оставить сообщение.