25
   
   
Вход
в 2 клика →
15 февраля 2023 г.
Создание локального репозитория Fedora Linux

Про­цесс со­зда­ния ло­каль­но­го ре­по­зи­то­рия пре­дель­но прост! Необ­хо­ди­мо со­здать ди­рек­то­рию, в ко­то­рой бу­дет хра­нит­ся ре­по­зи­то­рий:

# mkdir -p /usr/share/repository

Для по­лу­че­ния па­ке­тов вам необ­хо­ди­мо ис­поль­зо­вать ftp-кли­ент, на­при­мер, FileZilla

и один из сай­тов зер­ка­ли­ро­ва­ния ре­по­зи­то­рия Fedora. Адре­са зер­кал мож­но по­лу­чить на этом ре­сур­се: Fedora Public Active Mirrors.
Необ­хо­ди­мо за­гру­зить сле­ду­ю­щие пап­ки (ис­поль­зуй­те про­то­кол ftp):

  • ftp://host_name/pub/fedora/linux/releases/version/Everything/x86_64/os/Packages/
  • ftp://host_name/pub/fedora/linux/releases/version/Server/x86_64/os/Packages/
  • ftp://host_name/pub/fedora/linux/updates/version/Everything/x86_64/Packages/

за ис­клю­че­ни­ем ди­рек­то­рий debug, drpm и repodata. Где host_name – адрес хо­ста, а version – вер­сия Fedora. Все под­ди­рек­то­рии с име­на­ми a, b, c и т. п. необ­хо­ди­мо по­ме­стить в со­здан­ную ва­ми ди­рек­то­рию на ло­каль­ном ком­пью­те­ре, со­зда­вая пу­ти, как на уда­лен­ном хо­сте.

Для упро­ще­ния со­зда­ния де­ре­ва ди­рек­то­рий вос­поль­зуй­тесь сле­ду­ю­щей ко­ман­дой:

# mkdir -p /.../dir1/dir2/... 

Ско­пи­руй­те этот путь в окне ftp-кли­ен­та

Пе­рей­ди­те в эту ди­рек­то­рию:

# cd /usr/share/repository

где repository – это путь к ди­рек­то­рии Packages, на­при­мер:

./linux/releases/32/Everything/x86_64/os/Packages/

Уста­но­ви­те па­кет createrepo:

# dnf install createrepo

Вы­пол­ни­те сле­ду­ю­щую ко­ман­ду (для со­зда­ния групп па­ке­тов ис­поль­зуй­те ко­ман­ду ука­зан­ную ни­же):

# createrepo .

Ди­рек­то­рию updates необ­хо­ди­мо пе­ри­о­ди­че­ски уда­лять и за­гру­жать за­но­во. По­сколь­ку име­на па­ке­тов из­ме­ня­ют­ся, эту ко­ман­ду необ­хо­ди­мо вы­пол­нить сно­ва.

Со­здай­те файл /etc/yum.repos.d/file.repo со сле­ду­ю­щим со­дер­жи­мым:

[My_Repository]
baseurl=file:///repository
enabled=1

Где My_Repository – это имя ва­ше­го ре­по­зи­то­рия (на­при­мер, everything-x86_64), ко­то­рое вы долж­ны опре­де­лить для каж­до­го из ва­ших ре­по­зи­то­ри­ев, а repository – это путь к ди­рек­то­рии Packages. Ес­ли вы хо­ти­те отоб­ра­жать в ути­ли­тах бо­лее по­дроб­ные све­де­ния, то вы мо­же­те в этот файл до­ба­вить оп­цию name:

name=Local Fedora-32 Releases Everything x86_64

Пе­ре­ме­сти­те все фай­лы на­стро­ек (*.repo-фай­лы) в си­стем­ную ди­рек­то­рию /etc/yum.repos.d/, ис­поль­зуя кон­соль­ные ко­ман­ды или файл-ме­не­джер в ре­жи­ме поль­зо­ва­те­ля root. Очи­сти­те кэш па­ке­тов:

# dnf clean all

По­лу­чи­те спи­сок па­ке­тов:

# dnf list

Па­кет­ный ме­не­джер DNF мо­жет ра­бо­тать с груп­па­ми па­ке­тов. Для то­го, чтобы по­яви­лась та­кая воз­мож­ность и в ва­шем ло­каль­ном ре­по, необ­хо­ди­мо за­гру­зить в пап­ку с па­ке­та­ми файл

*comps*.xml

 в ко­то­ром хра­нит­ся ин­фор­ма­ция о груп­пах. Этот файл мож­но най­ти в ди­рек­то­рии repodata на уда­лен­ном сер­ве­ре. Длин­ное имя фай­ла мож­но усечь, пе­ре­име­но­вать файл в comps.xml и со­хра­нить в ди­рек­то­рии Packages. Ко­ман­ду createrepo необ­хо­ди­мо со­про­вож­дать сле­ду­ю­щи­ми клю­ча­ми:

# createrepo -p -g comps.xml .

В ди­рек­то­рии /etc/yum.repos.d/ необ­хо­ди­мо от­клю­чить все осталь­ные (не ло­каль­ные) ре­по­зи­то­рии. В каж­дом фай­ле *.repo оп­цию enabled нуж­но уста­но­вить = 0. В про­тив­ном слу­чае (при от­сут­ствии до­сту­па к се­ти), па­кет­ный ме­не­джер пре­рвет свою ра­бо­ту и вам не удаст­ся уста­но­вить фай­лы из сво­е­го ло­каль­но­го “ре­па”. Те­перь вы мо­же­те уста­нав­ли­вать па­ке­ты из ло­каль­но­го ре­по­зи­то­рия.

За­чем это нуж­но?

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

ТЕКСТ ВЗЯТ С РЕСУРСА http://inf-w.ru/?p=9229, ав­тор sakhastro

 

Поделиться в социальных сетях:

Вы должны авторизоваться, чтобы оставлять комментарии.

Комментарии ()

    Яндекс.Метрика