Это старая версия документа!
Содержание
Создание локального зеркала репозитариев 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
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/
зеркало mariadb
sudo rsync -a --partial --delete-after --delay-updates rsync.osuosl.org::mariadb /var/www/html/mariadb/
зеркало blender
rsync -r --progress rsync://mirrors.dotsrc.org/blender/ /var/www/html/floss/blender/
Рабочий метод скрипта для 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
Ubuntu Kernel
cd /var/www/html/ubuntu_kernel wget https://kernel.ubuntu.com