Инструменты пользователя

Инструменты сайта


software:linux_server:local_or_private_repo

Это старая версия документа!


Создание локального зеркала репозитариев Linux

Предпологается что у вас установлено следующее ПО:

Проверим работу веб сервера на нашем ip адресе Если это не так… 1. Устанавливаем Apache

sudo apt install apache2

и PHP-модуль.

sudo apt update
sudo apt install php libapache2-mod-php

затем перезагрузите веб-сервер, чтобы перезапустить модуль PHP.

sudo service apache2 restart

Выполните проверку.

php -v

Переходим в папку www/html

cd /var/www/html

Смотрим что есть в директории

ls -n

удаляем файл index.html

sudo rm index.html

проверяем выполнение команды удаления

ls -n

Изменяем права папки html с root на alisa

sudo chown -R root:alisa /var/www/html
sudo chmod -R 571 /var/www/html

Создаем необходимые на наше усмотрение папки

sudo mkdir /var/www/html
sudo mkdir /var/www/html/debian
sudo mkdir /var/www/html/gcc
sudo mkdir /var/www/html/git
sudo mkdir /var/www/html/gnu
sudo mkdir /var/www/html/kde
sudo mkdir /var/www/html/lfs
sudo mkdir /var/www/html/linux_kernel
sudo mkdir /var/www/html/mariadb
sudo mkdir /var/www/html/openstreetmap
sudo mkdir /var/www/html/raspbian
sudo mkdir /var/www/html/sourceware
sudo mkdir /var/www/html/ubuntu
sudo mkdir /var/www/html/ubuntu_kernel
sudo mkdir /var/www/html/unix

и вспомогательные папки для ключей и скриптов

sudo mkdir /home/alisa/repo
sudo mkdir /home/alisa/repo/keyring
sudo mkdir /home/alisa/repo/scripts

Изменяем права папки html с root на alisa

sudo chown -R root:alisa /home/alisa/repo
sudo chmod -R 571 /home/alisa/repo
sudo apt-get update

Устанавливаем пакет debmirror

sudo apt install debmirror gnupg xz-utils

Открываем в редакторе файл /etc/apt/sources.list

sudo sensible-editor /etc/apt/sources.list

записываем в файл следующие адреса

#############################################################
########## Ubuntu 22.04 LTS (Jammy Jellyfish)  ##############
#############################################################

deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse

deb http://archive.canonical.com/ubuntu/ jammy partner
deb-src http://archive.canonical.com/ubuntu/ jammy partner

Записываем и сохраняем файл

sudo apt-get update
sudo apt-get dist-upgrade

Создадим файл скрипта зеркала Ubuntu

sudo sensible-editor /home/alisa/repo/scripts/mirror_ubuntu.sh

и вставим в скрипт следующий код

#!/bin/bash -x
/usr/bin/debmirror --source -m --passive --host=archive.ubuntu.com \
--root=ubuntu --method=http --progress \
--dist=focal,focal-security,focal-updates,focal-backports,jammy,jammy-security,jammy-updates,jammy-backports,noble,noble-security,noble-updates,noble-backports,oracular,oracular-security,oracular-updates,oracular-backports \
--ignore-release-gpg --section=main,restricted,universe,multiverse \
--arch=amd64 /var/www/html/ubuntu/

перейдем в папку скрипта и сделаем его исполнительным

cd /home/alisa/repo/scripts/
sudo chmod +x mirror_ubuntu.sh

Установим для удобства пакет screen

sudo apt install screen

Запустим наш скрипт mirror_ubuntu.sh на исполнение

sudo screen /home/alisa/repo/scripts/mirror_ubuntu.sh

Проверим в браузере работу скрипта по загрузке зеркала ubuntu

Создаём несколько папок в домашней дирректории, в которой будет храниться наш срез репозитория (или даже несколько), к примеру, согласно нижеприведенной схемы:

sudo mkdir /home/alisa/repo/kernelmirror
sudo mkdir /home/alisa/repo/kernelmirror/kernel


cd /var/www/html Настроим права доступа к нашей главной папке

sudo chown -R root:alisa /home/alisa/repo sudo chmod -R 571 /home/alisa/repo

sudo ln -s /home/alisa/repo/kernelmirror/kernel kernel

Скрипт mirrorkernel.sh Теперь создадим mirrorkernel.sh, открыв предпочитаемый вами редактор таким образом

Создайте файл «mirrorkernel.sh». Теперь создадим mirrorkernel.sh. Откройте предпочитаемый вами редактор таким образом sudo sensible-editor /home/alisa/repo/scripts/mirrorkernel.sh

зеркало lfs

rsync:rsync2.osuosl.org/lfs/
rsync:
rsync2.osuosl.org/clfs/
rsync:mirror.freedif.org/blfs/

* rsync -r –progress rsync:
rsync2.osuosl.org/lfs/ /var/www/html/lfs/

по аналогии

rsync -r --progress rsync://mirror.freedif.org/blfs/  /var/www/html/lfs/blfs/
rsync -r --progress rsync://mirror.freedif.org/clfs/  /var/www/html/lfs/clfs/

перейдем в директорию lfs/hlfs-packages и загрузим hlfs-packages

cd /var/www/html/lfs/hlfs-packages
wget --recursive --no-parent https://mirror.download.it/lfs/pub/lfs/hlfs-packages/

перейдем в директорию lfs/lfs-museum и загрузим alfs-museum

cd /var/www/html/lfs/lfs-museum
wget -r  -l 7 -nc https://linuxfromscratch.org/museum/alfs-museum/


Рабочий метод скрипта для debmirror

sudo sensible-editor /home/alisa/repo/scripts/mirror_kernel.sh

#!/bin/bash -x /usr/bin/debmirror –nosource -m –passive –host=www.kernel.org \ –root=ubuntu –method=ftp –progress \ –dist=hardy,hardy-security,hardy-updates,hardy-backports \ –ignore-release-gpg –section=main,restricted,multiverse,universe \ –arch=amd64 /home/alisa/repo/kernelmirror/kernel/

cd /home/alisa/repo/scripts/ sudo chmod +x mirror_kernel.sh

./mirror_kernel.sh

sudo screen /home/alisa/repo/scripts/mirror_kernel.sh

kernelmirror/kernel

Только авторизованные участники могут оставлять комментарии.
software/linux_server/local_or_private_repo.1740838989.txt.gz · Последнее изменение: 2025/03/01 17:23 — vladpolskiy