Mahalliy paketlar ombori. Debian - Mahalliy omborni yaratish (apt-mirror). Apt-mirrorni tayyorlash va o'rnatish

Yaqinda men yordamchi dasturga duch keldim reprepro. Bu qarzga asoslangan tarqatishlarning mahalliy omborini yaratishga yordam beradi. Keyin xayolimga tushdi. Men uzoq vaqtdan beri rasmiy arxivda bo'lmagan paketlarni yig'ib yurganman, shuning uchun har safar ularni ko'rib chiqish va o'rnatishim kerak bo'lsa, u bema'ni bo'lib qoldi va men u erda saqlanadigan bunday paketlarning omborlari bilan bo'lim yaratishga qaror qildim. Shunday qilib, tizimni o'zgartirganda, uni o'rnating va kerak bo'lganda foydalaning. Menimcha, bu keshni apt-get-dan saqlashdan ko'ra foydaliroqdek tuyuladi.


Haqida qisqacha reprepro
Siz ombor uchun katalog yaratishingiz kerak. Mening tanlovim to'g'ri keladi /ombor Shuning uchun u ishlash uchun superfoydalanuvchi huquqlarini talab qiladi. Va printsipial jihatdan, agar ushbu katalogga faqat administrator yozish huquqiga ega bo'lsa, unda tashqaridan hech kim sizning "arxivingizga" zarar etkaza olmasligi ehtimoli katta.
# mkdir / repository
keling, u erga boramiz:
Jild yarating /repository/conf/ konfiguratsiya fayllari uchun
# mkdir /repository/conf

Biz kerakli bo'limlarni qo'shib, fayl yaratamiz (bu haqda ko'proq buyruq chiqishida o'qishingiz mumkin odam reprepro CONFIG FILES bo'limida)
# sichqoncha paneli /repository/conf/distributions
Tushuntirishning asl matnida muallif ushbu faylning bunday namunasini taqdim etadi


Kelib chiqishi: Debian
Suite: sinov
Shuningdek, Qabul qiling: beqaror eksperimental
Kod nomi: lenny
Versiya: 5.0
Arxitektura: i386 manbasi
Komponentlar: asosiy hissa bepul
UDebComponents: asosiy hissa bepul emas
Tavsif: mening mahalliy omborim
Qayerda:
Kelib chiqishi - Tarqatish nomi = Debian
Suite - filial = sinov
AlsoAcceptFor - boshqa filiallar uchun paketlarni sinov omboriga "surish" imkonini beradi = beqaror eksperimental, agar variant ko'rsatilmagan bo'lsa, siz beqaror/eksperimental filiallardan paketlarni qo'shishga harakat qilganingizda shunday qasamyod qiladi.
Kod nomi - filial kod nomi = lenny
Versiya - filial versiyasi = 5.0
Arxitektura - arxitektura, menda x86 protsessorim bor, shuning uchun menda i386 bor, men ham ba'zan manbalarni omborga yuklayman, shuning uchun manba bor
Komponentlar - deb paketlarni joylashtirishingiz mumkin bo'lgan filial bo'limlari, shuningdek manbalar = asosiy hissa bepul (siz xohlaganingizcha ko'proq yaratishingiz mumkin)
UDebComponents - udeb paketlarini joylashtirishingiz mumkin bo'lgan filial bo'limlari (ba'zilari bor) = asosiy hissa bepul (ular yuqoridagi qatorga mos kelganda yaxshiroq)
Tavsif - omborning qisqa og'zaki tavsifi = masalan, mening mahalliy omborim

Agar ombor katalogi joriy bo'lmasa, u holda deb ataladigan narsani yozing BASEDIR variantlari -b BASEDIR(mening holimda BASEDIR=/omborxona).

Fayl yaratgandan so'ng /repository/conf/distributions omborni ishga tushiring
# qayta eksport qilish
# reprepro simli havolalarni yaratadi

Siz omborni paketlar bilan to'ldirishingiz mumkin. Buning uchun ko'plab buyruqlar va variantlar mavjud, ular haqida batafsil ma'lumotni man reprepro-da topish mumkin
Eng ko'p ishlatiladigan

Deb paketini omborga qo'shish.
Umuman olganda, bu shunday ko'rinadi:
# reprepro -b BASEDIR -C BO'LIM o'z ichiga oladieb FILIALI /path/to/file/filename.deb
Yuqorida aytib o'tganimdek, bu paketni omborga ega bo'lgan katalogdan emas, balki ixtiyoriy katalogdan qo'shish misolidir. Agar siz omborlar katalogida bo'lsangiz, buyruq bir xil ko'rinadi, ammo ularsiz -b BASEDIR
Masalan, paket qo'shish uchun foo_1.0.deb papkada joylashgan /home/user/debian, lenny filialining asosiy qismida buyruq shunday ko'rinadi
# reprepro -b /repository -C asosiy kiritilganeb lenny /home/user/debian/foo_1.0.deb

Deb paketini ombordan olib tashlash
Belgilangan ombor filialidan bitta deb paketini olib tashlash uchun siz quyidagi buyruqni berishingiz kerak
# reprepro filial paketi_nomini olib tashlang

Masalan, ko'rib chiqilayotgan paket uchun foo_1.0.deb filialida joylashgan Lenni bu buyruqni bering:
# reprepro lenny fooni olib tashlang

Repozitoriydan foydalanish uchun uni faylga qo'shishingiz kerak /etc/apt/sources.list quyidagi qator sifatida (umuman):
deb fayli:///path_to_repository_folder/ filial bo'limlari

Bizning misolimiz uchun bu shunday ko'rinadi:
deb fayli:///repository/ lenny asosiy hissasi bepul

Bu asosiy narsa, menimcha, bu mening ishimda etarli. Asl maqola joylashgan

Nima uchun sizga mahalliy kerak bo'lishi mumkin? ombori dasturlari? Aytaylik, sizning ofisingizda Internetga ulanmagan bir nechta ish stantsiyalari mavjud. Lekin ular qandaydir tarzda dasturiy ta'minotni o'rnatishlari va yangilashlari kerak. Bunday holda, vaqti-vaqti bilan yangilanadigan serverda (yoki Internetga ulangan boshqa mashinada) mahalliy ombor yaratiladi. Qolgan ish stantsiyalari esa dasturlarni u yerdan oladi. Bu Internet cheklangan yoki har doim ham mavjud bo'lmagan taqdirda ham foydali bo'lishi mumkin. Repozitoriyni yuklab oling - va istalgan vaqtda istalgan mavjud dasturni o'rnatishingiz mumkin. Mahalliy omborni yaratishda hech qanday murakkab narsa yo'q, endi men hamma narsani batafsil tasvirlab beraman.

Mahalliy omborni alohida qattiq diskka (hech bo'lmaganda, bo'limga) joylashtirish juda tavsiya etiladi, shunda baxtsiz hodisa yuz berganda, siz yuklagan hamma narsani orqaga qaytarish orqali yo'qotmaysiz. Tarqatish ombori Debian 8 arxitektura uchun amd64 ko'proq og'irlik qiladi 40 gigabayt. Shunga ko'ra, agar sizga ham kerak bo'lsa i386 paketlari (32 bit), keyin tovush ikki barobar ortadi. Aytaylik, sizning tizimingizda /media/repo-ga o'rnatilgan alohida 500 GB qattiq disk mavjud. Bundan biz davom etamiz. Debian 8 Jessi bilan boshlaylik.

Debian/Ubuntu-da mahalliy omborni yaratishning bir necha yo'li mavjud. Men eng oddiy va vaqt sinovidan o'tgan yordam dasturidan foydalanaman - mos oyna. O'rnatish:

sudo apt install apt-mirror apache2

Ombor uchun katalog yarating:

sudo mkdir /media/repo/debian

Va xizmat kataloglari:

sudo mkdir -p /media/repo/debian/(oyna,var,skel)

Uni sozlash. Konfiguratsiya faylini oching:

sudo nano /etc/apt/mirror.list



base_path /media/repo/debian-ni o'rnating




# sozlang var_path $base_path/var




# standart arxivni o'rnating


run_postmirror 0 ni o'rnating

# Xizmat parametrlari, emas
n-mavzularni o'rnating 20
set_tilde 0
#

# Amd64 jessie (barqaror) + manbalari uchun paketlar bilan oyna
deb-amd64 http://mirror.yandex.ru/debian Jessie asosiy hissasi bepul

# Xavfsizlik yangilanishlari amd64 jessie (barqaror) + manbalari bilan oyna
deb-amd64 http://security.debian.org/jessie/updates asosiy hissasi bepul


deb-amd64 http://mirror.yandex.ru/debian jessie main/debian-installer




skip-clean http://mirror.yandex.ru/debian/dists/jessie/main/installer-amd64/

# I386 jessie (barqaror) + manbalari uchun paketlar bilan oyna
deb-i386 http://mirror.yandex.ru/debian Jessie asosiy hissasi bepul
deb-src http://mirror.yandex.ru/debian jessie asosiy hissasi bepul
# Xavfsizlik yangilanishlari i386 jessie (barqaror) + manbalari bilan oyna
deb-i386 http://security.debian.org/jessie/updates asosiy hissasi bepul
deb-src http://security.debian.org/jessie/updates asosiy hissasi bepul
# Tarmoqni o'rnatish uchun oyna kerak (udeblar)
deb-i386 http://mirror.yandex.ru/debian jessie main/debian-installer
# Release-da indekslanmagan fayllarni o'chirish
toza http://mirror.yandex.ru/debian
toza http://security.debian.org
# Tanlangan jildni tozalashni o'chirib qo'ying
skip-clean http://mirror.yandex.ru/debian/dists/jessie/main/installer-i386/

Saqlash. Keling, omborni yuklab olishni boshlaylik:

sudo apt-oyna

Indeks fayllari yuklab olingandan so'ng, Apt-Mirror sizga qancha paketni yuklab olishingiz kerakligini aytadi (hajmi juda va juda katta bo'ladi). Faqat kutish kerak. Tizim qolganini o'zi qiladi. Nometalllarni avtomatik sinxronlashtirish va tozalash uchun sozlamalarga chiziq qo'shishingiz kerak cron va tegishli vaqtni belgilang. Rasmiy oynalar har 6 soatda yangilanadi: 3:00, 9:00, 15:00, 21:00. Masalan, shunday:

crontab -e

05 01 * * * apt-mirror >> /var/log/apt-mirror.log
05 03 * * * /media/repo/debian/var/clean.sh >> /var/log/apt-mirror.log

To'g'ri ishlash uchun ramziy havolalarni qo'shish kerak "barqaror","sinov", "barqaror" yoqilgan Jessie, cho'zish, sid shunga ko'ra (agar ular mavjud bo'lsa). Jessi uchun misol:

ln -s /media/repo/debian/mirror/mirror.yandex.ru/debian/dists/jessie /media/repo/debian/mirror/mirror.yandex.ru/debian/dists/jessie/stable

Biz veb-serverni o'rnatdik Apache yaxshi sababga ko'ra. Bu bizga mahalliy omborimizdagi paketlarni tarmoq (mahalliy) orqali tarqatish uchun kerak. Birinchidan, siz omborga kirishni sozlashingiz kerak. Buning uchun siz bitta ramziy havola yaratishingiz kerak:

CD /media/repo/debian/
sudo ln -s /media/repo/debian/mirror/mirror.yandex.ru/debian debian

Endi mijoz mashinasida (u mahalliy omborga kirishni talab qiladi), ombor manzilini kiriting. Agar omborga ega kompyuter tarmoq nomiga ega bo'lsa (masalan server), keyin uni belgilang. Aks holda, uni manzil bo'yicha ko'rsating IP manzili:

sudo nano /etc/apt/sources.list

deb http://server/debian Jessie asosiy hissasi bepul
deb-src http://server/debian jessie asosiy hissasi bepul
deb http://server/debian jessie/updates asosiy hissasi bepul

Agar siz konfiguratsiyada 32 bitli paketlarni (i386) yuklashni belgilagan bo'lsangiz, tizimga ushbu arxitekturani qo'shishni unutmang:

sudo dpkg --add-architecture i386

Va paketlar ro'yxatini yangilang:

sudo apt-get yangilanishi

Keyin hamma narsa odatdagidek bo'ladi. Ubuntu uchun hamma narsa bir xil, faqat omborlar nomlari va 64 bitli tizimga 32 bitli arxitektura qo'shilishi (kerak emas). uchun mirror.list konfiguratsiyasi Ubuntu 14.04:

############ konfiguratsiya ###################
# Debian omborining mahalliy oynasi yaratiladigan asosiy katalog
base_path /media/repo/ubuntu-ni o'rnating

# Ko'zgu fayllari, vaqtinchalik fayllar va apt-mirror ijro jurnali uchun yo'llar
# ko'zgu_yo'lini o'rnating $tayanch_yo'l/oyna
# skel_path $base_path/skelni belgilang
# sozlang var_path $base_path/var
# sozlangan skript $var_path/clean.sh

# Oyna yaratilgan arxitektura. Standart arxitektura hisoblanadi
# apt-mirror ishlaydigan tizim (amd64, i386 yoki boshqalar). O'zgartirish kerak emas
# chunki Quyida biz oynani ham, arxitekturani ham aniq ko'rsatamiz.
# standart arxivni o'rnating

# Qayta ishlashdan keyingi skriptga yo'l sukut bo'yicha yo'q, ammo bizga hali kerak emas.
# postmirror_script $var_path/postmirror.sh

# Qayta ishlashdan keyingi skriptni ishga tushirmang
run_postmirror 0 ni o'rnating

# Xizmat parametrlari, emas
n-mavzularni o'rnating 20
set_tilde 0
#
############ oxirgi konfiguratsiya ##############

deb-amd64 http://archive.ubuntu.com/ubuntu ishonchli asosiy cheklangan
deb-amd64 http://archive.ubuntu.com/ubuntu Trusty-updates asosiy cheklangan
deb-amd64 http://archive.ubuntu.com/ubuntu ishonchli koinot
deb-amd64 http://archive.ubuntu.com/ubuntu trusty-updates koinot
deb-amd64 http://archive.ubuntu.com/ubuntu ishonchli multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu Trusty-updates multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu Trusty-security main cheklangan
deb-amd64 http://archive.ubuntu.com/ubuntu ishonchli-xavfsizlik koinoti
deb-amd64 http://archive.ubuntu.com/ubuntu Trusty-security multiverse

deb-i386 http://archive.ubuntu.com/ubuntu ishonchli asosiy cheklangan
deb-i386 http://archive.ubuntu.com/ubuntu Trusty-updates asosiy cheklangan
deb-i386 http://archive.ubuntu.com/ubuntu ishonchli koinot
deb-i386 http://archive.ubuntu.com/ubuntu trusty-updates koinot
deb-i386 http://archive.ubuntu.com/ubuntu ishonchli multiverse
deb-i386 http://archive.ubuntu.com/ubuntu Trusty-updates multiverse
deb-i386 http://archive.ubuntu.com/ubuntu Trusty-security main cheklangan
deb-i386 http://archive.ubuntu.com/ubuntu Trusty-security Universe
deb-i386 http://archive.ubuntu.com/ubuntu Trusty-security multiverse

Shunga ko'ra, siz ramziy havolani o'zgartirishingiz kerak:

ln -s /media/repo/ubuntu/mirror/archive.ubuntu.com/debian/dists/trusdy /media/repo/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/trusty/stable

Ana xolos. Bu ushbu tizimlarda mahalliy omborni yaratishning eng oddiy va mening fikrimcha, to'g'ri yo'lidir. Agar sizda biron bir savol bo'lsa, sharhlarda yozing.

Ma'lumki, Ubuntu qulayroq qidirish va keyingi o'rnatish uchun barcha asosiy dasturlar haqidagi ma'lumotlarni bir joyda markazlashtirilgan saqlashni amalga oshiradi. Bu joy Synaptic paket menejeri. (System -> Administration -> Synaptic Package Manager) Dasturni oʻrnatish uchun uni roʻyxatda topib, oʻrnatish uchun belgilash kifoya, shundan soʻng dastur avtomatik ravishda internetdan yuklab olinadi va oʻrnatiladi.

Ubuntu OS da ishlashda foydali bo'lishi mumkin bo'lgan asosiy dasturlar rasmiy Ubuntu serveridagi ombor deb ataladigan joyda saqlanadi. Har safar Synaptic paketlar menejerida dasturni o'rnatishni tekshirganingizda, u avval yuklab olinadi.

Ammo agar sizda juda sekin yoki qimmat Internet bo'lsa yoki sizda butun dunyo bo'ylab Internetga kirish imkoningiz bo'lmasa yoki Linux Ubuntu-da ishlayotganingizda Internetga ulanishni xohlamasangiz nima bo'ladi? Siz, albatta, barcha kerakli dasturlarni (paketlarni) birma-bir yuklab olishingiz va keyin ularni qo'lda o'rnatishingiz mumkin, ammo kelajakda qaysi dastur sizga foydali bo'lishini kim biladi?

Ushbu muammoni hal qilish mahalliy omborni yaratishdir, ya'ni. qattiq diskingizdagi rasmiy omborning to'liq yoki qisman nusxasi. Shunday qilib, siz butun omborni yuklab olganingizdan so'ng, siz endi Internetga qaram bo'lmaysiz.

Shunday qilib, keling, boshlaylik.

1. Qattiq diskda omborning nusxasini (bo'limini) yaratish uchun maxsus dastur mavjud: debmirror. Shunga ko'ra, avval siz uni bir xil Synaptic paket menejeridan o'rnatishingiz kerak

yoki terminalda buyruqni terish orqali:

sudo apt-get install debmirror

2. Uy katalogida omborning bir qismi (yoki hatto bir nechtasi) saqlanadigan papka yarating, masalan, uni omborlar deb ataymiz.

Keling, "Repositories" jildiga o'tamiz:

va unda archive.ubuntulinux.org.sh nomli skript faylini yarating:

gedit archive.ubuntulinux.org.sh

Ushbu faylga quyidagilarni joylashtiring:

#!/bin/bash -x
/usr/bin/debmirror --nosource -m --passiv --host=archive.ubuntulinux.org \
--root=ubuntu --method=ftp --progress \
--dist=qattiq, qattiq xavfsizlik, chidamli yangilanishlar, chidamli orqa portlar \
--ignore-release-gpg --section=asosiy,cheklangan,ko'p,koinot \
--arch=i386 /to'liq/yo'l/papka/qaerda/kerak/yuklab olish/repository/

Sizning to'liq yo'lingiz quyidagicha ko'rinishi kerak: /home/aidsoid/Repositories/ru.archive.ubuntu.com/

va uni saqlang. Saqlaganingizdan so'ng, faylni ishga tushirishingiz kerak (chmod +x archive.ubuntulinux.org.sh).

Yuqoridagi misol Ubuntu 8.04 (Hardy Heron) uchun omborni yuklab oladi, agar siz hali ham Ubuntu 7.10 (Gutsy Gibbon) ning eski versiyasidan foydalanayotgan bo'lsangiz, unda siz ushbu skriptni biroz o'zgartirishingiz kerak, xususan, qiymatlarni o'zgartirishingiz kerak. --dist parametrining qattiqdan gutsygacha. Shuningdek, kompyuteringiz arxitekturasini ko'rsatadigan --arch parametriga e'tibor berishingiz kerak; i386 qiymati x86 arxitekturali kompyuter uchun paketlar yuklab olinishini bildiradi. Ushbu parametr 64 bitli AMD yoki Intel kompyuterlari uchun amd64 ham bo'lishi mumkin.

4. Hammasi shu, aslida, endi siz skriptni bajarish uchun ishga tushirishingiz mumkin.Buni amalga oshirish uchun konsolda, Repositories papkasida quyidagi buyruqni kiriting:

./archive.ubuntulinux.org.sh

Skript ishlay boshlaydi. Butun ombor taxminan 20-30 Gigabaytni egallaydi, shuning uchun yuklab olishdan oldin diskda bo'sh joy mavjudligiga ishonch hosil qiling. Siz istalgan vaqtda Ctrl+C tugmalar birikmasini bosish orqali skriptni og'riqsiz ravishda uzishingiz mumkin. Skriptni qayta ishga tushirganingizda, u yuklab olinmagan paketlarni yuklab olishni davom ettiradi. Bundan tashqari, skriptni qayta ishga tushirish mahalliy omboringizni yangilaydi, ya'ni. Dasturlarning yangi versiyalari mavjudligi tekshiriladi va ular ham yuklab olinadi.

Eslatma: Ubuntu 7.10 foydalanuvchilarida bitta kichik tuzoq bor, Ubuntu 8.04 foydalanuvchilarida xavotirlanishga hojat yo'q. Skriptni qayta ishga tushirishda havza papkasini mahalliy ombordan olib tashlashga olib keladigan debmirrorda xatolik mavjud. Skriptni ishga tushirishdan oldin uni tuzatish kerak. Xato tavsifi bu yerda: https://bugs.launchpad.net/ubuntu/+source/debmirror/+bug/136634

Xatoni osongina hal qilish mumkin:
$ sudo gedit /usr/bin/debmirror
mahalliy $/="\n\n" qatorini almashtiring; mahalliy $/="\n"; va faylni saqlang. Endi omborni yangilash hodisasiz amalga oshiriladi.

5. Skript yuklab olingandan so'ng (bu uzoq vaqt talab qilishi mumkin), siz dastur manbalariga deb qatorini qo'shish orqali foydalanishingiz mumkin. (Tizim -> Ma'muriyat -> Ilova manbalari)

deb qatori ombor papkasiga ishora qilishi va shunday ko'rinishi kerak:
deb file:///home/aidsoid/Repositories/ru.archive.ubuntu.com/ hardy main cheklangan multiverse koinot

Agar siz tizim ma'muri bo'lsangiz, tizimingizda tez-tez yangi dasturiy ta'minot, xavfsizlik yangilanishlari va boshqa yamoqlarni o'rnatishingiz kerak bo'ladi. Agar faqat bitta kompyuter bo'lsa, bu muammoga olib kelmaydi, lekin odatda tarmoqda bir nechta kompyuterlar mavjud va ularning barchasi yangilanishlarga muhtoj. Bu tarmoq o'tkazuvchanligini kamaytirishi mumkin. Har bir tizimda ilovalar to'g'ridan-to'g'ri Ubuntu omborlaridan yuklab olinadi va o'rnatiladi.

Ammo chiqish yo'li bor: siz barcha ilovalarni mahalliy tarmoqdagi serverda saqlashingiz va kerak bo'lganda ularni ushbu tarmoqdagi boshqa kompyuterlarga tarqatishingiz mumkin. Ubuntu mahalliy ombori ilovalarni joylashtirishning chinakam tez va samarali usulidir, chunki barcha kerakli ilovalar mahalliy serverdan yuqori tezlikda bir zumda olinadi. Shunday qilib, siz Internet-trafikni kamaytirishingiz va natijada yillik Internet xarajatlaringizni kamaytirishingiz mumkin.

Ushbu qo'llanmada men sizga mahalliy Ubuntu 16.04 omborini ikki usulda qanday o'rnatishni aytib beraman.

Ushbu usulda biz barcha paketlarni umumiy ombordan Ubuntu serverining qattiq diskiga yuklab olamiz. Avval siz Apache veb-serverini o'rnatishingiz kerak. Lokal tarmoq orqali paketlarni tarqatish talab qilinadi:

sudo apt-get install apache2

Endi apt-mirror-ni o'rnating:

sudo apt-get install apt-mirror

Barcha paketlar yuklab olinadigan katalog yarating:

sudo mkdir / myrepo

Endi /etc/apt/mirror.list faylini oching va quyidagi qatorni qo'shing:

sudo vi /etc/apt/mirror.list

############ konfiguratsiya ###################
#
# tayanch_yo'lni o'rnating /var/spool/apt-mirror

base_path / myrepo ni o'rnating

Bu erda /myrepo - yangi yaratilgan jildning manzili. Shuningdek, ushbu konfiguratsiya faylida siz foydalanmoqchi bo'lgan omborlarni belgilashingiz mumkin, biz standartlaridan foydalanamiz, lekin siz PPA qo'shishingiz mumkin. Agar siz x64 va x32 arxitekturalaridan foydalanmoqchi bo'lsangiz, ular uchun omborlar faylda alohida ko'rsatilishi kerak.

Masalan, x32 uchun qator deb-i386 va x64 uchun: deb-amd64 bilan boshlanadi. O'rnatishni tugatgandan so'ng, buyruq bilan paketlarni yuklab olishni boshlang:

Terminal quyidagicha chiqadi:

20 ta mavzu yordamida 162 ta indeks fayli yuklab olinmoqda...
Boshlanish vaqti: 2015 yil 5-avgust, chorshanba, 16:09:16
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

Hozirda Ubuntu umumiy omboridagi barcha paketlar yuklab olinadi va mahalliy papkada saqlanadi. Bizning holatda, /myrepo-da. Internet tezligingizga qarab, bu bir necha soat vaqt olishi mumkin. Yuklashni istalgan vaqtda bekor qilishingiz mumkin; uni davom ettirganingizda, u to‘xtagan joydan davom etadi.

Omborni yangilash uchun ushbu buyruqni har kuni qo'lda ishlatish o'rniga, siz Cron ishini rejalashtirishingiz mumkin. Buning uchun /etc/cron.d/apt-mirror faylida quyidagi qatorni izohdan olib tashlang:

sudo vi /etc/cron.d/apt-mirror

# Apt-mirror to'plami uchun muntazam cron ishlari
#
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

Ushbu misolda Cron har kuni ertalab soat to'rtda paket yangilanishlarini ishga tushiradi.

Yuklab olish tugallangandan so'ng, /myrepo katalogida paketlar mavjudligini tekshiring

Endi biz paketlarni tarmoq orqali mavjud qilishimiz kerak. Buning uchun ramziy havola yaratamiz:

sudo ln -s /myrepo/mirror/us.archive.ubuntu.com/ubuntu/ ubuntu

Mijoz konfiguratsiyasi

Mijoz mashinasida sozlash hech qanday qiyinchiliklarga olib kelmaydi. Shunchaki /etc/apt/sources.list faylini oching va mahalliy omboringizni masofaviy repozitoriyani qo'shganingizdek qo'shing, shunchaki mashinangizning IP manzilidan foydalaning:

sudo vi /etc/apt/sources.list

[...]
deb http://192.168.1.102/ubuntu ishonchli koinot
deb http://192.168.1.102/ubuntu ishonchli asosiy cheklangan
deb http://192.168.1.102/ubuntu ishonchli yangilanishlari asosiy cheklangan
[...]

Mana, shu yerda 192.168.1.102 - omborga ega server manzili. Endi paketlar ro'yxatini yangilaymiz:

sudo apt-get yangilanishi

Dasturni o'rnatish uchun standart buyruqni bajaring:

sudo apt-get install paketi nomi

apt-mirror ubuntu 16.04 ni sozlash tugallandi. Endi paketlarni yuklab olish uchun mijozlarga internet aloqasi kerak emas. Ular barcha paketlar va yangilanishlarni mahalliy Ubuntu omboridan oladi.

2-usul: APT-Cacher

Mahalliy ubuntu omborini yaratishning bir nechta usullari mavjud. Apt-cacher apt-mirrordan biroz farq qiladi. U ombordan barcha paketlarni yuklab olmaydi, faqat bir marta so'ralganlarni saqlaydi va hammaga taqdim etadi.

Avval Apache serverini o'rnating:

sudo apt-get install apache2

Keyin apt-cahcer:

sudo apt-get install apt-cacher

Ishga tushirish usulini tanlang - demon va OK tugmasini bosing:

Endi siz /etc/default/apt-cacher-ni tahrirlashingiz kerak, autostart parametrini 1 ga qo'ying.

sudo vi /etc/default/apt-cacher

apt-cacher daemon ishga tushirish konfiguratsiya fayli

# Apt-cacherni mustaqil demon sifatida ishlatish uchun 1 ga sozlang, agar ketmoqchi bo'lsangiz 0 ga o'rnating
# apt-cacherni /etc/inetd dan yoki CGI rejimida ishga tushirish uchun (eskirgan). Shu bilan bir qatorda
# "dpkg-reconfigure apt-cacher" ni chaqirish siz uchun ishni bajarishi kerak.
#
AUTOSTART=1

apt-cacher.conf-dagilarni bekor qilish uchun # qo'shimcha sozlamalar
# EXTRAOPT = "daemon_port = 3142 chegarasi = 30 "

Shuningdek, siz keshga qaysi IP-lardan kirishingiz mumkinligini sozlashingiz mumkin, buning uchun /etc/apt-cacher/apt-cacher.conf faylini oching va tegishli qatorni tahrirlang: Masalan, faqat IP-ga ega kompyuterlarga ulanishga ruxsat beraylik. 192.168.1.20 dan 192.168.1.30 gacha:

sudo vi /etc/apt-cacher/apt-cacher.conf

[...]
## Sharhni olib tashlang va IP diapazonini o'rnating ##
ruxsat etilgan_hostlar = 192.168.1.20 - 192.168.1.30
#denied_hosts =
[...]

Sozlamalarni tugatgandan so'ng, apache-ni qayta ishga tushiring:

sudo systemctl apache2 ni qayta ishga tushiring

sudo xizmati apache2 ni qayta ishga tushiring

Mijoz tomoni konfiguratsiyasi

Sudo nano /etc/apt/apt.conf.d/01proxy faylini yarating va unga quyidagi qatorni qo'shing:

sudo nano /etc/apt/apt.conf.d/01proxy

Sotib oling::http::Proksi "http://192.168.1.102:3142";

Bu erda 192.168.1.102 - bizning mahalliy omborimiz manzili. Faqat paketlar ro'yxatini yangilash qoladi:

sudo apt-get yangilanishi

Bu erda biz mahalliy Ubuntu omborini qo'shmaymiz, balki paketlarni yuklab olish uchun proksi-serverdan foydalanamiz.

xulosalar

Ana xolos. Ushbu texnologiya tizim ma'murlari, shuningdek, zaif internet aloqasiga ega oddiy foydalanuvchilar uchun juda foydali bo'ladi. Agar sizda biron bir savol bo'lsa, sharhlarda so'rang!

O'rnatish uchun dpkg -i package_name.deb dan foydalanish o'rniga siz flesh-disk yoki boshqa muhitda keltirilgan paketlar uchun mahalliy ombor yaratishingiz va keyin synaptic/kynaptic (yoki apt-get install package_name) dan foydalanishingiz mumkin.

1. Barcha harakatlarni ildiz sifatida bajarish yaxshiroqdir

sudo su

2.Endi dpkg-dev paketini o'rnating. U bizga kerak bo'lgan dpkg-scanpackages yordam dasturini o'z ichiga oladi.

apt-get install dpkg-dev

3. Barcha .deb paketlarini katalogga joylashtiring, masalan, /myrepo (to'g'ridan-to'g'ri ushbu katalogda emas, balki ushbu katalogda joylashgan pastki kataloglarda)

4. Bajarmoq

cd /myrepo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

5. Endi siz /etc/apt/sources.list ga yangi ombor qo'shishingiz kerak. /etc/apt/sources.list ga qator qo'shing (uni boshiga yaqinroq qo'yish yaxshidir, chunki apt-get (sinaptik/kynaptik) boshqalarga qaraganda avvalroq joylashgan manbaga ustunlik beradi)

deb fayli:/myrepo ./

6. Repozitariylar ro'yxatini yangilang

apt-get yangilanishi

Agar paket katalogining mazmuni o'zgarsa, 1.4-bosqichlarni takrorlang.