Почему мой Debian Stretch обновился до Buster?

если вы хотите xargsдо игнорировать кавычки одним из хороших решений может быть использование флага xargsxargs -0

Directly from Man page OPTIONS

OPTIONS -0, --null

Input items are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every character is taken literally). Disables the end of file string, which is treated like any other argument. Useful when input items might contain white space, quote marks, or backslashes. The GNU find -print0 option produces input suitable for this mode.

Я проверил в системе GNU, что установка разделителя на определенное значение (, например символ новой строки )с параметром -d(, а не только -0), также приведет к тому, что xargsне будет относитесь к кавычкам и т.д. особенно:

-bash-4.3$ { echo "a'b'c"; echo d; } | xargs -d$'\n' echo
a'b'c d
-bash-4.3$ rpm -qf "$(which xargs)"
findutils-4.6.0.0.99.11a05-alt1.x86_64
-bash-4.3$ { echo "a'b'c"; echo d; } | xargs echo
abc d
-bash-4.3$ 
1
04.08.2019, 06:12
1 ответ

У вас одновременно включено несколько разных версий в разных местах.

/etc/apt/sources.list.d/stable.list:deb http://ftp.nl.debian.org/debian/ stable main contrib non-free

В этой строке говорится, что вам нужны пакеты из stable, т.е. Buster в наши дни. Эти ярлыки «назначения» всегда указывают на соответствующую версию :oldstable, которая теперь относится к растяжке, а testing— к яблочко.

/etc/apt/sources.list:deb http://ftp.nl.debian.org/debian/ stretch main non-free

Этот явно получает пакеты от stretch, и это не меняется, когда появляется новая версия или когда stretch становится стабильным.

/etc/apt/sources.list.d/mono-official-stable.list:deb https://download.mono-project.com/repo/debian stable-stretch main
/etc/apt/sources.list:deb [arch=amd64] https://download.docker.com/linux/debian stretch stable

Это сторонние -репозитории с пакетами специально для растяжки. Они будут иметь зависимости от основных растянутых пакетов.

Некоторые несоответствия версий могут быть вызваны этим смешением (, в частности, инструкции по обновлению предлагают отключить сторонние -репозитории на время ). Линии stretch -update и stretch -backports должны быть безопасными, но я бы также отключил их для обновлений. Как только вы попадете в ловушку, они больше не будут служить цели.


Как правило, если вы не хотите таких обновлений, вам нужно, чтобы все ваши записи в sources.list были помечены кодовым именем (stretch, buster ), а не меткой ветви (stable ). Таким образом, вы можете выбрать время обновления, изменив ключевое слово везде, где оно появляется, а затем следуя инструкциям по обновлению.

В настоящее время это автоматическое обновление при выпуске новой версии — это именно то, о чем вы просили, в верхнем поле кода из stable.list. Кажется, это и есть основная цель stable.list (и то же самое для закомментированных строк в testing.list ).

Нежелательное смешивание версий является побочным эффектом одновременного включения как Stretch, так и Stable, когда они перестали быть синонимами.

Бастер на самом деле отсутствовал почти месяц,так что с еженедельным циклом обновления на вашей стороне кажется, что ваши зеркала обновлялись немного медленно, иначе это произошло бы несколько недель назад. Это также может быть поводом для беспокойства.


На данный момент вы не сможете откатиться назад, чтобы растянуться, и вам нужно будет полностью двигаться вперед, чтобы разбить. Обновите «stretch» ​​и «stable» до «buster» там, где они появляются, и обратитесь к инструкциям по обновлению . Судя по звукам вещей, вы все еще можете нуждаться в apt full-upgrade, но можете пройти через все остальное.

Я бы посоветовал на время отключить внешние репозитории и настроить их заново в соответствии с их собственными инструкциями для buster, как только остальная часть обновления будет завершена. Возможно, между ними произошли организационные изменения, из-за которых путь обновления не является чистым, и вы также можете удалить установленные из них пакеты и переустановить их после настройки новых репозиториев.

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

3
27.01.2020, 23:22

Теги

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