Репозитории PPA в Ubuntu
Всякий раз, когда вы хотите установить программный пакет в операционную систему Ubuntu, вы сначала обращаетесь к официальному репозиторию Ubuntu или к менеджеру приложений. Если программное обеспечение там недоступно или нет в магазине Snapcraft. Вы можете установить его через любой репозиторий PPA, на котором он доступен. Репозитории PPA – это неофициальные репозитории тех программных пакетов, которые доступны пользователям через Launchpad. Launchpad – платформа, разработанная Canonical, позволяет разработчикам загружать на нее свой код, где пользователям предоставляются пакеты .deb для установки программного обеспечения.
В этой статье мы опишем, как использовать командную строку Ubuntu и графический интерфейс пользователя для работы с репозиториями
- Мониторинг добавленных в систему репозитоиев
- Добавим репозиторий в нашу систему
- Удалим репозиторий из системы
Все манипуляции я провожу в операционной системы Ubuntu 18.10
Управление репозиториями через командную строку
Для начала откроем терминал (Сtrl+Alt+T) и давайте разберемся, какие команды существуют
Иногда хочется навести порядок в оперативной системе, что бы все было по полочкам
Если вы хотите посмотреть все установленные репозитории, доступные в вашей системе Ubuntu, введите следующую команду в Терминале:
apt policy
Еще один способ вывести список всех добавленных репозиториев – это распечатать содержимое каталога /etc/apt/sources.list.d. Этот каталог содержит список всех репозиториев, доступных в вашей системе.
ls /etc/apt/sources.list.d
Название программы важная информация и не всегда известно пользователю так как системное название может просто отличаться. Для того что бы узнать название программы нужно набрать следующую строчку
dpkg -l balena*
Аналогичный поиск по snap-пакетам
snap list balena*
Хочу пояснить звездочку в конце названии программы задает более мягкие критерии поиска.
Узнав как называется программа мы можем проверить, через какой репозиторий она установлена, так как одна и та же программа может находится в нескольких репозиториях.
apt-cache policy balena-etcher-electron
Посмотри лог и уведем ссылку на репозиторий https://deb.etcher.io stable/etcher amd64 Packages
Для того что бы получить информацию какие репозитории используются а какие нет нужно написать маленький скрип
Создадим папку для скрипта
mkdir -p ~/bin
Далее создадим файл в данной папке и сразу откроем файл в редакторе nano
nano ~/bin/checkPPAs
Добавляем в nano следующий скрипт
#!/usr/bin/env bash
for f in /etc/apt/sources.list.d/*.list; do
grep -Po "(?<=^deb\s).*?(?=#|$)" "$f" | while read -r ENTRY ; do
echo "ENTRY: $ENTRY"
HOST=$(cut -d/ -f3 <<< "$ENTRY")
if [ "ppa.launchpad.net" = "$HOST" ]; then
USER=$(cut -d/ -f4 <<< "$ENTRY")
PPA=$(cut -d/ -f5 <<< "$ENTRY")
packageCount=$(awk '$1=="Package:" {if (a[$2]++ == 0) {system("dpkg -l "$2)}}' /var/lib/apt/lists/*"$USER"*"$PPA"*Packages 2>/dev/null | awk '/^ii/' | wc -l)
echo "PPA: ppa:$USER/$PPA"
echo "FILENAME: $f"
echo "$packageCount package(s) installed"
if [ "$packageCount" -eq 0 ] && [ "$1" == "--delete" ]; then
sudo rm "$f" && echo "$f deleted"
fi
echo
else
USER=$(cut -d/ -f3 <<< "$ENTRY")
PPA=$(cut -d/ -f4 <<< "$ENTRY")
packageCount=$(awk '$1=="Package:" {if (a[$2]++ == 0) {system("dpkg -l "$2)}}' /var/lib/apt/lists/*"$USER"*Packages 2>/dev/null | awk '/^ii/' | wc -l)
echo "REPOSITORY: $USER/$PPA"
echo "FILENAME: $f"
echo "$packageCount package(s) installed"
if [ "$packageCount" -eq 0 ] && [ "$1" == "--delete" ]; then
sudo rm "$f" && echo "$f deleted"
fi
echo
fi
done
done
Сохраняем файл Ctrl +X и делаем файл исполняемым
chmod +x ~/bin/checkPPAs
Далее запускаем скрипт и получаем нужную информацию
~/bin/checkPPAs
Если вы хотите удалить репозитории у которых нет установленных пакетов необходимо прописать ключ –delete
~/bin/checkPPAs --delete
При запуске скрипта получаем следующую информацию

Как добавить репозиторий в Ubuntu
Для того что бы добавить репозиторий в Ubuntu необходимо набрать следующую команду в терминал
$ add-apt-repository ppa:ppa_name
Так же вы можете добавить репозиторий с помощью команды apt—add—repository
sudo apt—add—repository «deb http://dl.google.com/linux/chrome/deb/ stable main»
Так же для работы репозитория нужен ключ для проверки deb-пакетов скачиваем мы его с помощью wget
, а устанавливаем с помощью apt-key add
wget https://dl.google.com/linux/linux_signing_key.pub
sudo apt-key add linux_signing_key.pub
Как удалить репозиторий в ubuntu
Если вы хотите удалить добавленный PPA-репозиторий из вашей системы, вы можете использовать следующую команду в терминале
sudo add-apt-repository –remove ppa:ppa_name
Приведенная выше команда удаляет только PPA из вашей системы, а не программный пакет, который вы установили через него.
Очистка хранилища означает удаление его из вашей системы, а также понижение версии пакетов программного обеспечения, которые вы загрузили через него. Существует эта утилита под названием PPA Purge, которую вы можете использовать для этой цели
sudo ppa-purge ppa:ppa_name
Если у Вас данная программа не установлена
sudo apt-get install ppa-purge
Добавить и удалить репозиторий через графический интерфейс
Для того что бы производить работу с репозиториями нам нужно отрыть программу “Программы и обновления”

Для того что бы удалить репозиторий необходимо перейти во вкладку
Другое ПО выделить нужный репозитоий и нажать кнопку удалить

Для того что бы добавить репозиторий во вкладке “Другое ПО” необходимо нажать кнопку добавить и внести адрес репозитория

Если у Вас репозиторий ввиде ссылки мы водим так
deb http://archive.ubuntu.com/ubuntu cosmic main
Если у нас PPA репозиторий то водим
ppa:ppa_name
После всех действий нажимаем “Закрыть” нажимаем “Обновить”
