Якщо ви є частиною користувачів, які зазвичай мають хороше підключення до Інтернету та оновлюються безпосередньо зі сховищ Arch Linux, ця стаття не для вас, а для тих, хто має обмеження щодо пропускної здатності.
Як приклад я наводжу свою справу. Звичайно, з’єднання з Інтернетом у робочий час набагато повільніше, ніж вночі (коли всі сплять). Що я роблю, так це зайти в El Palacio Central de Computing, де покращена пропускна здатність і оновлено кілька сховищ, і я копіюю дзеркало Arch.
Таким чином, мені залишається лише оновлювати пакети, які надходять потроху вночі, що набагато краще, ніж скинути 45 Гб одразу. але звичайно, як мені оновити?
Ну, в основному є два дуже простих способи зробити це, обидва розміщені у Вікі de Arch Linux.
Використання Rsync
Якщо у нас є домен Rsync, ми можемо створити наш власний сценарій, який включає або виключає певні пакети під час копіювання дзеркала Arch Linux. Якщо ви хочете зробити це простіше, вам просто потрібно скористатися цим сценарієм:
#! / bin / bash ############################################## #################################################### ### ### Зазвичай створюється локальне дзеркало з-за необхідної пропускної здатності. ### Одна з альтернатив, ймовірно, задовольнить ваші потреби. ### ПАМ’ЯТАЙТЕ: ### * Пропускна здатність для дзеркал не безкоштовна. Вони повинні заплатити за всі дані, які вони вам надають ### => Це все ще застосовується, хоча ви платите своєму провайдеру ### => Буде завантажено багато пакетів, які ви, швидше за все, ніколи не будете використовувати ### => Оператори дзеркала будуть набагато волієте завантажувати лише ті пакети, які вам потрібні ### * Дійсно, будь ласка, перегляньте альтернативи на цій сторінці: ### https://wiki.archlinux.org/index.php?title=Local_Mirror ### Якщо ви АБСОЛЮТНО ВИЗНАЧЕНО, що локальне дзеркало є єдиним розумним рішенням, тоді цей ### скрипт допоможе вам на шляху до його створення. #################################################### ################################################ # Конфігурація ДЖЕРЕЛО = 'rsync: //mirror.example.com/archlinux' DEST = '/ home / user / archlinux' BW_LIMIT = '500' REPOS = 'core extra' RSYNC_OPTS = "- rtlHq --delete-after --delay-updates --copy-links --safe-links --max-delete = 1000 --bwlimit = $ {BW_LIMIT} --delete-excluded --exclude =. * --log-file = / home / user / archlinux / archlinux .log "LCK_FLE = '/ var / run / repo-sync.lck' # Переконайтеся, що працює лише 1 екземпляр, якщо [-e" $ LCK_FLE "]; тоді OTHER_PID = `/ bin / cat $ LCK_FLE` echo" Ще один екземпляр вже запущений: $ OTHER_PID "вихід 1 fi echo $$>" $ LCK_FLE "для РЕПО в $ REPOS; виконати ехо "Синхронізація $ REPO" / usr / bin / rsync $ RSYNC_OPTS $ {SOURCE} / $ {REPO} $ {DEST} зроблено # Очищення / bin / rm -f "$ LCK_FLE" вихід 0
Тут єдине, що ми маємо змінити, це змінні:
ДЖЕРЕЛО = 'rsync: //mirror.example.com/archlinux' DEST = '/ home / user / archlinux'
Ну, ми повинні поставити, з якого дзеркала ми хочемо підключитися і в яку папку воно буде скопійоване.
Використання LFTP
Якщо ми не можемо використовувати Rsync, або тому, що HP адміністратора нашого провайдера блокує його, або з іншої причини, завжди є другий варіант, у цьому випадку ftp.
На Arch Wiki ми маємо такий сценарій:
#! / usr / bin / lftp -f lcd / local / path / to / your / mirror open ftp.archlinux.org (або будь-яке ваше улюблене дзеркало) # Використовуйте 'cd', щоб перейти у відповідний каталог на дзеркалі, якщо необхідно. дзеркало -cve -x '. * i686. *' core & mirror -cve -x '. * i686. *' extra & mirror -cve -x '. * i686. *' community & mirror -cve -x '. * i686. * 'multilib & lcd pool cd pool mirror -cve -x'. * i686. * 'community & mirror -cve -x'. * i686. * 'пакети &
Хоча, особливо коли я використовую LFTP, у мене є інший варіант. Що я роблю, так це поміщаю у файл .txt наступне:
lftp -e "дзеркало --delete --lyly-newer / archlinux / extra / os / x86_64 / / home / user / archlinux / extra / os / x86_64 /" http://mirror.us.leaseweb.net/ lftp - e "mirror --delete --only-newer / archlinux / community / os / x86_64 / / home / user / archlinux / community / os / x86_64 /" http://mirror.us.leaseweb.net/ lftp -e " дзеркало --delete --lyly-newer / archlinux / multilib-staging / os / x86_64 / / home / user / archlinux / multilib-staging / os / x86_64 / "http://mirror.us.leaseweb.net/ lftp - e "mirror --delete --only-newer / archlinux / core / os / x86_64 / / home / user / archlinux / core / os / x86_64 /" http://mirror.us.leaseweb.net/ lftp -e " дзеркало --видалити - тільки-нове / archlinux / extra / os / i686 / / home / user / archlinux / extra / os / i686 / "http://mirror.us.leaseweb.net/ lftp -e" дзеркало - -delete --only-newer / archlinux / community / os / i686 / / home / user / archlinux / community / os / i686 / "http://mirror.us.leaseweb.net/ lftp -e" дзеркало --delete --lyly-newer / archlinux / multilib-staging / os / i686 / / home / user / archlinux / multilib-staging / os / i686 / "http: // mirro r.us.leaseweb.net/ lftp -e "дзеркало - видалити - тільки-новіше / archlinux / core / os / i686 / / home / user / archlinux / core / os / i686 /" http: // дзеркало. us.leaseweb.net/
І я біжу:
lftp -f /ruta/archivo.txt
І ось як я оновлюю свої локальні сховища ...