Проект

Общее

Профиль

Portage-archive » История » Версия 12

Андрей Волков, 2025-07-22 16:47

1 1 Андрей Волков
h1. Архив portage
2
3
http://download.ekb-info.ru/gentoo/portage-archive/
4 2 Андрей Волков
5 11 Андрей Волков
h2. squashfs actions:
6 1 Андрей Волков
7 11 Андрей Волков
*action-file-year*
8 3 Андрей Волков
9 1 Андрей Волков
<pre>
10 11 Андрей Волков
uncompressed@name(*.gz)
11
fragment(ebuild)@name(*.ebuild)
12
fragment(patch)@(name(*.patch)||name(*.diff))
13
fragment(manifest)@name(Manifest)
14
fragment(metadata)@name(metadata.xml)
15
fragment(changelog)@name(ChangeLog)
16
fragment(ecalss)@subpathname(*/eclass)
17
fragment(files)@subpathname(*/*/*/files)
18
fragment(cache)@(subpathname(*/metadata/md5-cache)||subpathname(*/metadata/cache))
19 1 Андрей Волков
</pre>
20
21 12 Андрей Волков
*action-file*
22
23
<pre>
24
uncompressed@name(*.gz)
25
fragment(ebuild)@name(*.ebuild)
26
fragment(patch)@(name(*.patch)||name(*.diff))
27
fragment(manifest)@name(Manifest)
28
fragment(metadata)@name(metadata.xml)
29
fragment(ecalss)@subpathname(eclass)
30
fragment(files)@subpathname(*/*/files)
31
fragment(cache)@subpathname(metadata/md5-cache)
32
</pre>
33
34 11 Андрей Волков
h2. Пересжимаем tar.xz в squashfs
35 1 Андрей Волков
36
<pre>
37 11 Андрей Волков
rsync -aviP --info=progress2 files@files:/home/files/pub/gentoo/snapshots/portage-2024* ./
38 4 Андрей Волков
39 11 Андрей Волков
for NAME in *.xz; do xzcat $NAME | sqfstar -comp xz -b 1M -mkfs-time $(stat -c %Y $NAME) -force-uid portage -force-gid paludisbuild ${NAME/.tar.xz/
40
.xz.sqfs}; done
41 1 Андрей Волков
42 11 Андрей Волков
rm -v portage-20*.tar.xz
43 6 Андрей Волков
44 11 Андрей Волков
for YEAR in {2021..2024}; do for MONTH in {01..12}; do mkdir -pv mnt/$YEAR/portage-$YEAR${MONTH}15; sudo mount -r portage-$YEAR${MONTH}15.xz.sqfs mnt/$YEAR/portage-$YEAR${MONTH}15; mkdir -pv root/$YEAR/portage-$YEAR${MONTH}15; sudo mount --bind mnt/$YEAR/portage-$YEAR${MONTH}15/portage root/$YEAR/portage-$YEAR${MONTH}15; done; done
45 6 Андрей Волков
46 11 Андрей Волков
cd snapshots/
47
ls -l root/
48
for NAME in */; do ls -dt "$NAME"/*| head -n1| xargs -IR touch -r R "$NAME"; done
49
for NAME in {2021..2024};do mksquashfs $NAME portage-$NAME.xz.sqfs -force-uid portage -force-gid paludisbuild -comp xz -progress -b 1M -mkfs-time $(stat -c %Y $NAME) -action-file ../action-file-year; done
50 6 Андрей Волков
51 11 Андрей Волков
rsync -aviP --info=progress2 portage-20* files@files:pub/gentoo/portage-sqfs/
52
rm portage-20*
53 6 Андрей Волков
cd ..
54 11 Андрей Волков
rm -v portage-20*.tar.xz
55
sudo umount {mnt,root}/20*/*
56
rmdir {mnt,root}/20*/* {mnt,root}/20* {mnt,root}
57 6 Андрей Волков
</pre>
58
59 11 Андрей Волков
h1. Создание образа из git коллекции:
60 6 Андрей Волков
61 11 Андрей Волков
<pre><code class="shell">
62
sudo -i
63
cd /usr/portage
64
git status
65
git stash
66
git log
67
git checkout -b 2025-06-15 43885bef36ba5abaa6222e8df5db598b15da371c
68
git-restore-mtime --skip-missing
69
rsync -a --info=progress2 --exclude '/.*' ./ /home/xiff/NOb/nutria/snapshots/portage/
70
git checkout master
71
git branch -d 2025-06-15
72
git stash pop
73
cd /home/xiff/NOb/nutria/snapshots/portage
74
for NAME in $(find . -depth -type d); do ls -dt "$NAME"/*| head -n1| xargs -I, touch -r , "$NAME"; done
75
tar -cJpf portage-20250615.tar.xz portage
76
rsync -aviP --info=progress2 portage-20250615.tar.xz files@files:/home/files/pub/gentoo/snapshots/
77
</code></pre>
78
79 7 Андрей Волков
h1. Доработано и перенесено в xidbin:portage-pack.sh
80 8 Андрей Волков
81
h1. Перезапаковка на simba
82 1 Андрей Волков
83 11 Андрей Волков
<pre><code class="shell">
84 9 Андрей Волков
cd /var/db/paludis/pre
85
86 1 Андрей Волков
YEAR=2021; for MON in {01..12}; do mkdir {/var/db/paludis/sqfs.templates/,}C_${YEAR}_${MON}_R1; wget -P C_${YEAR}_${MON}_R1 http://files.ekb-info.ru/gentoo/snapshots/portage-${YEAR}${MON}15.tar.xz; cd C_${YEAR}_${MON}_R1/; tar -xf portage-${YEAR}${MON}15.tar.xz; cd ..; ln -fns C_${YEAR}_${MON}_R1/portage sync; /etc/init.d/repositories.testing sync; cp -a ../sqfs.testing/gentoo.sqfs ../sqfs.templates/C_${YEAR}_${MON}_R1/; touch -r C_${YEAR}_${MON}_R1/portage-${YEAR}${MON}15.tar.xz ../sqfs.templates/C_${YEAR}_${MON}_R1/gentoo.sqfs; rm -rf C_${YEAR}_${MON}_R1; done
87 11 Андрей Волков
</code></pre>