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> |