Репозитории 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

После всех действий нажимаем “Закрыть” нажимаем “Обновить”


Поделиться
201
0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

2020 © УбунтуРус - полезный информационный портал об операционных системах Ubuntu и Debian Linux. Все права защищены.