Здесь приведен работающий пример. Скачать репозиторий ArchLinux на свой носитель. Как создать локальный репозиторий любого линукса.
Вам потребуется работающий линукс любой и активное соединение с интернет, установленный пакет rsync. редактор nano или mcedit. место на диске примерно 50 ГБ.
1 выставьте правильные дату и время в системе.
в папке home делаем папку mirror. далее работаем в папке mirror.
Открываете https://www.archlinux.org/mirrorlist/?country=all&protocol=https&ip_version=4&use_mirror_status=on
и первый сверху сервер вписываете по образцу в файле mirror-sync.sh переменную src
hdd=/home/mirror - проверь
2 затем создаёте первый файл touch mirror-sync.sh и пишете.
#!/bin/bash not="./mirror-exclude.txt" src=mirror.sergal.org::archlinux hdd=/home/mirror rsync -alvzh --progress --delete --delete-after --inplace --partial --exclude-from=$not $src/core/os/x86_64/ $hdd/core/os/x86_64/ rsync -alvzh --progress --delete --delete-after --inplace --partial --exclude-from=$not $src/extra/os/x86_64/ $hdd/extra/os/x86_64/ rsync -alvzh --progress --delete --delete-after --inplace --partial --exclude-from=$not $src/community/os/x86_64/ $hdd/community/os/x86_64/ rsync -alvzh --progress --delete --delete-after --inplace --partial --exclude-from=$not $src/multilib/os/x86_64/ $hdd/multilib/os/x86_64/ rsync -alvzh --progress --delete --delete-after --inplace --partial --exclude-from=$not $src/pool/packages/ $hdd/pool/packages/ rsync -alvzh --progress --delete --delete-after --exclude-from=$not $src/pool/community/ $hdd/pool/community/ rsync -alvzh --progress $src/iso/latest $hdd/iso rsync -alvzh --progress --delete --delete-after $src/iso/latest/ $hdd/iso/ logger -t Mirroring -s "Sync Compete"
делаете его исполняемым
сhmod 744 mirror-sync.sh
3. в тойже папке создаем mirror-exclude.txt и пишем в него исключения.
лично я занес туда: нестабильные ветки, файлы локализаций, большие по объему игры, нечто чем я пользоваться не намерен.
Список не претендует на полноту.
- /community-staging/os/x86_64/ - /communyty-testing/os/x86_64/ - /gnome-unstable/os/x86_64/ - /kde-unstable/os/x86_64/ - /multilib-staging/os/x86_64/ - /multilib-testing/os/x86_64/ - /progect/ - /staging/os/x86_64/ - /testing/os/x86_64/ - *-i18n-a??-* - *-i18n-b?-* - *-i18n-c?-* - *-i18n-d?-* - *-i18n-el-* - *-i18n-es-* - *-i18n-?t-* - *-i18n-es-* - *-i18n-f?-* - *-i18n-g?-* - *-i18n-h?-* - *-i18n-h??-* - *-i18n-f?-* - *-i18n-i?-* - *-i18n-k?-* - *-i18n-k??-* - *-i18n-l?-* - *-i18n-l??-* - *-i18n-m?-* - *-i18n-o?-* - *-i18n-p?-* - *-i18n-rm-* - *-i18n-ro-* - *-i18n-s?-* - *-i18n-s??-* - *-i18n-t?-* - *-i18n-v?-* - *-i18n-x?-* - *-i18n-z?-* - libreoffice-fresh-* - libreoffice-*-a??- - libreoffice-*-b?-* - libreoffice-*-br?-* - libreoffice-*-c?-* - libreoffice-*-d?-* - libreoffice-*-el-* - libreoffice-*-es-* - libreoffice-*-?t-* - libreoffice-*-f?-* - libreoffice-*-g?-* - libreoffice-*-h?-* - libreoffice-*-h??-* - libreoffice-*-f?-* - libreoffice-*-i?-* - libreoffice-*-k?-* - libreoffice-*-k??-* - libreoffice-*-l?-* - libreoffice-*-m?-* - libreoffice-*-n?-* - libreoffice-*-nso-* - libreoffice-*-o?-* - libreoffice-*-p?-* - libreoffice-*-rm-* - libreoffice-*-ro-* - libreoffice-*-s?-* - libreoffice-*-s??-* - libreoffice-*-t?-* - libreoffice-*-v?-* - libreoffice-*-u?-* - libreoffice-*-x?-* - libreoffice-*-z?-* #games - xonotic* - 0ad* - nexuiz* - sauerbraten* - warsow*
--------------
4. врубаем интернет. запускаем mirror-sync.sh
это надолго. 2-4 часа. врубили и ушли на работу, учёбу.
Все пакеты будут в папке pool
в остальных будут ссылки на пакеты в ней. оставь как есть. потом ты поймёшь что это удобно.
в папке pool будут папки packages, community.
вариант с мимимумом головной боли --- в конфиге пакмана пропиши пути для core, extra, community , multilib ----->> Server= file:///...../core/......
вариант хлопотный - согласно вики спусти на папку packages утилиту pkg-add и после завершения пропиши pacman.conf пути к базам ней
потом можно получившуюся базу подписать самодельным ключом.