DEB-пакет yandex-disk не обновляется, не удаляется, aptitude зависает

С клиентом Яндекс.Диск’а для Linux версии 0.1.5.940 (возможно и с другими) возникает проблема: его невозможно обновить до следующей версии, или удалить, так как, при попытке удаления, процесс aptitude зависает.

Краткое гугление на эту тему позволило найти только одно упоминание: https://toster.ru/q/119609 где пользователь долго мучается с удалением, и наконец ему это удаётся, путём разнообразных танцев с бубном.

В чём собственно проблема?

Кратко: проблема в том, что внутренний девелоперский сервер яндекса недоступен снаружи, и, мало того, он даже не резолвится снаружи.

Подробно:

В скрипте /var/lib/dpkg/info/yandex-disk.postinst указаны пути к репозиториям, в которых скрипт установки будет искать GPG-ключ.
Конкретно, в начале текста файла указано:

EXT_REPOURL="http://repo.yandex.ru/yandex-disk" # URL of the external repository
INT_REPOURL="http://dist.yandex.ru/repo.yandex.ru/yandex-disk" # URL of the internal repository

где EXT_REPOURL — это доступный извне репозиторий, а INT_REPOURL — доступный только изнутри компании Яндекс.
Также, чуть ниже указано:

GPG_FILE="YANDEX-DISK-KEY.GPG"

Дальше, идёт запрос при помощи команды wget к файлу $INT_REPOURL/$GPG_FILE, после чего, если запрос не удался, запрос идёт по адресу $EXT_REPOURL/$GPG_FILE.
А проблема в том, что сервер dist.yandex.ru не резолвится, и, в некоторым случаях, делает это ОЧЕНЬ ДОЛГО.
Причём, таймаут для wget не работает.

Что нужно делать:

  • После того, как aptitude зависла, нажать Ctrl+C и дождаться, пока aptitude поймёт что пора остановиться
  • Открыть файл
    /var/lib/dpkg/info/yandex-disk.postinst
  • Просто заменить строчку в INT_REPOURL на значение, прописанное в EXT_REPOURL
  • Запустить
    dpkg --configure -a

Оставить комментарий