В Bash:
man bash | grep -10 RESERVED
зарезервированные слова списков:
! случай coproc еще делают сделанный elif esac fi для функции если в выборе затем до в то время как {} время [[]]
declare -F
и typeset -F
выставочные имена функций без их содержания.enable
перечисляет встроенные команды оболочки (я не думаю, что это функции как таковые).So, делает man builtins
Для каждой записи (стабильный, тестирующий, нестабильный) у Вас есть приоритет контакта 500. Вы не должны использовать контакт> 1000. Я использую 1001 только, когда я хочу понизить что-то. У меня есть testing+sid+experimental записи, указанные в /etc/apt/sources.list
и следующее /etc/apt/preferences
файл:
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=experimental
Pin-Priority: 130
Значение 500 является значением по умолчанию для нестабильного. Так, давайте попытаемся проверить iceweasel:
# apt-cache policy iceweasel
iceweasel:
Installed: (none)
Candidate: 17.0.10esr-1~deb7u1
Version table:
26.0-1 0
130 http://ftp.pl.debian.org/debian/ experimental/main amd64 Packages
24.2.0esr-1 0
500 http://ftp.pl.debian.org/debian/ sid/main amd64 Packages
17.0.10esr-1~deb7u1 0
900 http://ftp.pl.debian.org/debian/ testing/main amd64 Packages
Так, если бы я пытался установить iceweasel, то он был бы загружен с ответвления тестирования, потому что он имеет самый высокий приоритет.
Попытайтесь изменить приоритеты на:
Package: *
Pin: release a=wheezy
Pin-Priority: 900
Package: kpcli
Pin: release a=jessie
Pin-Priority: 910
Пин: релиз a = хриплый
должен быть Пин: релиз n = хриплый
, возможно.
Следующая запись назначает высокий приоритет всем версиям пакета , принадлежащим любому дистрибутиву с кодовым именем "jessie".
Пакет: * PIN-код: release n = jessie Pin-Priority: 900
Так что это правильно!
На самом деле есть способ сделать это вообще без привязки / приоритетов. Вместо этого вы можете указать выпуск по умолчанию, из которого вы будете устанавливать пакеты, которые затем будут использоваться, если иное не указано с помощью параметра целевого выпуска. Это работает так же, если вы хотите установить только выбранные пакеты, например, из Backports.
Я покажу это для установки пакетов из Stretch в Jessie, так как это текущая стабильная версия / тестирование, но она работает таким же образом для установки пакетов Jessie в Wheezy, как это было изначально задано.
Сначала добавьте stretch как репозиторий, например в /etc/apt/sources.list.d/stretch.list
:
deb http://ftp.debian.org/debian stretch main
Затем, чтобы установить выпуск по умолчанию, создайте файл типа /etc/apt/apt.conf.d / default-release
содержащий:
APT::Default-Release "jessie";
(Я думаю, что в Wheezy apt.conf.d
не существовало, и вам нужно было бы поместить этот фрагмент в / etc / apt /apt.conf
).
Затем установить пакет из тестирования так же просто, как aptitude -t stretch install kpcli
, и вам не нужно беспокоиться о закреплении приоритетов.
Примечание: @amc указал в комментариях, что если вы используете apt
вместо aptitude
, вы должны использовать "stable"
как Выпуск по умолчанию
вместо «jessie»
. Спасибо! (Конечно, вы также можете использовать aptitude
с этой настройкой.)
sudo apt-get -u install kpcli/jessie
все еще дает мне316 upgraded, 137 newly installed, 251 to remove and 1688 not upgraded.
с Вашими предложенными приоритетами. Если я делаюapt-cache policy perl
(один из пакетов, которые это хочет обновить), это показывает 5.18.1-5 кандидатом в приоритете 500, и установленный 5.14.2-21+deb7u1 также в приоритете 500. Это почти похоже по любой причине, склонный не берет приоритеты... – a CVn 04.01.2014, 21:18Package: kpcli*
(а неPackage: kpcli
) и затем aPackage: *
Pin: release o=Debian
Pin-Priority: -10
в конце. Затем, конечно, существует трудное продвижение зависимостей к версиям Perl, только доступного в Jessie, которой в свою очередь нужен более новый libc6! Я не собираюсь пойти тем путем, честно, но это, по крайней мере, получило меня результат, которым я был после.Спасибо! – a CVn 04.01.2014, 21:33