- Ubuntu — как правильно обновить файл репозитория
- Немного теории.
- Обновление репозитория.
- Кэширование репозиториев
- Содержание
- Установка apt-cacher-ng
- 📑 Кэширование обновлений в Ubuntu/Debian
- Серверная часть
- Настройка клиентов
- Инструкции
- Командная строка Linux: краткий курс для начинающих
- Перенаправление ввода/вывода в Linux
- Работа с файлами и каталогами в Linux
- Как сгенерировать SSH-ключ для доступа на сервер
- Как установить и настроить веб-сервер Apache
- Руководство по написанию скриптов в Linux Bash
- Введение в Git: настройка и основные команды
- Как установить MySQL на Windows
- Как установить и использовать MySQL Workbench
- Создание нового пользователя и настройка прав в MySQL
- Ещё один блог сисадмина
- пятница, 18 сентября 2009 г.
- Как настроить кэш репозитория с помощью apt-cacher
Ubuntu — как правильно обновить файл репозитория
Немного теории.
Усовершенствованное средство управления программными пакетами APT (Advanced Packaging Tool) первоначально было разработано для управления пакетами в дистрибутиве Debian GNU/Linux.
Система APT состоит из нескольких утилит. Главной и наиболее часто используемой является apt-get, утилита управления пакетами. Apt-get автоматически определяет зависимости между пакетами и строго следит за их соблюдением при выполнении любой из следующих операций: установка, удаление или обновление пакетов.
Для корректной работы APT требуется наличие одного или нескольких репозитариев, в которых хранятся пакеты программ и относительно которых производится сверка пакетов, установленных в операционной системе Linux. Репозитарии могут содержать как официальную версию дистрибутива, обновляемую его разработчиками по мере выхода новых версий программ, так и локальные наработки (например, пакеты, разработанные внутри компании).
Программа apt-get позволяет устанавливать в систему пакеты, которые требуют наличия других, пока еще не установленных, пакетов программ. В этом случае apt-get вычисляет, какие из неустановленных пакетов требуются, и доустанавливает их, пользуясь всеми известными ему репозитариями. Для того, чтобы apt-get мог использовать тот или иной репозитарий, информацию о нем необходимо поместить в файл /etc/apt/sources.list и выполнить команду
APT при поиске пакетов руководствуется базой данных о репозитарии. Эта база данных создается заново каждый раз, когда в репозитарии происходит изменение (добавление, удаление или переименование пакета). Для ускорения работы apt-get хранит локальную копию базы данных и потому она через некоторое время вполне может не соответствовать реальному состоянию репозитария.
Таким образом, выполняя команду
система APT ищет информацию о нужном пакете в своей базе, а затем выполняет его загрузку и, при необходимости загрузку зависимых пакетов, и дальнейшую их установку.
в случае возникновения сбоя в процессе установки, требуется выполнить команду
Данная команда позволит восстановить зависимости и выполнить корректную установку.
Обновление репозитория.
Для внесения изменений (обновления) в репозиторий необходимо выполнить команду:
После внесения изменений необходимо повторно выполнить команду
В случае возникновения сбоев при ручном обновлении репозиториев, рекомендую выполнить бэкап файла и очистку его содержимого. Затем необходимо перейти по ссылке: http://repogen.simplylinux.ch/
На указанном ресурсе расположен генератор, с помощью которого можно выполнить создание нового файла репозитория “с нуля”.
Указав страну и версию операционной системы, необходимо проставить галочки напротив интересующих репозиториев, далее необходимо промотать страницу вниз и нажать кнопку “Generate List”.
Далее будет сформирована страница, на которой нас интересует: Source List, его содержимое нужно скопировать в файл: /etc/apt/sources.list
Не забиваем про ключи GPG. Команды в этом окне необходимо выполнить на нашей системе.
В конце всех манипуляция снова выполняем
На тему «Как добавлять, удалять и отключать PPA в Ubuntu» есть хорошая статья: http://ubuntovod.ru/instructions/add-remove-disable-ppa-ubuntu.html
Конфигурационные файлы APT
- /etc/apt/sources.list — список источников пакетов (репозиториев)
- /etc/apt/apt.conf — основной файл конфигурации APT
- /etc/apt/preferences — файл предпочтений, управляет тем, какая версия пакета будет установлена в случае наличия в репозитории сразу нескольких версий
Основные команды APT
- apt-cache search маска — поиск пакета
- apt-cache show пакет — просмотр информации о пакете
- apt-get install пакет — установка пакета
- apt-get remove пакет — удаление пакета
- apt-get update — обновление кэша доступных пакетов
- apt-get upgrade — обновление всех пакетов
Источник
Кэширование репозиториев
Содержание
Кэширование (проксирование) репозиториев экономит время и трафик при установке одних и тех же пакетов на множество компьютеров. Это полезно в первую очередь для организаций.
Кэширование работает по тому же принципу, что и обычный прокси сервер: сначала никакого контента на нём нет, при первом запросе клиента кэшер скачивает файл из интернета, отдаёт его клиенту, а копию сохраняет у себя, при следующих запросах кэшер не обращается в интернет и просто отдаёт сохранённый файл. От обычного squid-а кэшер пакетов отличается своей узкой специализацией: он знает про версии deb-пакетов, про отличия индексного файла от deb-пакета, ну и всё такое.
Плюсы кэширования по сравнению с зеркалированием:
Кэшеры бывают разные:
Установка apt-cacher-ng
Вот, собственно, и всё. Конечно, можно донастроить его под себя, скажем, поменять порт (по дефолту 3142) или указать вышестоящий прокси (если сервер с кэшером выходит в интернет через прокси). Конфиг снабжён подробными комментариями, разобраться можно. Но в общем случае сервер настраивать не приходится.
Единственная необходимая настройка — указать клиентам адрес нашего нового кэшера. На клиенте открываем конфиг:
(конечно, packages.example.com меняем на имя своего сервера)
Возможна проблема: при попытке обновить индексы ( apt update ) на клиенте может возникнуть ошибка «Bad redirection (path)», при этом в репозитории файл есть, кэшер его скачивает и сохраняет у себя, но клиенту не отдаёт. Например, у меня такое было с репозиториями Ceph. Если браузером пройти по проблемному адресу (в моём случае это был http://ceph.com/…), то можно обнаружить редирект на другой адрес (у меня http://download.ceph.com/…). Проблема решается заменой в sources.list исходного адреса на адрес после редиректа (я у себя заменил ceph.com на download.ceph.com). Проблема странная и возникает не всегда.
Можно использовать не только для Ubuntu, но и для Debian. А по некоторым признакам, и для CentOS, Gentoo и других (не проверял).
Источник
📑 Кэширование обновлений в Ubuntu/Debian
Очень часто некоторые внутренние корпоративные сервера, особенно на виртуальных машинах, по тем или иным субъективным причинам не имеют выхода в Интернет. По крайней мере у меня в практике такое встречается очень часто.
Но обновления системы проводить нужно. Сразу же напрашивается выход — хранить сервер обновления локально, на одной из машин имеющих доступ к интернету. То-есть использовать apt-mirror.
Существенный недостаток этого подхода — 80% (если не больше. ) репозитория я не использую и использовать никогда не буду. Ни на одном из моих серверов.
Самый разумный выход использовать сервис apt-cacher-ng. Когда пользователь клиентской машины инициирует обновление или установку какого либо программного обеспечения, его машина подключается к локальному серверу обновлений и запрашивает необходимые пакеты.
Сервер обновлений проверяет, есть ли его последние версии запрошенных пакетов в локальном кэше. Если есть, то пакеты отправляются пользователю. В противном случае apt-cacher-ng скачивает обновлённые версии запрошенных пакетов, а затем отправляет их пользователю. Новые версии остаются в кэше для дальнейшего использования.
Серверная часть
apt-cacher-ng устанавливается из репозитория Ubuntu:.
При желании можно немного подправить конфигурационный файл /etc/apt-cacher-ng/acng.conf:
Обычно меняются только три этих параметра
apt-cacher-ng не создает никаких баз и структур, ничего не сжимает, а хранит все в том виде как в оригинале репозитория. CacheDir нужно указывать с учетом того, что в самом безумном случае на сервере обновлений окажется репозиторий целиком. А это около 40GB.
После изменения конфигурации необходимо перезапустить сервис:
Настройка клиентов
На всех клиентах для использования локального сервера обновлений необходимо только создать один файл —
с одной строчкой:
server — естественно нужно заменить на имя или IP- адрес сервера обновлений. Можно приступать к обновлению.
Источник
Инструкции
27 сентября 2021
Командная строка Linux: краткий курс для начинающих
27 сентября 2021
Перенаправление ввода/вывода в Linux
27 сентября 2021
Работа с файлами и каталогами в Linux
26 сентября 2021
Как сгенерировать SSH-ключ для доступа на сервер
23 сентября 2021
Как установить и настроить веб-сервер Apache
23 сентября 2021
Руководство по написанию скриптов в Linux Bash
21 сентября 2021
Введение в Git: настройка и основные команды
21 сентября 2021
Как установить MySQL на Windows
21 сентября 2021
Как установить и использовать MySQL Workbench
20 сентября 2021
Создание нового пользователя и настройка прав в MySQL
© ООО «Селектел», 2008—2021
Полностью изолированные физические серверы любой конфигурации с облачной готовностью
Виртуальные машины с моментальным масштабированием и поддержкой Infrastructure-as-code
В дата-центрах TIER III Москвы, Санкт‑Петербурга и ЛО
Инфраструктура на базе VMware для бизнес-критичных задач любой сложности
Готовые к работе управляемые базы данных PostgreSQL и MySQL™
Полностью готовый к работе кластер Kubernetes для управления контейнерами
Масштабируемое хранилище данных с гибким ценообразованием, поддержкой FTP и S3 API
Запуск кода по запросу или событию без создания и обслуживания сервера
Источник
Ещё один блог сисадмина
пятница, 18 сентября 2009 г.
Как настроить кэш репозитория с помощью apt-cacher
Если имеется несколько компьютеров с одинаковым дистрибутивом, полезно настроить кэш репозитория в вашей сети, так чтобы однажды скачанный из официального репозитория пакет скачивался остальными машинами из вашей локальной сети.
Имея разные компьютеры, работающие на одинаковом дистрибутиве, полезно настроить кэш в вашей локальной сети. Таким образом, вам не нужно скачивать из официального репозитория общие пакеты больше одного раза.
В этом случае имеется один компьютер, который называется repository-cache (кэш репозитория), этот компьютер будет работать в качестве кэша репозитория, в то время как остальные компьютеры в вашей сети будут пользоваться им, как обычным репозиторием.
Как обычно, вам нужно установить необходимые пакеты на первом компьютере. Поэтому введите в терминале:
Когда команда будет выполнена, пора перейти к файлу настройки /etc/apt-cacher/apt-cacher.conf
2. Настройка Apt-Cacher
И так, откроем главный файл конфигурации apt-cacher’а: /etc/apt-cacher/apt-cacher.conf и начнём редактировать его в соответствии с вашими настройками.
По умолчанию apt-cacher ожидает подключений на порту 3142. Вы можете поменять это значение на то, которое вам нужно.
allowed_hosts: по умолчанию все перечисленные здесь узлы имеют право использовать кэш репозитория. Вы можете изменить это значение, если вы хотите предоставить доступ только определённым узлам. В моём случае, я хочу разрешить доступ моей локальной сети 192.168.1.0/24 и локальному узлу (localhost — 127.0.0.1 и 127.0.1.1 на системах с ubuntu), поэтому я меняю значение следующим образом:
Поскольку 127.0.0.1 разрешён всегда, не обязательно добавлять адрес 127.0.0.1.
generate_reports: Эта директива заставляет apt-cacher создавать ежедневный отчёт по эффективности вашего кэша. По умолчанию это 1, если вы хотите отключить его, установите его в 0.
path_map: Это любопытная директива. Здесь вы можете определить различные псевдонимы для различных узлов репозиториев. На моём компьютере с ubuntu edgy, моя директива path_map выглядит следующим образом:
Позвольте мне немного пояснить. Здесь я создал отображения в следующие имена:
- debuntu в узел repository.debuntu.org
- ubuntuand ubuntu-updates в узел archive.ubuntu.com/ubuntu
- и ubuntu-security в узел security.ubuntu.com
Теперь, чтобы получить доступ к определённому репозиторию, нам требуется просто добавить псевдоним к нашему серверу с кешем репозиториев, например: компьютер_с_кэшем_репозитория:порт/псевдоним
Например, мы можем получить доступ к репозиторию debuntu через http://repository-cache:3142/debuntu и к репозиторию ubuntu secutiry через http://repository-cache:3142/ubuntu-security.
2.2. Включение apt-cacher’а
Чтобы запустить apt-cacher, его нужно включить из файла /etc/default/apt-cacher. Откроем файл /etc/default/apt-cacher и установим AUTOSTART в 1:
Теперь перезапустим apt-cacher:
Теперь apt-cacher запущен, время исправить файлы всех наших клиентов /etc/apt/sources.list на каждом узле в сети, где мы хотим использовать компьютер с кэшем репозитория.
3. Настройка файла sources.list клиентов и серверов
Настало время настроить на клиентских узлах файлы источников apt: /etc/apt/sources.list. Важно использовать кэш репозитория ткаже и на самом сервере, таким образом любые обновления, выполненные сервером, будут заполнять кэш.
Исходный /etc/apt/sources.list:
Чтобы использовать наш кэш репозитория, эти записи необходимо заменить на:
Классно, теперь чтобы каждый каждый узел получал пакеты .deb из нашего репозитория, нужно запустить:
на каждом узле.
4. Импорт существующих пакетов из /var/cache/apt/archives/ в репозиторий apt-cacher
Может случиться, что ваш сервер уже имеет большое количество пакетов, находящихся в локальном кэше репозитория: /var/cache/apt/archives/. apt-cacher содержит инструмент, позволяющий имортировать эти файлы в репозиторий apt-cacher’а.
Это большое количество полезных сценариев можно найти в каталоге /usr/share/apt-cacher/. Интересующий нас называется apt-cacher-import.pl. Для импорта файлов .deb из каталога /var/cache/apt/archives в репозиторий apt-cacher запустите:
Его нужно запускать от имени пользователя root или файлы .deb могут не скопироваться в кэш репозитория.
Теперь каталог /var/cache/apt-cacher/packages/ должен пополниться целой кучей пакетов.
5. Получение отчётов об использовании вашего кэша репозитория
Если вы оставили значение директивы generate_reports равным 1, apt-cacher будет составлять отчёты по использованию кэша каждый день.
Вы можете получить к ним доступ по адресу: http://repository-cache:3142/report
Если вам нужно перегенерировать отчёт, запустите:
6. Заключение
apt-cacher — это простой и эффективный пакет, который одновременно экономит ваше время и пропускную способность канала при использовании нескольких компьютеров, работающих на одинаковом дистрибутиве, как это бывает в домашней сети или в компании.
Источник