Howto manipulate source repositories
× К оглавлению На главную Об авторе

Дата и время публикации:
Дата и время модификации:

Удаление и добавление


1. Чем управляем

Здесь пойдет речь о том, как использовать утилиту add-apt-repository из пакета software-properties-common, которая удаляет и добавляет источники репозитариев Debian, потребляемые в дальнейшем менеджером пакетом APT(8) и находящиеся(англ. location) в директории /etc/apt.

В качестве примера используется установка источника независимого репозитория программы LibrePlan, потому что установленный ранее перестал быть доступным, как показано в дампе 1.1

дамп 1.1

$ sudo apt-get update
Пол:1 http://ftp.debian.org/debian buster InRelease [158 kB]
Игн:2 http://ppa.launchpad.net/libreplan/ppa/ubuntu cosmic InRelease            
Ошб:3 http://ppa.launchpad.net/libreplan/ppa/ubuntu cosmic Release                     
  404  Not Found [IP: 91.189.95.83 80]
. . .
E: Репозиторий «http://ppa.launchpad.net/libreplan/ppa/ubuntu cosmic Release» не содержит файла Release.
. . .

Таким образом, задача состоит в обновлении источника репозитория

2. Как удаляем и добавляем

Для этого, yстанавливаем пакет software-properties-common, как показано в дампе 2.1

дамп 2.1

$ sudo apt-get install software-properties-common   

Потом, как показано в дампе 2.2, удаляем программу libreplan, а затем источник репозитария.

дамп 2.2

$ sudo apt-get remove libreplan 
$ sudo add-apt-repository --remove ppa:libreplan/ppa/ubuntu 
$ sudo apt-get update

Так как add-apt-repository производит только удаление содержимого файла *.list в директории /etc/apt/sources.list.d, поэтому удаляем файл полнстью, как показано в дампе 2.3

дамп 2.3

$ sudo ls /etc/apt/sources.list.d/libreplan*ppa*.list | sudo xargs rm 
$ sudo apt-get update

Затем добавляем новый источник, как показано в дамп 2.4, и повторно обновляем APT(8)

дамп 2.4

$ sudo add-apt-repository ppa:libreplan/ppa
$ sudo apt-get update

Разрешения некоторых проблем

В случае, если ключ PPA не найден, как для Ubuntu 15.04 ("vivid"), с которым имеет совместимость LibrePlan и, например, отсутствует в Debian, обновление APT(8) закончится с ошибкой, как показано в дампе 2.5 .

дамп 2.5

$ sudo apt-get update
Игн:1 http://ppa.launchpad.net/libreplan/ppa/ubuntu vivid InRelease
Пол:2 http://ppa.launchpad.net/libreplan/ppa/ubuntu vivid Release [15,1 kB]
Пол:3 http://ppa.launchpad.net/libreplan/ppa/ubuntu vivid Release.gpg [316 B]        
Игн:3 http://ppa.launchpad.net/libreplan/ppa/ubuntu vivid Release.gpg               
Сущ:4 http://ftp.debian.org/debian buster InRelease                             
Чтение списков пакетов… Готово                     
W: Ошибка GPG: http://ppa.launchpad.net/libreplan/ppa/ubuntu vivid Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 9E1C5FAA898344EF
E: Репозиторий «http://ppa.launchpad.net/libreplan/ppa/ubuntu vivid Release» не подписан.
. . .

Необходимо для ключа 9E1C5FAA898344EF выполнить следующее, как показано в дапме 2.6

дамп 2.6

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 898344EF
Executing: /tmp/apt-key-gpghome.48ysErByc5/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 898344EF
gpg: ключ 9E1C5FAA898344EF: импортирован открытый ключ "Launchpad PPA for LibrePlan"
gpg: Всего обработано: 1
gpg:    импортировано: 1

3. Библиография


[1] Пакет software-properties-common

[2] libreplan 133 released more bug fixes

[3] Remove PPAs: “add-apt-repository --remove” vs. “rm /etc/apt/sources.list.d/???.list”

[4] how to add the PPA key

[5] LibrePlan automatic installation