LXF135:deb

Материал из Linuxformat.

Перейти к: навигация, поиск
Ло­каль­ный ре­по­зи­то­рий

Содержание

Сам се­бе зер­ка­ло

Ви­та­лий Со­ро­ко рас­ска­жет, по­че­му вам мо­жет за­хо­теть­ся соз­дать ло­каль­ный Debian-ре­по­зи­то­рий, и по­ка­жет, как это сде­лать.

Ре­по­зи­то­рий — это, как из­вест­но, вещь, при­сут­ствую­щая у боль­шин­ства ди­ст­ри­бу­ти­вов Linux и пред­став­ляю­щая со­бой кол­лек­цию про­грамм, за­бот­ли­во со­б­ран­ных раз­ра­бот­чи­ка­ми в ви­де го­то­вых для уста­нов­ки па­ке­тов. Од­на­ко в неко­то­рых слу­ча­ях име­ет смысл соз­дать локаль­ный ре­по­зи­то­рий. Несмот­ря на техниче­ский про­гресс, ко­то­рый при­вел к по­яв­лению вы­со­ко­ско­ро­ст­но­го Ин­тернета, ска­чи­вание па­ке­тов из цен­траль­но­го ре­по­зи­то­рия или его зеркал не все­гда яв­ля­ет­ся наи­луч­шим ре­шением. Ес­ли у вас все­го один ком­пь­ю­тер, то соз­дание локаль­но­го ре­по­зи­то­рия бу­дет иметь сле­дую­щие пре­иму­ще­ства:

  • От­па­да­ет необ­хо­ди­мость за­но­во ска­чи­вать нуж­ные для ра­бо­ты па­ке­ты из Ин­тернета по­сле пе­реуста­нов­ки систе­мы.
  • Умень­ша­ет­ся за­ви­си­мость от про­вай­де­ра — вам бу­дут не страш­ны «про­фи­лак­ти­че­ские ра­бо­ты».
  • Обес­пе­чи­ва­ет­ся эко­но­мия ин­тернет-тра­фи­ка и про­пу­ск­ной спо­соб­но­сти ка­на­ла, что при­во­дит к уве­ли­чению ско­ро­сти ска­чи­вания, а зна­чит, и са­мо­го глав­но­го — ва­ше­го лич­но­го вре­мени.

Техника и фи­нан­сы

В прин­ци­пе, при соз­дании локаль­но­го ре­по­зи­то­рия мож­но обой­тись и одним ком­пь­ю­те­ром, ис­поль­зуе­мым в ка­че­стве ра­бо­чей стан­ции, про­сто доуста­но­вив недостаю­щие ком­понен­ты. Пре­иму­ще­ства это­го под­хо­да оче­вид­ны: вам не нуж­но тра­тить­ся на по­куп­ку до­полнитель­но­го обо­ру­до­вания (сер­ве­ра и се­те­вых ком­понен­тов), внедрение и об­слу­жи­вание, а так­же на до­полнитель­ный рас­ход элек­тро­энер­гии. Но недостат­ки у него так­же при­сут­ству­ют – су­ще­ствен­но снижа­ет­ся про­из­во­ди­тель­ность «сер­ве­ра»; и ес­ли при ис­поль­зо­вании ре­по­зи­то­рия толь­ко для соб­ствен­ных нужд это не слиш­ком за­мет­но, то в локаль­ной се­ти в мо­мен­ты пи­ко­вой на­груз­ки вы не смо­же­те нор­маль­но ра­бо­тать за та­ким ком­пь­ю­те­ром. Да и от­ка­зоустой­чи­вость по­доб­ной систе­мы до­воль­но низ­кая, поскольку, сде­лав что-нибудь не так, вы рискуе­те вме­сте с систе­мой по­те­рять и ре­по­зи­то­рий, что сво­дит на нет до­б­рую по­ло­ви­ну пре­иму­ществ от его соз­дания (см. вы­ше). По­это­му мы пой­дем по дру­го­му пу­ти: вы­де­лим для хранения ре­по­зи­то­рия от­дель­ный ком­пь­ю­тер.

Что­бы соз­дать локаль­ный ре­по­зи­то­рий у се­бя до­ма или в офи­се, со­вер­шен­но не обя­за­тель­но по­ку­пать до­ро­го­стоя­щий сер­вер кор­по­ра­тив­но­го уров­ня с несколь­ки­ми про­цес­со­ра­ми и же­ст­ки­ми диска­ми, объ­е­динен­ны­ми в RAID-мас­сив. Бу­дет вполне доста­точ­но ком­пь­ю­те­ра клас­са Pentium, с ОЗУ 128 МБ и се­те­вой кар­той на 100 Мбит. Од­на­ко необ­хо­ди­мо иметь в ви­ду, что на та­кой ком­пь­ю­тер при­дет­ся уста­но­вить же­ст­кий диск боль­шо­го объ­е­ма, так как од­но толь­ко зерка­ло ре­по­зи­то­рия Ubuntu 9.04 (Jaunty) со все­ми па­ке­та­ми зай­мёт око­ло 60 ГБ, а вме­сте с Lucid Lynx мо­жет за­нять око­ло 130–140 ГБ. Не все ста­рые ма­те­рин­ские пла­ты мо­гут кор­рект­но ра­бо­тать со внут­ренними же­ст­ки­ми диска­ми та­ко­го объ­е­ма. Непло­хим вы­хо­дом в этом слу­чае бу­дет по­куп­ка со­вмести­мо­го с опе­ра­ци­он­ной систе­мой кон­трол­ле­ра USB 2.0 или FireWire и внешнего же­ст­ко­го диска под этот порт. А ес­ли у вас уже есть внут­ренний же­ст­кий диск нуж­но­го объ­е­ма, мож­но про­сто до­ку­пить для него внешний бокс.

Рис. 1 Рис. 1. До­маш­ний сер­вер с ло­каль­ным ре­по­зи­то­ри­ем внут­ри.

Кро­ме то­го, ис­поль­зо­вание внешнего же­ст­ко­го диска да­ет ряд до­полнитель­ных пре­иму­ществ: при необ­хо­ди­мо­сти мож­но бу­дет за­ка­чи­вать па­ке­ты для зерка­ла с дру­го­го ком­пь­ю­те­ра; уп­ро­ща­ет­ся соз­дание ре­зерв­ных ко­пий и за­ме­на сер­ве­ра или же­ст­ко­го диска в слу­чае по­лом­ки. Лич­но я ис­поль­зую в ка­че­стве сер­ве­ра ком­пь­ю­тер со сле­дую­щей кон­фи­гу­ра­ци­ей (рис. 1): про­цес­сор Celeron-700, ОЗУ 192 МБ, ги­га­бит­ная се­те­вая кар­та, noname-кон­трол­лер USB на чи­пе VIA VT6212L, встро­ен­ная ви­део­кар­та на 8 МБ, внут­ренний же­ст­кий диск на 2,1 ГБ, внешний LaCie на 500 ГБ (основ­ной) и Samsung STORY STATION 1 ТБ (ре­зерв­ный). Та­кой сер­вер вме­сте с внешним же­ст­ким диском и монито­ром обо­шел­ся мне при­мер­но в $100.

Од­на­ко этот путь сто­ит по­вто­рять толь­ко при недостат­ке денеж­ных средств, так как сей­час в про­да­же поя­ви­лись нет­то­пы на ба­зе Intel Atom. Ком­пь­ю­тер, ис­поль­зую­щий двухъ­ядер­ный чип Atom 330 или D510, поч­ти бес­шу­мен и, при том, что бы­ст­рее в несколь­ко раз, по­треб­ля­ет при­мер­но на 50 % мень­ше элек­тро­энер­гии. В об­щем, нет­то­пы, на мой взгляд, для на­ших це­лей под­хо­дят как нель­зя луч­ше – осо­бен­но ес­ли учесть, что це­на та­ких уст­ройств обыч­но менее $300. Еще один воз­мож­ный ва­ри­ант – «ком­пь­ю­те­ры-вил­ки», вро­де SheevaPlug/GuruPlug (LXF126–127): с достав­кой в Россию они обой­дут­ся при­мер­но в $ 150–$200, же­ст­кий диск при­дет­ся до­ку­пить до­полнитель­но. Ну, а ес­ли вы со­би­рае­тесь ис­поль­зо­вать ре­по­зи­то­рий для боль­шо­го ко­ли­че­ства ком­пь­ю­те­ров (свы­ше 100), име­ет смысл за­ду­мать­ся о по­куп­ке на­чаль­но­го од­но­про­цес­сор­но­го сер­ве­ра на ба­зе Intel Xeon, ко­то­рый обыч­но сто­ит $ 800–1200, или, в крайнем слу­чае, обыч­но­го ком­пь­ю­те­ра с двухъ­я­дер­ным или че­ты­рехъ­я­дер­ным про­цес­со­ром. В по­следнем слу­чае важ­но пра­виль­но вы­брать кор­пус – луч­ше все­го от­дать пред­поч­тение мо­де­лям, у ко­то­рых внут­ри име­ет­ся боль­шое ко­ли­че­ство от­се­ков 3,5 дюй­ма и блок пи­тания мощ­но­стью не менее 450 Вт, так как это по­мо­жет из­бе­жать про­блем в дальней­шем, а так­же по­зво­лит с лег­ко­стью мо­дернизи­ро­вать этот ком­пь­ю­тер на слу­чай, ес­ли вы со­бе­ре­тесь ис­поль­зо­вать его для дру­гих за­дач, вро­де хранения фай­лов (в ро­ли файл-сер­ве­ра). Та­кие мо­де­ли кор­пу­сов вы­пуска­ют мно­гие про­из­во­ди­те­ли, на­при­мер, Modecom (рис. 2).

Рис. 2 Рис. 2. В кор­пус Modecom Platinum мож­но ус­та­но­вить бо­лее 9 же­ст­ких дис­ков.

Про­грамм­ная на­чин­ка

В пер­вую оче­редь вам, конеч­но, по­на­до­бит­ся опе­ра­ци­он­ная систе­ма. Я ис­поль­зую для этих це­лей Ubuntu Server 9.04. По­до­шел бы и лю­бой дру­гой ди­ст­ри­бу­тив на ба­зе Debian (раз уж мы соз­да­ем ре­по­зи­то­рий для это­го се­мей­ства); для Fedora/Red Hat ре­ко­мен­ду­ем CentOS; для SUSE – openSUSE, и так да­лее. Ра­зу­ме­ет­ся, в слу­чае систем, от­лич­ных от Debian, ин­ст­ру­мен­ты так­же по­тре­бу­ют­ся дру­гие; но это те­ма для от­дель­ной ста­тьи. Далее, в за­ви­си­мо­сти от це­лей соз­дания ре­по­зи­то­рия, вам по­на­до­бят­ся ути­ли­ты apt-move (пред­на­зна­че­на для соз­дания частич­но­го ре­по­зи­то­рия из уже ска­чан­ных па­ке­тов) или apt-mirror (для соз­дания пол­но­го зерка­ла ре­по­зи­то­рия). В по­следнем слу­чае мож­но так­же восполь­зо­вать­ся ути­ли­той debmirror, ко­то­рая в це­лом по функ­ци­ям ана­ло­гич­на apt-mirror, но в от­ли­чие от по­следней не тре­бу­ет ре­дак­ти­ро­вания кон­фи­гу­ра­ци­он­но­го фай­ла – все необ­хо­ди­мые па­ра­мет­ры за­да­ют­ся пря­мо из команд­ной стро­ки. В об­щем, как и все­гда, мир сво­бод­но­го ПО по­лон аль­тер­на­тив, так что вы­би­рай­те то, что вам удобнее.

Пер­вым из ин­ст­ру­мен­тов мы рас­смот­рим ути­ли­ту apt-move. Она пред­на­зна­че­на для из­вле­чения из кэ­ша уже уста­нов­лен­ных па­ке­тов и по­сле­дую­ще­го соз­дания ре­по­зи­то­рия на их осно­ве. Это по­лез­но в том слу­чае, ес­ли вы хо­ти­те со­хранить уже ска­чан­ные и уста­нов­лен­ные па­ке­ты пе­ред пе­реуста­нов­кой систе­мы. Уста­нав­ли­ва­ет­ся apt-move с по­мо­щью коман­ды sudo apt-get install apt-move. Для на­строй­ки apt-move необ­хо­ди­мо от­ре­дак­ти­ро­вать кон­фи­гу­ра­ци­он­ный файл, ко­то­рый на­хо­дит­ся по ад­ре­су /etc/apt-move.conf. Для это­го мож­но восполь­зо­вать­ся кон­соль­ным тек­сто­вым ре­дак­то­ром Nano, вве­дя коман­ду sudo nano /etc/apt-move.conf. По­сле уста­нов­ки этот файл уже со­дер­жит па­ра­мет­ры, по­это­му от вас, ве­ро­ят­но, по­тре­бу­ет­ся лишь за­дать нуж­ный путь хранения ре­по­зи­то­рия (пе­ре­мен­ная LOCALDIR) и из­менить дру­гие на­строй­ки по умол­чанию. Для боль­шей на­гляд­но­сти при­ве­дем листинг фай­ла apt-move.conf:

APTSITES=”/all/”
LOCALDIR=/media/LaCie/ubuntu
DIST=stable
PKGTYPE=both
FILECACHE=/var/cache/apt/archives
LISTSTATE=/var/lib/apt/lists
DELETE=no
MAXDELETE=20
COPYONLY=yes
PKGCOMP=gzip
CONTENTS=yes 
GPGKEY=

Как ви­ди­те, па­ра­мет­ров не так уж и мно­го, по­это­му вкрат­це рас­смот­рим боль­шую часть из них.

  • APTSITES Отбирает сай­ты из /etc/apt/sources.list, па­ке­ты с ко­то­рых долж­ны по­пасть в локаль­ный ре­по­зи­то­рий (по умол­чанию – все сай­ты).
  • PKGTYPE Тип пакетов (binary или source; по умол­чанию пе­ре­но­сят­ся оба ти­па).
  • FILECACHE Путь к кэ­шу apt.
  • LISTCACHE Путь к спи­ску и опи­санию па­ке­тов, на­хо­дя­щих­ся в кэ­ше apt.
  • DELETE Указывает на необ­хо­ди­мость очи­ст­ки ре­по­зи­то­рия от став­ших ненуж­ны­ми па­ке­тов.
  • COPYONLY Оп­ре­де­ля­ет, бу­дет ли про­из­во­дить­ся очи­ст­ка локаль­но­го кэ­ша по­сле пе­ре­но­са па­ке­тов в локаль­ный ре­по­зи­то­рий.
  • CONTENTS Ука­зы­ва­ет на необ­хо­ди­мость соз­дания ар­хи­вов со спи­ском со­дер­жи­мо­го под­раз­де­лов локаль­но­го ре­по­-зи­то­рия.

Под­робнее об осталь­ных па­ра­мет­рах вы мо­же­те уз­нать, про­чи­тав страницу ру­ко­во­дства по дан­ной ути­ли­те, на­брав в кон­со­ли коман­ду man apt-move.

Зерка­ли­ро­вание

В от­ли­чие от вы­ше­опи­сан­но­го спо­со­ба, соз­дание локаль­но­го «зерка­ла» на ба­зе цен­траль­но­го ре­по­зи­то­рия по­зво­лит вам удов­ле­тво­рить по­треб­но­сти неог­раничен­но­го чис­ла кли­ент­ских ком­пь­ю­те­ров, что осо­бен­но по­лез­но в кор­по­ра­тив­ной сре­де, а так­же ес­ли у вас боль­шая се­мья и у ка­ж­до­го есть ком­пь­ю­тер с уста­нов­лен­ным Ubuntu или Debian Linux. В об­щем слу­чае, соз­дание локаль­но­го ре­по­зи­то­рия на ба­зе цен­траль­но­го осу­ще­ств­ля­ет­ся по сле­дую­ще­му ал­го­рит­му:

  1. Вы­бор ути­ли­ты для зерка­ли­ро­вания (apt-mirror или debmirror).
  2. Вы­бор сер­ве­ра, со­дер­жа­ще­го ба­зо­вый ре­по­зи­то­рий.
  3. Вы­бор ар­хи­тек­ту­ры (i386, amd64 или обе).
  4. Вы­бор нуж­ных для зерка­ли­ро­вания раз­де­лов ре­по­зи­то­рия (main, multiverse, universe и т. д.).
  5. Вы­бор до­полнитель­ных па­ра­мет­ров.
  6. Вы­бор пу­ти для хранения ре­по­зи­то­рия.

Что­бы вы не за­пу­та­лись, я сра­зу ого­во­рю основ­ные па­ра­мет­ры соз­да­вае­мо­го да­лее локаль­но­го ре­по­зи­то­рия (на при­ме­ре ути­лит apt-mirror и debmirror). Итак, мы бу­дем соз­да­вать локаль­ный ре­по­зи­то­рий для Ubuntu 10.04 с ар­хи­тек­ту­рой i386, со­дер­жа­щий под­раз­де­лы main, multiverse, universe и restricted, а так­же ар­хи­вы со спи­ском со­дер­жи­мо­го этих под­раз­де­лов. В ка­че­стве ба­зо­во­го ре­по­зи­то­рия у ме­ня бу­дет вы­сту­пать ре­по­зи­то­рий, на­хо­дя­щий­ся в ин­тернете по ад­ре­су http://ftp.byfly.by (этот неофи­ци­аль­ный ре­по­зи­то­рий на­хо­дит­ся на сер­ве­ре мое­го ин­тернет-про­вай­де­ра – вы, конеч­но, возь­ме­те что-то свое). Соз­да­вае­мый локаль­ный ре­по­зи­то­рий бу­дет хранит­ся на внешнем же­ст­ком диске LaCie, и путь для хранения бу­дет /media/LaCie/ubuntu/. С це­лью эко­но­мии диско­во­го про­стран­ства па­ке­ты, со­дер­жа­щие ис­ход­ный код, не за­гру­жают­ся, а в кон­це ка­ж­до­го об­нов­ления со­от­вет­ствую­щие ути­ли­ты про­ве­дут очи­ст­ку от ненуж­но­го (уста­рев­ше­го) со­дер­жи­мо­го.

Для уста­нов­ки debmirror на­бе­ри­те sudo apt-get install debmirror, а за­пуск с основ­ны­ми па­ра­мет­ра­ми име­ет сле­дую­щий вид:

sudo debmirror --nosource --passive --host=ftp.byfly.by
--root=ubuntu/ --method=http --progress --dist=lucid --section
=main,restricted,multiverse,universe --arch=i386 /media/LaCie/
ubuntu/ --getcontents --ignore-release-gpg

Рис. 3 Рис. 3. Про­смотр ло­каль­но­го ре­по­зи­то­рия в ок­не web-брау­зе­ра Firefox (Xubuntu).

По­ясним на­зна­чение основ­ных оп­ций (па­ра­мет­ров) debmirror.

  • --nosource Не за­ка­чи­вать па­ке­ты с ис­ход­ным ко­дом (эко­но­мит ме­сто на диске).
  • --passive Пас­сив­ный ре­жим ска­чи­вания.
  • --host URL ре­по­зи­то­рия.
  • --root Путь к ре­по­зи­то­рию на сай­те (под­ка­та­лог, со­дер­жа­щий ре­по­зи­то­рий).
  • --method Ме­тод ска­чи­вания (http, ftp, hftp, rsync).
  • --progress Ото­бра­жение со­стояния ска­чи­вания.
  • --dist Вер­сия ди­ст­ри­бу­ти­ва ОС (jaunty, karmic, lucid, …).
  • --section Под­раз­дел ре­по­зи­то­рия с па­ке­та­ми (main, multiverse, universe, …).
  • --arch Ар­хи­тек­ту­ра ва­ше­го ком­пь­ю­те­ра (i386, amd64).
  • --getcontents Со­хра­нять ар­хи­вы с со­дер­жи­мым (в неко­то­рых слу­ча­ях необ­хо­ди­мо для со­вмести­мо­сти).
  • --ignore-release-gpg Иг­но­ри­ро­вать от­сут­ствие циф­ро­вой подпи­си (по­лез­но при ска­чи­вании с неко­то­рых ин­тернет-зеркал офи­ци­аль­но­го ре­по­зи­то­рия, хо­тя и менее безо­пас­но).
  • --cleanup При­ну­ди­тель­ная очи­ст­ка ка­та­ло­гов ре­по­зи­то­рия от неиз­вест­но­го со­дер­жи­мо­го (неиз­вест­ных па­ке­тов) – в от­ли­чие от очи­ст­ки по умол­чанию, про­из­во­дит­ся в лю­бом слу­чае.

О дру­гих па­ра­мет­рах вы мо­же­те уз­нать из справ­ки, вве­дя коман­ду man debmirror; ну, а мы пе­рей­дем к рас­смот­рению ана­ло­га debmirror – ути­ли­те apt-mirror. В це­лом, ис­поль­зо­вание дан­ной ути­ли­ты ана­ло­гич­но рас­смот­рен­ной вы­ше apt-move; разница толь­ко в ме­сто­на­хо­ж­дении (/etc/apt/mirror.list) и со­дер­жи­мом кон­фи­гу­ра­ци­он­но­го фай­ла. Уста­нав­ли­ва­ет­ся apt-mirror стан­дарт­ной коман­дой sudo apt-get install apt-mirror. Для ре­дак­ти­ро­вания кон­фи­гу­ра­ци­он­но­го фай­ла, как и в пре­ды­ду­щем слу­чае, восполь­зу­ем­ся тек­сто­вым ре­дак­то­ром Nano (sudo nano /etc/apt/mirror.list).

Вам по­тре­бу­ет­ся за­дать нуж­ный путь хранения ре­по­зи­то­рия (пе­ре­мен­ная set base_path) и web-ад­рес зерка­ла, а так­же до­полнитель­ные па­ра­мет­ры. Для дости­жения ре­зуль­та­та, ана­ло­гич­но­го по­лу­чен­но­му вы­ше с по­мо­щью ути­ли­ты debmirror, конфигурационный apt-mirror файл дол­жен вы­гля­деть сле­дую­щим об­ра­зом:

Рис. 4 Рис. 4. 1045 Кб/c — и ни­ка­кой на­груз­ки на интернет-канал.

set base_path /media/LaCie
set mirror_path $base_path/ubuntu
set skel_path $base_path/skel
set var_path $base_path/var
set cleanscript $var_path/clean.sh
set defaultarch i386
set nthreads 1
set _tilde 	 0
deb http://ftp.byfly.by/ubuntu lucid main restricted universe multiverse

Об­ра­ти­те внимание на то, что apt-mirror, в от­ли­чие от ути­ли­ты debmirror, не осу­ще­ств­ля­ет ав­то­ма­ти­че­скую очи­ст­ку ре­по­зи­то­рия по­сле окон­чания про­цес­са ска­чи­вания. Вме­сто это­го вам при­дет­ся вруч­ную за­пустить скрипт clean.sh. О его ме­сто­на­хо­ж­дении и син­так­си­се коман­ды для за­пуска apt-mirror непре­мен­но со­об­щит пе­ред окон­чанием сво­ей ра­бо­ты. Кро­ме то­го, пе­ре­мен­ная nthreads по­зво­ля­ет за­дать ко­ли­че­ство по­то­ков для ска­чи­вания, что в неко­то­рых слу­ча­ях очень по­лез­но и по­зво­ля­ет из­бе­жать про­блем, а так­же оп­ти­ми­зи­ро­вать ско­рость за­груз­ки и на­груз­ку на интернет-соединение. И еще од­но важ­ное от­ли­чие па­ке­та debmirror от apt-mirror – пер­вый обыч­но со­хра­ня­ет ре­по­зи­то­рий в стро­го оп­ре­де­лен­ном месте, ниче­гоне до­бав­ляя при этом к ука­зан­но­му пу­ти; apt-mirror же ско­рее все­го до­ба­вит имя сай­та, с ко­то­ро­го был ска­чан ре­по­зи­то­рий. Я неспро­ста сей­час от­ме­тил эту де­таль. Она бу­дет очень важ­на на на­шем сле­дую­щем эта­пе – пре­достав­лении досту­па к соз­дан­но­му ва­ми локаль­но­му ре­по­зи­то­рию по се­ти.

Доступ по се­ти

Че­рез неко­то­рое вре­мя ра­бо­ты, про­цесс ска­чи­вания па­ке­тов и фор­ми­ро­вания струк­ту­ры локаль­но­го ре­по­зи­то­рия бу­дет за­вер­шен, и ути­ли­та debmirror или apt-mirror, как я на­де­юсь, со­об­щит о его успеш­ном соз­дании. По­сле то­го как локаль­ный ре­по­зи­то­рий бу­дет соз­дан, вам необ­хо­ди­мо бу­дет пре­доста­вить к нему доступ – как систе­ме с ва­ше­го ком­пь­ю­те­ра, так и всем осталь­ным. Наи­луч­шим спо­со­бом достичь это­го, на мой взгляд, яв­ля­ет­ся уста­нов­ка и ис­поль­зо­вание web-сер­ве­ра Apache, так как с его по­мо­щью про­ще все­го ор­ганизо­вать доступ к ре­по­зи­то­рию и рас­пре­де­лить на­груз­ку на сер­вер и се­те­вой ка­нал. Есте­ствен­но, пер­вым де­лом его нуж­но уста­но­вить, коман­дой sudo apt-get install apache2. За­тем необ­хо­ди­мо соз­дать Alias для ка­та­ло­га, в ко­то­ром со­дер­жит­ся локаль­ный ре­по­зи­то­рий, и раз­ре­шить его про­смотр. Для это­го необ­хо­ди­мо от­крыть (мож­но опять с по­мо­щью тек­сто­во­го ре­дак­то­ра Nano) кон­фи­гу­ра­ци­он­ный файл, на­хо­дя­щий­ся в /etc/apache2/sites-enabled/@000‑default, и до­ба­вить в него сле­дую­щие стро­ки:

Alias /ubuntu/ /media/LaCie/ubuntu/ftp.byfly.by/ubuntu/
<Directory “/media/LaCie/ubuntu/ftp.byfly.by/ubuntu/”>
 AllowOverride None
 Options +MultiViews +Indexes
 Order allow, deny
 Allow from all 	
</Directory>

Здесь /media/LaCie/ubuntu/ftp.byfly.by/ubuntu/ – путь к со­дер­жи­мо­му локаль­но­го ре­по­зи­то­рия, ко­то­рый в ва­шем слу­чае, ско­рее все­го, бу­дет называться иначе. За­тем необ­хо­ди­мо пе­ре­за­гру­зить web-сер­вер коман­дой

sudo /etc/init.d/apache2 restart

На вся­кий слу­чай на­пом­ню, что для раз­ре­шения воз­мож­но­сти про­смот­ра со­дер­жи­мо­го в web-сер­ве­ре Apache, це­ле­вой ка­та­лог дол­жен иметь со­от­вет­ствую­щие пра­ва (как минимум, на про­смотр и по­иск). По­сле это­го мож­но про­ве­рить ре­зуль­тат, вве­дя в web-брау­зе­ре (рис. 3) ад­рес ре­по­зи­то­рия, ко­то­рый со­сто­ит из IP или сим­воль­но­го ад­ре­са сер­ве­ра и пу­ти /ubuntu/. В мо­ем слу­чае это http://192.168.1.199/ubuntu/.

По­сле это­го, в слу­чае успе­ха, мож­но сме­ло на­страи­вать менед­жер па­ке­тов на соз­дан­ный локаль­ный ре­по­зи­то­рий. Для это­го необ­хо­ди­мо до­ба­вить его в спи­сок, на­хо­дя­щий­ся в фай­ле /etc/apt/sources.list. В прин­ци­пе, это мож­но сде­лать с по­мо­щью гра­фи­че­ских ин­ст­ру­мен­тов, но наи­бо­лее про­стым и бы­ст­рым спо­со­бом, на мой взгляд, все же яв­ля­ет­ся ре­дак­ти­ро­вание фай­ла sources.list с по­мо­щью тек­сто­во­го ре­дак­то­ра. В за­ви­си­мо­сти от ис­поль­зуе­мой систе­мы это мо­жет быть Gedit (Ubuntu) – sudo gedit /etc/apt/sources.list; Kate (Kubuntu) – sudo kate /etc/apt/sources.list; Mousepad (Xubuntu) – sudo mousepad /etc/apt/sources.list; Nano (Ubuntu Server и др.) – sudo nano /etc/apt/sources.list.

Поскольку весь смысл соз­дания локаль­но­го ре­по­зи­то­рия сво­дит­ся к то­му, что­бы кли­ент­ские ма­ши­ны не ска­чи­ва­ли па­ке­ты из цен­траль­но­го ре­по­зи­то­рия в Ин­тернете, то от вас по­тре­бу­ет­ся за­менить URL нуж­но­го ре­по­зи­то­рия на ад­рес ва­ше­го сер­ве­ра.

Так, в на­шем слу­чае по­сле мо­ди­фи­ка­ции со­от­вет­ствую­щие стро­ки в фай­ле /etc/apt/sources.list при­мут сле­дую­щий вид:

deb http://192.168.1.199/ubuntu/ lucid main restricted
deb http://192.168.1.199/ubuntu/ lucid universe
deb http://192.168.1.199/ubuntu/ lucid multiverse

По­сле это­го необ­хо­ди­мо об­но­вить кэш apt с по­мо­щью коман­ды sudo apt-get update ли­бо ис­поль­зуя менед­жер па­ке­тов. Ну и, на вся­кий слу­чай, для на­деж­но­сти, мож­но про­ве­рить ра­бо­ту локаль­но­го ре­по­зи­то­рия, уста­но­вив от­ту­да что-нибудь че­рез стан­дарт­ный менед­жер па­ке­тов; на­при­мер, в Ubuntu и Xubuntu та­ко­вым яв­ля­ет­ся Synaptic (рис. 4).

Поль­зу­ясь слу­ча­ем, хо­чу на­пом­нить, что бу­дет со­всем не лиш­ним по­ча­ще об­нов­лять ло­каль­ный ре­по­зи­то­рий и де­лать его ре­зерв­ные ко­пии. На этом, по­жа­луй, и за­кон­чим – и уда­чи вам в ра­бо­те со сво­бод­ным про­грамм­ным обес­пе­че­ни­ем!

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию