scp /path/to/local/file myusername@server.com создает новый файл в локальном каталоге?

Убедитесь, что у вас нет другого, более общего приоритета вывода, который принимает приоритет над вашим несвободным -исключающим правилом. (Это включает параметр конфигурации APT :: Default-Release , который назначает высокий приоритет данному выпуску.)

Например, если ваш файл / etc / apt / preferences (или другой файл в /etc/apt/preferences.d ) содержит что-то вроде следующего:

Package: *
Pin: release a=unstable
Pin-Priority: 200

тогда нестабильные пакеты будут иметь приоритет вывода 200, независимо от компонента. Чтобы это работало с вашим дополнительным файлом, вы должны изменить его на

Package: *
Pin: release a=unstable, c=main
Pin-Priority: 200

(и добавить дополнительную строфу для contrib , если вам это интересно). (В вашем случае, конечно, у вас будет стабильный .)

Вы можете проверить влияние приоритетов ваших выводов, запустив

apt-cache policy

Если ваша несвободная -исключающая конфигурация - работает правильно, вы должны увидеть записи для всех отслеживаемых вами пакетов на non-free с приоритетом вывода -1. Как только это сработает, вы обнаружите, что больше не можете устанавливать raccoon или фактически любой несвободный пакет (даже если он упоминается явно) - вам нужно добавить несвободные пакеты, которые вы хотите добавить в файл конфигурации, с соответствующим приоритетом вывода.

В качестве примера приведу используемую мной настройку: у меня есть файл с именем / etc / apt / preferences.d / non-free , содержащий

Package: intel-microcode
Pin: release n=buster, c=non-free
Pin-Priority: 100

Explanation: Disable packages from non-free tree by default
Package: *
Pin: release c=non-free
Pin-Priority: -1

Несвободные пакеты по-прежнему появляются в результатах поиска, но я не могу их установить:

$ sudo apt install lmbench
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package lmbench is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'lmbench' has no installation candidate

и apt policy соглашается:

$ apt policy lmbench
lmbench:
  Installed: (none)
  Candidate: (none)
  Version table:
     3.0-a9+debian.1-2 -1
         -1 http://ftp.fr.debian.org/debian buster/non-free amd64 Packages
         -1 http://ftp.fr.debian.org/debian testing/non-free amd64 Packages
         -1 http://ftp.fr.debian.org/debian unstable/non-free amd64 Packages

Но intel-microcode можно установить и обновить. Таким образом, после принудительного перехода на старую стабильную версию я получаю

$ apt policy intel-microcode
intel-microcode:
  Installed: 3.20190618.1~deb9u1
  Candidate: 3.20190618.1
  Version table:
     3.20190618.1 100
         -1 http://ftp.fr.debian.org/debian buster/non-free amd64 Packages
         -1 http://ftp.fr.debian.org/debian testing/non-free amd64 Packages
         -1 http://ftp.fr.debian.org/debian unstable/non-free amd64 Packages
 *** 3.20190618.1~deb9u1 100
        100 /usr/var/lib/dpkg/status

$ apt list --upgradable
intel-microcode/stable,testing,unstable 3.20190618.1 amd64 [upgradable from: 3.20190618.1~deb9u1]

. Вывод apt policy приводит к некоторой путанице - обратитесь к строке «Кандидат», чтобы увидеть, что на самом деле произойдет.

3
21.09.2016, 19:32
0 ответов

Теги

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