Как сделать срез репозитория
Локальный репозиторий в Ubuntu
Если вы системный администратор, то вам нужно часто устанавливать новый софт, обновления безопасности и другие патчи в ваших системах. Если бы компьютер был один, то это бы не вызвало проблем, но обычно в организации несколько компьютеров и всем им нужны обновления. Это может снизить пропускную способность сети. В каждой системе приложения будут скачиваться и устанавливаться непосредственно из репозиториев Ubuntu.
Настройка локального репозитория Ubuntu
Мы будем использовать утилиту apt-mirror. Скачаем все пакеты из публичного репозитория на жесткий диск сервера Ubuntu.
Шаг 1. Установка Apache
Сначала нужно установить веб-сервер Apache. Он необходим для распространения пакетов по локальной сети:
sudo apt install apache2
Затем запустите его и добавьте в автозагрузку:
sudo systemctl start apache2
sudo systemctl enable apache2
Шаг 2. Настройка директории репозитория
Файлы репозитория будем хранить в папке /var/www/html чтобы не настраивать Apache для другой папки. Если на этом сервере будет только репозиторий, то это вполне допустимо. Создаём папку /var/www/html/ubuntu и даём на неё права веб-серверу:
Шаг 3. Установка apt-mirror
Теперь установите apt-mirror:
sudo apt install apt-mirror
Шаг 4. Настройка apt-mirror
Теперь откройте файл /etc/apt/mirror.list и добавьте следующую строчку:
sudo vi /etc/apt/mirror.list
set base_path /var/www/html/ubuntu
Шаг 5. Настройка репозиториев для загрузки
В этом же конфигурационном файле надо указать репозитории, которые хотите использовать, мы будем использовать стандартные, но вы можете добавить и PPA. Если вы хотите использовать обе архитектуры и x64 и x32, репозитории для них нужно указать в файле отдельно. Например, для x32 строчка будет начинаться с deb-i386 а для х64: deb-amd64 или просто deb.
По умолчанию в файле настроены репозитории для редакции Ubuntu auful, в этом примере мы загрузим репозитории для Ubuntu 20.04. Закомментируйте все репозитории в файле и добавьте вместо них один:
sudo vi /etc/apt/mirror.list
deb http://ua.archive.ubuntu.com/ubuntu/ focal main restricted
Шаг 6. Загрузка пакетов
Когда завершите с настройкой запустите загрузку пакетов командой:
В терминал будет выведено что-то вроде:
Сейчас все пакеты из публичного репозитория Ubuntu загружаются и сохраняются в локальной папке. В нашем случае в папке /var/localrepo. В зависимости от вашей скорости интернет это может занять несколько часов. Отменить загрузку можно в любое время, когда вы ее возобновите она продолжится там, где вы ее прервали.
Шаг 7. Настройка Cron
Не нужно вручную запускать эту команду каждый день для обновления репозитория, можно запланировать задание Cron. Для этого раскоментируйте следующую строчку в файле /etc/cron.d/apt-mirror:
sudo vi /etc/cron.d/apt-mirror
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
В этом примере Cron будет запускать обновление пакетов в четыре утра каждый день.
Шаг 8. Копирование скрипта
Перед тем, как всё будет готово, надо в наш репозиторий важный скрипт из папки /var/spool/apt-mirror:
sudo cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/ubuntu/var/
Шаг 9. Конфигурация клиентов
Настройка на клиентской машине не вызовет никаких трудностей. Просто откройте файл /etc/apt/sources.list и добавьте свой локальный репозиторий, так же как вы добавляли удаленный, только используйте ваш ip адрес вашей машины:
sudo vi /etc/apt/sources.list
deb http://192.168.1.102/ubuntu focal main
Для установки программы достаточно выполнить стандартную команду:
sudo apt install package-name
Настройка apt-mirror ubuntu завершена. Теперь клиентам не нужно подключение к интернету для загрузки пакетов. Они будут получать все пакеты и обновления с локального репозитория Ubuntu.
Выводы
Вот и все. Эта технология будет очень полезной системным администраторам, а также обычным пользователям, у которых слабый интернет. Если у вас остались вопросы, спрашивайте в комментариях!
Репозитории и обновления
Управление репозиториями
Естественно, для внесения каких-либо изменений, вам понадобятся права суперпользователя, о чем система незамедлительно сообщит вам.
Вкладка «Другое ПО», позволяет управлять репозиториями партнеров Canonical и независимых разработчиков. Тут же можно подключить любой сторонний репозиторий, а также, подключиться к репозиторию на СД-диске 4) :
Давайте, в качестве примера, добавим один полезный репозиторий. Но, сначала, немного теории:
PPA на Launchpad
Политика Canonical такова, что в стандартных репозиториях содержаться только стабильные версии программ, выпущенные на момент выхода в свет дистрибутива. В дальнейшем в репозитории добавляются только обновления безопасности, не изменяющие версии установленных программ. Кроме того, добавить разработчику свою программу в стандартные репозитории не просто.
Всё это не очень удобно, поскольку не позволяет создателем программ напрямую публиковать через механизм репозиториев последние версии своих творений. К счастью, существует возможность создания своего собственного репозитория и публикации пакетов в нём, и этой возможностью многие разработчики пользуются.
Итак, каждый автор программного обеспечения может легко разместить свой собственный PPA на Launchpad. Собственно, нас интересует использование этих архивов пакетов, и вот тут есть пара очень полезных для конечного пользователя вещей.
Для начала нужно разобраться с тем, как найти на Launchpad страницу с описанием нужного репозитория. Сделать это достаточно просто, нужно всего лишь воспользоваться поиском по этому сайту, располагающимся на главной странице в правом верхнем углу. Например:
Первой строчкой в результатах поиска в данном случае будет страница проекта на Launchpad:
Нам на неё-то как раз и надо. В самом низу страницы можно обнаружить ссылку на страничку с PPA, вот эта ссылка: https://launchpad.net/
В ней написано, что вам всего лишь достаточно добавить в список строку ppa:tualatrix/ppa. Но как же всё то, что мы узнали в предыдущей статье про APT-строки и ключи?
Дело в том, что в Ubuntu встроен специальный механизм простого добавления в систему репозиториев с Launchpad. После добавления строки ppa:tualatrix/ppa к вашим источникам приложений система автоматически преобразует её в APT-строку и скачает нужный ключ. Просто введите PPA строку вместо APT в окно добавления репозиториев:
Однако если вы хотите всё сделать вручную, то обратите внимание на ссылку «Technical details about this PPA» под описанием PPA, нажав на неё вы увидите техническое описание репозитория:
Вот так всё просто. Советую разобраться с интерфейсом Launchpad, а также зарегистрироваться на нем, поскольку это, ко всему прочему, основной ресурс разработки, переводов и тестирования Ubuntu. Ну и напоследок хочется заметить, что добавлять PPA с Launchpad можно так же легко и через терминал, для этого достаточно набрать:
Например, для добавления репозитория Ubuntu Tweak:
Кстати, мы не зря рассматривали работу с Launchpad на примере добавления PPA для Ubuntu Tweak. Это программа является достаточно неплохим настройщиком Ubuntu, позволяющим выполнять различные полезные функции. В частности, она позволяет подключать многие популярные репозитории всего одним кликом мыши. Подробней про неё можно почитать на нашей вики http://help.ubuntu.ru.
Управление обновлениями
Продолжим рассмотрение утилиты «Программы и обновления». Третья вкладка, как следует из ее названия «Обновления», предназначена для управления обновлениями вашей системы:
Чуть ниже, вы можете настроить:
Если во втором пункте вы не выбрали автоматическую установку, то, при обнаружении обновлений будет запускаться менеджер обновлений и предлагать вам установить обновления:
Нажав на треугольничек рядом с «сведения об обновлениях», можно посмотреть какие именно пакеты будут обновляться и каков их размер:
Если вы по каким-либо причинам не хотите обновлять какие-то пакеты, просто, снимите «галочки» напротив них.
Другие инструменты работы с обновлениями
При нажатии на «Обновить» будут скачаны все изменившиеся с последней проверки индексы репозиториев, таким образом, будет проверено наличие новых обновлений. При нажатии на «Отметить для обновления» будут отмечены для обновления все пакеты, для которых доступны новые версии. Помните, что Synaptic применяет все изменения не сразу? Поэтому для фактического запуска процесса обновления нужно будет нажать на кнопку «Применить».
Кроме того, как всегда всё можно сделать через терминал. Для обновления индексов репозиториев используйте команду:
А для непосредственной установки всех доступных обновлений команду:
Итак, надеюсь теперь вы разобрались в вопросах управления программным обеспечением в Ubuntu. В следующей статье поговорим про установку дополнительного программного обеспечения:
Настройка репозиториев Ubuntu
В одной из своих предыдущих статей я рассмотрел список полезных репозиториев для Ubuntu. В этой статье мы рассмотрим репозитории в Ubuntu более глобально, будет рассмотрена настройка репозиториев Ubuntu, поговорим какими они бывают, где хранятся, как добавлять и удалять репозитории.
Репозитории в Ubuntu
Вторая группа веток более интересная. Дело в том что в Ubuntu есть несколько веток для различного рода программного обеспечения:
Такой структуры придерживаются официальные репозитории, сторонние ppa могут же иметь другую структуру или просто ветку main.
Настройка репозиториев в Ubuntu
Настройки репозиториев Ubuntu находятся в нескольких файлах в каталоге /etc/apt.
Таким образом, вы уже знаете как примитивным способом посмотреть список репозиториев в Ubuntu. По сути, уже можно открыть этот файл и добавить репозиторий Ubuntu прямо туда в конец файла, но для таких действий в системе есть специальные инструменты и далее мы их рассмотрим.
Настройка репозиториев в GUI
Управление репозиториями можно осуществлять с помощью утилиты настроек системы. Запустите Настройки системы, затем откройте Программы и обновления или сразу же запустите Программы и обновления из меню Dash:
Для добавления репозитория в Ubuntu перейдите на вкладку другое ПО на этой вкладке вы можете видеть весь список репозиториев Ubuntu которые были подключены к системе:
Чтобы иметь доступ к дополнительным программам рекомендуется подключить сторонний репозиторий партнеров Canonical. Для этого просто поставьте напротив него галочку.
Для добавления репозитория Ubuntu нажмите кнопку Добавить:
Здесь в единственном поле нужно ввести apt строку репозитория и нажать кнопку добавить источник.
Apt строка репозитория имеет такой синтаксис:
deb http://адрес_репозитория версия_дистрибутива ветки
deb http://ua.archive.ubuntu.com/ubuntu/ xenial main restricted
deb https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main
Установка репозитория Ubuntu завершена и он появился в списке. Чтобы его отключить достаточно просто снять галочку. А чтобы удалить репозиторий Ubuntu нажмите кнопку удалить:
Для сторонних репозиториев необходимо импортировать GPG ключ для правильной работы в системе, если ключ не добавить, то во время обновления репозиториев Ubuntu apt выдаст ошибку проверки подписи. Это делается, чтобы никто не мог подменить пакеты и вы не установили вирусов. Перейдите на вкладку Аутентификация, затем выберите импортировать ключ из файла:
Как правило, в описании репозитория, если для него требуется ключ, указана ссылка где его можно скачать. Скачать ключ можно с помощью браузера, или консольной утилитой wget, например:
Удалять ключи также можно кнопкой удалить:
Если вы запутались и не знаете как вернуть состояние по умолчанию можно просто нажать кнопку восстановить чтобы восстановить репозитории Ubuntu:
Если были добавлены новые репозитории, при выходе программа предложит выполнить обновление репозиториев Ubuntu, это нужно чтобы загрузить списки пакетов из только что подключенных источников. Также обновление можно выполнить через терминал, но об этом ниже.
Настройка репозиториев Ubuntu PPA
На самом деле PPA репозитории такие, же как и обычные репозитории. Если вы хотите добавить репозиторий вручную, вы можете узнать apt строку и ключ, раскрыв спойлер Technical details about this PPA на странице описания репозитория:
Теперь его можно добавить в систему, так же как описано выше.
Добавление репозиториев в Ubuntu из терминала
Во многих инструкциях мы видим команды для подключения репозитория в Ubuntu через терминал. Действительно, это немного удобнее чем запускать утилиту, загружать ключи и делать все мышкой. Чтобы добавить репозиторий Ubuntu через терминал используйте команду: apt-add-repository:
sudo apt-add-repository «deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main»
В кавычках указана apt строка репозитория. Также можно просто добавить строчку в /etc/apt/sources.list:
echo «deb http://ppa.launchpad.net/shutter/ppa/ubuntu wily main» >> /etc/apt/sources.list
Для добавления ключей безопасности GPG существует команда apt-key. Вы можете добавить ключ из файла, или скачать ключ с помощью curl и перенаправить ее вывод и apt-key:
Добавить репозиторий в Ubuntu через терминал намного проще чем в графическом интерфейсе.
Как удалить репозиторий в Ubuntu
Удалить репозиторий Ubuntu через терминал можно той же командой с опцией —remove:
Или же просто закомментировать deb строку в файле /etc/apt/sources.list или в одном из файлов /etc/apt/sources.list.d/*.
Добавление репозитория PPA в Ubuntu
Добавить репозиторий PPA в Ubuntu можно той же командой. Как я уже говорил система автоматически распознает репозиторий и скачает нужные ключи. Формат записи такой:
sudo apt-add-repository ppa:репозиторий/ppa
sudo apt-add-repository ppa:shutter/ppa
Как удалить репозиторий PPA в Ubuntu
Удалить репозиторий в Ubuntu можно такой же командой, как и в предыдущем примере:
Полностью удалить PPA из системы можно командой:
sudo ppa-purge ppa:репозиторий/ppa
Возможно, утилиту ppa-pure необходимо будет установить командой:
sudo apt-get install ppa-purge
После настройки репозиториев Ubuntu не забывайте обновить списки пакетов, чтобы скачать метаданные новых репозиториев на компьютер и apt смогла с ними работать. Для этого выполните команду:
sudo apt-get update
Выводы
Вот и все, настройка репозиториев в Ubuntu завершена. Вы узнали все возможные методы и теперь любая команда подключения репозитория Ubuntu не вызовет у вас недоумения. Теперь вы знаете все что нужно чтобы правильно использовать репозитории в вашей системе. Только будьте осторожны, не переусердствуйте со сторонними репозиториями из-за них могут возникнуть проблемы с обновлением. И вообще, это не очень хороший тон, иметь в системе много репозиториев. Если у вас остались вопросы, задавайте в комментариях!