Mahalliy ubuntu omborini yaratish. "To'g'ri" mahalliy omborni yaratish (oyna emas)

💖 Sizga yoqdimi? Havolani do'stlaringiz bilan baham ko'ring

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 faqat ma'mur ushbu katalogga yozish huquqiga ega bo'lsa, unda hech qanday begona odam 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 qasam ichadi.
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.
IN umumiy ko'rinish 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 qatorda (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

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 operatsion tizimida ishlashda foydali bo'lishi mumkin bo'lgan asosiy dasturlar rasmiy Ubuntu serveridagi omborda 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 Internetda ishlayotganingizda Internetga ulanishni xohlamasangiz nima qilish kerak. Linux Ubuntu? 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 diskingizda omborning nusxasini (bo'limini) yaratish uchun mavjud maxsus dastur: 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. Saqlagandan so'ng, faylni bajariladigan qilish kerak (chmod +x archive.ubuntulinux.org.sh).

Yuqoridagi misol, agar siz hali ham foydalanayotgan bo'lsangiz, Ubuntu 8.04 (Hardy Heron) uchun omborni yuklab oladi. eski versiya Ubuntu 7.10 (Gutsy Gibbon), keyin siz ushbu skriptni biroz o'zgartirishingiz kerak, xususan, --dist parametrining qiymatlarini hardydan gutsyga o'zgartirishingiz kerak. 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, endi siz skriptni bajarish uchun ishga tushirishingiz mumkin, buning 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

Ushbu maqolada biz yangi bo'sh Git omborini qanday yaratishni ko'rib chiqamiz. Biz mahalliy omborni yaratamiz va misol sifatida Github yordamida masofaviy omborni qanday yaratishni ko'rib chiqamiz.

Yangi bo'sh omborni qanday yaratish kerak

Kelajakdagi omboringiz uchun bo'sh katalog yarating va unga o'ting:

Mkdir myproject cd myproject

Endi katalogimizda yangi ombor yaratish uchun buyruqni bajaring:

Git init

Bu yangi mahalliy bo'sh omborni yaratadi. Ekranda shunday xabar paydo bo'ladi:

/path/to/myproject/.git/ da bo'sh Git ombori ishga tushirildi

Katalogda mening loyiham yashirin papka paydo bo'ladi .git. Buni ls -al ni ishga tushirish orqali ko'rishingiz mumkin

Mavjud fayllardan omborni qanday yaratish mumkin

Faraz qilaylik, sizda allaqachon Git omborini yaratmoqchi bo'lgan loyihangiz bor. Omborni yaratish yuqorida tavsiflangan tarzda amalga oshiriladi. Loyihangiz jildiga o'ting:

Mening loyiham CD

Repozitoriy yarating:

Git init

Endi siz barcha fayllarni indeksga qo'shishingiz va birinchi majburiyatni bajarishingiz mumkin:

Git add -A git commit -m "Birinchi majburiyat".

Masofaviy omborni qanday yaratish mumkin (misol sifatida Github-dan foydalanish)

Siz mahalliy ombor yaratdingiz, endi, masalan, uni Github-ga qo'shishingiz kerak va shu bilan samarali masofaviy omborni yaratishingiz kerak.

https://githib.com saytiga o‘ting va hisobingizga kiring. Yangi ombor tugmasini bosing. Ochilgan sahifada ombor nomini kiriting ( Repozitoriy nomi) va tugmani bosing Repozitoriy yaratish.

Mahalliy omboringizda endi buyruqni bajaring:

Git masofaviy manba qo'shish https://github.com/username/myproject.git

Bu buyruq sizga ishora qiluvchi kelib chiqishi nomli masofaviy omborni qo'shadi Github ombori. Hozircha biz faqat masofaviy ombor haqida yozuvni qo'shdik.

Endi siz barcha o'zgarishlaringizni masofaviy omborga surish uchun git push buyrug'ini ishga tushirishingiz mumkin:

Git push -u Origin master

Github hisob qaydnomangizning login va parolini kiritishingiz kerak. Buyruqning chiqishi quyidagicha bo'ladi:

$ git push -u origin master "https://github.com" uchun foydalanuvchi nomi: [elektron pochta himoyalangan]"https://" uchun parol [elektron pochta himoyalangan]@github.com": Ob'ektlarni sanash: 4, bajarildi. 4 tagacha ip yordamida delta siqish. Ob'ektlarni siqish: 100% (2/2), tayyor. Ob'ektlarni yozish: 100% (4/4), 252 bayt | 252,00 KB /s, jami 4 (delta 0), qayta ishlatilgan 0 (delta 0) masofaviy: masofaviy: GitHub-da "master" uchun tortishish so'rovini yaratish: masofaviy: https://github.com/username/myproject/pull. /new/master remote: https://github.com/username/myproject.git-ga * master -> master "master" filiali "master" masofaviy filialini "kelib chiqishi" dan kuzatish uchun sozlangan.

Git push buyrug'ida biz -u kalitidan foydalanganmiz. Bu kalit mahalliy filialni ulash uchun ishlatiladi usta masofadan turib kelib chiqishi/magistr(bizning holatda, masofaviy filial mavjud emas edi, u avtomatik ravishda yaratilgan). Bog'lanish o'rnatilganligi sababli, asosiy filialdan keyingi git surishlari filiallarni ko'rsatmasdan amalga oshirilishi mumkin. Ya'ni, git push origin master o'rniga siz shunchaki git push buyrug'ini ishga tushirishingiz mumkin.

Shunday qilib, agar Linux tizimida biror narsa yuz bersa, siz dasturlarni qayta yuklab olmaysiz, lekin ularni allaqachon yuklab olganingizdan o'rnating.

Shunday qilib, men ushbu yuklab olingan dasturlarni buyruq yordamida eng oddiy usulda o'rnatishimiz mumkinligiga qanday ishonch hosil qilish haqida o'yladim. apt-get? Bu haqda o'ylab, men nima uchun xuddi shu paketlardan foydalangan holda mahalliy ombor yaratmaslik kerak degan fikrga keldim? Men o'yladim, Google'da qidirdim, asosiy vositani oldim tizim administratori, admin tambourine va buni qila boshladi.

Shunday qilib, mening deb paketlarim tizimni tajriba sifatida qayta o'rnatishdan oldin ularni qoldirgan joyda, ya'ni papkadagi uy katalogida joylashgan. deb. Menda bu bor /home/dante/deb, Men bularning barchasini tasvirlab berdim, lekin sizda paketlarni saqlagan katalogingiz bor. Terminalni oching va deb paketlari bo'lgan papkaga o'ting. Mening holatimda terminaldagi buyruq quyidagicha ko'rinadi:

CD /home/dante/deb

Deb paketlaringizga yo'lni kiritishingiz kerak.
Saqlangan deb paketlari bo'lgan jildga o'tganingizdan so'ng. Quyidagi buyruqni kiriting:

sudo apt-ftparchive paketlari ./ |gzip -9 > Packages.gz

Keyin parolni kiriting va fayl yaratilguncha kuting Packages.gz
Endi bizning omborimiz amalda aniqlangan, qolgan narsa uni qo'shishdir source.list. Keling, terminalni qaytarib olaylik. Faylni oching:

sudo nano /etc/apt/sources.list

Menda bor bu fayl shunday ko'rinadi:

deb fayli:///home/dante/deb ./
# deb cdrom:/ oneiric main cheklangan

# Qanday qilib yangilanish haqida http://help.ubuntu.com/community/UpgradeNotes ga qarang.
tarqatishning # ta yangi versiyasi.
deb http://archive.ubuntu.com/ubuntu oneiric asosiy cheklangan
deb-src http://archive.ubuntu.com/ubuntu oneiric cheklangan asosiy ko'p olam koinoti # Software-properties tomonidan qo'shilgan

## Xatolarni tuzatishning asosiy yangilanishlari oxirgi versiyasidan keyin ishlab chiqarilgan
## tarqatish.
deb http://archive.ubuntu.com/ubuntu oneiric-updates asosiy cheklangan
deb-src http://archive.ubuntu.com/ubuntu oneiric-updates cheklangan asosiy ko'p olam koinoti # Software-properties tomonidan qo'shilgan


##jamoa. Shuni ham yodda tutingki, koinotdagi dasturiy ta'minot hech kimni EMAS
Ubuntu xavfsizlik jamoasidan ## ko'rib chiqish yoki yangilanishlar.
deb http://archive.ubuntu.com/ubuntu oneiric koinot
deb http://archive.ubuntu.com/ubuntu oneiric-updates koinot

##N.B. ushbu ombordagi dasturiy ta'minot Ubuntu tomonidan TUTAMAM QO'LLAB ETMAYDI
## jamoasi va bepul litsenziya ostida bo'lmasligi mumkin. Iltimos, o'zingizni qanoatlantiring
## dasturiy ta'minotdan foydalanish huquqlaringiz. Shuningdek, ushbu dasturiy ta'minotga e'tibor bering
## multiverse Ubuntu'dan hech qanday ko'rib chiqish yoki yangilanishlarni EMAS
## xavfsizlik jamoasi.
deb http://archive.ubuntu.com/ubuntu oneiric multiverse
deb http://archive.ubuntu.com/ubuntu oneiric-updates multiverse

##N.B. Ushbu ombordagi dasturiy ta'minot sinovdan o'tmagan bo'lishi mumkin
## keng ko'lamda asosiy versiyada mavjud bo'lsa-da, u o'z ichiga oladi
Foydali funksiyalarni taqdim etishi mumkin boʻlgan baʼzi ilovalarning ## yangiroq versiyalari.
## Shuningdek, shuni yodda tutingki, orqa portlardagi dasturiy ta'minot hech qanday ko'rib chiqishni EMAS
## yoki Ubuntu xavfsizlik jamoasidan yangilanishlar.
deb http://archive.ubuntu.com/ubuntu oneiric-backports asosiy cheklangan koinot multiverse
deb-src http://archive.ubuntu.com/ubuntu oneiric-backports asosiy cheklangan koinot multiverse #Software-properties tomonidan qo'shilgan

deb http://archive.ubuntu.com/ubuntu oneiric-security main cheklangan
deb-src http://archive.ubuntu.com/ubuntu oneiric-security cheklangan asosiy multiverse koinot #Software-properties tomonidan qo'shilgan
deb http://archive.ubuntu.com/ubuntu oneiric-security koinot
deb http://archive.ubuntu.com/ubuntu oneiric-security multiverse

## Canonical'dan dasturiy ta'minot qo'shish uchun quyidagi ikkita qatorni izohdan olib tashlang
## "sherik" ombori.
## Ushbu dastur Ubuntu'ning bir qismi emas, lekin Canonical va
## tegishli sotuvchilar Ubuntu foydalanuvchilariga xizmat sifatida.
deb http://archive.canonical.com/ubuntu oneiric hamkori
deb-src http://archive.canonical.com/ubuntu oneiric hamkori

## Ushbu dastur Ubuntu-ning bir qismi emas, lekin uchinchi tomon tomonidan taklif etiladi
O'zlarining eng so'nggi dasturlarini jo'natmoqchi bo'lgan ## ishlab chiquvchilar.
deb http://extras.ubuntu.com/ubuntu oneiric main
deb http://archive.ubuntu.com/ubuntu/ oneiric tomonidan taklif qilingan cheklangan asosiy ko'p olam koinot
deb-src http://archive.ubuntu.com/ubuntu/ oneiric tomonidan taklif qilingan cheklangan asosiy ko'p olam koinot
deb-src http://extras.ubuntu.com/ubuntu oneiric main

Deb paketli papkamizni dastur manbalariga qo'shish uchun quyidagi qatorni qo'shishimiz kerak.

deb fayli:///home/dante/deb ./

Uni faylning eng yuqori qismiga qo'shgan ma'qul, chunki tizim birinchi navbatda boshida joylashgan omborlarni so'raydi. Siz allaqachon ko'rganingizdek, men nima qildim. Sizning jildingiz yo'li boshqacha bo'lishi mumkin, faqat oxirida eslab qoling ./

Barcha omborlar qo'shildi. Buni dastur manbasida ko'rishingiz mumkin. Endi siz qilishingiz kerak bo'lgan yagona narsa paketlar ro'yxatini yangilashdir. Buni terminalda buyruq yordamida amalga oshirish mumkin:

sudo apt-get yangilanishi

Endi biz saqlangan deb paketlaridan yaratilgan dasturlarni omborimizdan o'rnatishimiz mumkin. Agar biz deb paketlarni bitta kompyuterga yuklab olib, boshqasiga o'rnatgan bo'lsak, bu juda qulay.

Korxonaning GNU/Linux tizimiga bosqichma-bosqich o'tishi infratuzilmada tegishli o'zgarishlarga ehtiyoj tug'diradi. Bugun biz mahalliy omborni yaratish orqali mijoz mashinalarini global yangilash muammosini hal qilmoqdamiz. Jarayon dastlab kelajak uchun eslatma sifatida hujjatlashtirilgan edi, shuning uchun matndagi har qanday nomuvofiqliklar uchun oldindan uzr so'rayman. Shunday qilib.
Avval siz buni qanday qilish kerakligini hal qilishingiz kerak. Internet ikkita sevimlini aniqlaydi rsync Va noto'g'ri. Men ikkinchisini kattaroq moslashuvchanligi tufayli tanladim.

1. Kalitlarni olish

Ombor oynasini yaratish uchun siz “Ubuntu Arxiv avtomatik imzolash kalitini” olishingiz kerak. " Buning uchun superuserdan terminalda quyidagilarni kiriting:
gpg --no-default-keyring --keyring trustedkeys.gpg --recv-keys 437D05B5

2. Joyni tayyorlash

Ombor uchun papka yarating:
sudo mkdir /path/to/repository
Muhim! Belgilangan yo'lda bo'sh joy mavjudligiga ishonch hosil qilish uchun muammoni hal qiling. Hatto ikkita arxitektura i386 Va amd64 uning munosib miqdorini egallaydi.

3. Paketlarni qabul qilish

Ko'zgu uch bosqichda amalga oshiriladi:
  • Noma'lum fayllarni o'chirish (variant bo'yicha o'chirilgan --tozalash quyida);
  • Indeks arxivlari ro'yxatini tuzish va mahalliy omborda mavjudligini tekshirish Yuqoridagilarni amalga oshirish uchun biz fayl yaratamiz repo_update.sh quyidagi tarkib bilan.
  • #!/bin/sh
    #Bu bizning omborimiz konfiguratsiyasi. Belgilangan parametrlarga qarab
    #bu yerda biz kerakli tarkibni olamiz.

    #Tozalash opsiyasi. Sukut bo'yicha yoqilgan. Paketlarni yuklab olgandan so'ng, avvalgilarini o'chiradi
    #versiyalari. Variantni o'chirish uchun --nocleanup parametri talab qilinadi
    toza =-- tozalash
    # Variant manbasi. Paket manba kodlarini yuklaydi. Agar foydalanmasangiz
    Ilovalarni o'rganish va o'zgartirish uchun #manba kodlari (bu odatiy
    #binary distributions) --no-source opsiyasini o'rnating
    src=--manba

    #Mezbon. Biz paketlarni oladigan server nomi.
    servername=mirror.yandex.ru

    #Ildiz. Biz tanlagan serverdagi asosiy katalog.
    rdir=/ubuntu

    #Ubuntu nashri nomi. 10.04 versiyasi uchun sozlamalar.
    release=lucid,lucid-backports,lucid-proposed,lucid-security,lucid-yangilanishlar

    #Bo'limlar.
    bo'lim=asosiy, cheklangan, koinot, ko'p olam

    #Sinxronizatsiya protokoli. Debmirror quyidagi usullarni qo'llab-quvvatlaydi: http,
    #hftp, ftp, rsync
    sync_protocol=rsync

    #Arxitektura. Agar siz faqat 32 yoki 64 bitli tizimlardan foydalansangiz.
    #Arxitekturalardan birini olib tashlash mumkin. Bundan tashqari, agar boshqa arxitekturalar ishlatilsa,
    #ularni qo'shish kerak.
    arch = i386, amd64

    #Repository joylashuvi. Yaratilgan mahalliy jildni belgilang. 2-bandda.
    path=/path/to/repository

    Debmirror --progress --verbose $clean $src --md5sums --host=$servername --root=$rdir \
    --dist=$release -s=$section --method=$sync_protocol -a=$arch $path

    Endi uni katalogga joylashtiramiz /usr/local/bin va uni bajariladigan qilib qo'ying.
    chmod +x repo_update.sh
    sudo cp repo_update.sh /usr/local/bin/

    Keyin olingan skriptni ishga tushiring va jarayon tugashini kuting. Jarayon ancha uzoq davom etadi. Amalga oshirish vaqti ko'p jihatdan Internet-kanalingizning kengligiga bog'liq.
    sudo /usr/local/bin/repo_update.sh
    Diqqat! Yuklab olish hajmi o'nlab gigabaytlardan oshadi va hukumat Interneti kamdan-kam cheksizdir. Bundan tashqari, noto'g'ri ulanish barqarorligiga sezgir, 120 soniya ishlamay qolish va hamma narsani qaytadan boshlash kerak bo'ladi.

    4. Veb-serverni sozlash

    Tambur bilan keraksiz raqslarni qilmaslik uchun biz protokolni tanlaymiz http, omborga kirishni ta'minlashning an'anaviy usuli sifatida. Veb-serverni tanlash sizniki. Sevimlilardan ngnix, apache Va lighttpd, Men u bilan tajriba yo'qligi sababli ikkinchisini tanladim (ham yoqimli, ham foydali, ha). Shunday qilib.

    Server o'rnatish.

    Sudo apt-get install lighttpd
    Bu erda hamma narsa oddiy. Agar siz undan foydalanishni rejalashtirmasangiz www sukut bo'yicha boshqa katalog bo'lsa, serverni sozlash shart emas. Buning uchun katalogda ramziy havola yaratish kifoya /var/www
    ln -s /path/to/repository /var/www/ubuntu

    Brauzerdan ombor mavjudligini tekshiramiz: http:// /ubuntu/

    5. Mijozni sozlash

    Bu erda biz kichik hiyla ishlatamiz. O'zgartirish kiritmaslik uchun /etc/apt/sources.list(siz nima bo'lishini hech qachon bilmaysiz). Faylga qo'shish /etc/hosts bir necha qator.
    www.archive.ubuntu.com
    security.ubuntu.com
    Eslatma: Agar sizda DNS server bo'lsa, unda siz bularning barchasini ro'yxatdan o'tkazishingiz mumkin va ombor serverida yuqoridagi nomlarning haqiqiy manzillarini ro'yxatdan o'tkazishingiz mumkin.

    6. Avtomatlashtirish

    Va endi eng shirin qismi. Keling, hammasini o'zimiz aylantiraylik.
    6.1 Server qismi
    3-bandda biz paketlarni olgan skript yaratdik. Demon yordamida uning avtomatik ishga tushirilishini sozlaymiz cron.
    sudo crontab -e

    Bunga biz qimmatbaho chiziqni qo'shamiz:

    0 0 * * * /usr/local/bin/repo_update.sh
    Endi har kuni soat 0:00 da bizning skriptimiz biz uchun barcha muntazam ishlarni bajaradi.

    6.2 Mijoz qismi
    Keling, mijozlarga skript yarataylik system_upd.sh katalogda /usr/local/bin quyidagi tarkib:
    #!/bin/sh
    apt-get -y update && apt-get -y upgrade && apt-get -y clean

    Uni bajariladigan qilib qo'yishni unutmaylik.
    sudo chmod +x /usr/local/bin/system_upd.sh

    Keyin ochamiz cron:
    sudo crontab -e

    Va qatorni qo'shing:
    40 17 * * * /usr/local/bin/system_upd.sh

    Endi har kuni soat 17:40 da tizim yangilanishlar uchun bizning omborimizni so'raydi va agar topilgan bo'lsa, yangilanadi.

    Diqqat! Bilan ishlaganda crontab Shuni esdan chiqarmaslik kerakki, vazifalari bo'lgan qatorlardan keyin bo'sh qator bo'lishi kerak, bu belgi bilan ko'rsatilgan " # ".
    p.s.: Men biriktirilgan tasvirlar yo'qligi uchun uzr so'rayman, lekin bu holda ularning mavjudligi shunchaki noo'rin deb o'ylayman.

    Do'stlarga ayting