E: Пакет '<любой пакет>' не имеет кандидата на установку

Да, если вы сделаете это от имени пользователя root , это позволит вам изменить права доступа (и владельца) к этим файлам и каталогам.

$ cd /backup/dir/somewhere
$ sudo chown myname:mygroup myfile
$ sudo chmod u+rw myfile

... где myname и mygroup - ваше имя пользователя и группа по умолчанию (проверьте другие файлы в вашем домашнем каталоге или используйте id -n -u (для имени пользователя) и id -n -g (для группы)), а myfile - это один файл.

Чтобы сделать это для всего каталога, включая его содержимое:

$ sudo chown -R myname:mygroup mydir
$ sudo chmod -R u+rw mydir

Однако каталог должен быть «исполняемым», чтобы вы могли ввести в него cd . Разрешение на «запись» в каталог позволяет вам добавлять или удалять файлы в / из него после того, как вы в него вошли. Имея разрешение на «чтение» для каталога, вы можете перечислить его содержимое после того, как вы в него вошли. Таким образом, только наличие разрешений на «чтение» и / или «запись» в каталоге не имеет смысла.

Только не делайте

$ sudo chmod -R u+rwx mydir      # don't

, так как это сделает каждый файл исполняемым.

4
19.07.2016, 00:54
3 ответа

Есть несколько вероятностей:

  • Ваш список не может быть обновлен, используйте apt-get update . Вы также должны проверить, перечислены ли в политике apt-cache все репозитории.
  • Вероятно, пакет недоступен в добавленных вами источниках репозитория или в другом компоненте. Для Debian используйте madison , другие дистрибутивы имеют эквиваленты. Например, для этого пакета вам потребуется:

     nodejs | 0.10.29 ~ dfsg-1 ~ bpo70 + 1 | хрипы-бэкпорты | источник, amd64, armel, armhf, i386, kfreebsd-amd64, kfreebsd-i386 
    nodejs | 0.10.29 ~ dfsg-2 | стабильный | исходный код, amd64, armel, armhf, i386, mipsel 
    nodejs | 0.10.29 ~ dfsg-2 | стабильный-kfreebsd | источник, kfreebsd-amd64, kfreebsd-i386 
    nodejs | 4.3.1 ~ dfsg-3 | тестирование | источник, amd64, arm64, armel, armhf, i386, mips, mipsel, powerpc, ppc64el, s390x 
    nodejs | 4.4.7 ~ dfsg-2 | нестабильный | источник, amd64, arm64, armhf, i386, kfreebsd-amd64, kfreebsd-i386, mips, mips64el, mipsel, powerpc, ppc64el, s390x 
    nodejs | 5.11.0 ~ dfsg-1 | экспериментальный | источник, mipsel 
    nodejs | 6.0.0 ~ dfsg-1 | экспериментальный | source, amd64, arm64, armel, armhf, i386, kfreebsd-amd64, kfreebsd-i386, mips, mips64el, powerpc, ppc64el, s390x 
     

    Либо эти репозитории не включены, либо находятся в компоненте, который вы не добавили (т.е. main, contrib, non-free).

  • Также возможно, что пакет недоступен для вашей архитектуры. Используйте dpkg --print-architecture , чтобы узнать, какую архитектуру вы используете, и сравнить ее с выводом Madison.

Если что-то из этого не сработает, вы получите это сообщение. Сверьтесь с пакетом политики apt-cache , чтобы убедиться, что в локальном списке пакетов есть пакет.

5
20.08.2021, 12:03

Проверьте официальный сайт вашего дистрибутива на предмет репозиториев пакетов и добавьте эти ссылки в файл /etc/apt/source.list, и тогда он будет работать.

0
20.08.2021, 12:03

Если проблема связана с некоторыми определенными репозиториями, попробуйте проверить правильную конфигурацию в :/etc/apt/preferences.d/

Он может содержать закрепляющие файлы, которые не позволяют обновлять эти конкретные пакеты.

это может иметь место в образах докеров, когда изменения в версии пакета могут привести к торможению...

Надеюсь, это поможет.

0
20.08.2021, 12:03

Теги

Похожие вопросы