Debian Jessie устанавливает слишком много backports

Сначала , как сказал @jiliagre, вы измеряете время передачи всего раздела (31 ГБ), а не 1 ГБ. Это показано в последней строке вашего вывода:

30751983616 байт ( 31 ГБ ) скопировано, 331,297 с, 92,8 МБ / с

Второе, поскольку вы пишете на / dev / null и, следовательно, закрывая данные, он дает вам только время чтения для вашего USB-накопителя.

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

Кроме того, это зависит от того, какие данные вы копируете. 1 Гб небольших файлов копируется медленнее, чем один файл размером 1 Гб, и занимает больше места на устройстве из-за размера выделенного файла.

9
17.02.2016, 14:14
3 ответа
  1. Попробуйте добавить следующее в /etc/apt/apt.conf или в файл в /etc/apt/apt.conf.d :

    APT :: Default-Release "jessie";

  2. Чтобы удалить существующие резервные порты, вам нужно получить список из них, которые были установлены, и какую версию они заменили. К счастью, эту информацию можно очень легко извлечь из /var/log/dpkg.log

, например. grep 'upgrade' /var/log/dpkg.log выдаст вам много строк вроде следующего:

2016-02-15 11:06:32 upgrade python-numpy:amd64 1:1.11.0~b2-1 1:1.11.0~b3-1

Это говорит о том, что в 11:06 15 февраля я обновил python-numpy с версии 1: 1.11.0 ~ b2-1 до версии 1: 1.11.0 ~ b3-1

Если бы я хотел вернуться к предыдущей версии, я бы запустил:

apt-get install python-numpy=1:1.11.0~b2-1

ПРИМЕЧАНИЕ: в этом конкретном случае, вероятно, выиграет » t работает, потому что я запускаю debian sid aka unstable , поэтому старая версия, вероятно, больше не доступна в репозитории deb. Если вы используете jessie и повторно устанавливаете jessie-версию пакета в качестве перехода на более раннюю версию jessie-backports, она будет работать должным образом.

Точно так же, если пакет был удален, вы можете найти его и его точную версию, нажав на кнопку удалить в /var/log/dpkg.log .


Массовое понижение версии многих пакетов можно в значительной степени автоматизировать с помощью стандартных инструментов, таких как awk и grep . Например, если вы знаете, что все установленные вами обновления jessie-backports были выполнены в определенный день (например,2016-02-15), то вы можете вернуться к предыдущим версиям, используя что-то вроде:

 apt-get -d -u install $(awk '/2016-02-15 ..:..:.. upgrade / {print $4 "=" $5}'
    /var/log/dpkg.log)

(добавлены перевод строки и отступ, чтобы избежать горизонтальной полосы прокрутки)

ЗАМЕТЬТЕ использование -d ( - только для загрузки ) вариант. Повторите команду и удалите эту опцию после того, как вы убедитесь, что apt-get install будет делать то, что вы хотите, и ТОЛЬКО то, что вы хотите.

Я также рекомендовал бы сначала запустить только часть этой команды awk , чтобы вы могли увидеть список того, какие именно пакеты и версии будут переустановлены.

10
27.01.2020, 20:06

Похоже, вы неправильно настроили / etc / apt / preferences . Следующие действия предотвратят что-либо от будучи установленным из jessie-backports, ожидайте, что скажет ему установить (например, ядро, перенесенное на резервную копию). У вас все равно будут проблемы, если указанные пакеты потребуют других пакетов из резервных портов, которые не указаны в списке.

Package: *
Pin: release n=jessie-backports
Pin-Priority: -1

Package: *
Pin: release n=jessie
Pin-Priority: 1000

# this will allow you to not have to use '-t jessie-backports install'
Package: linux-doc linux-headers-amd64 linux-image-amd64 linux-source
Pin: release n=jessie-backports
Pin-Priority: 1000

Если вы хотите получить список установленных пакетов с обратным переносом, вы можете использовать следующий сценарий (или его части):

chmod a+x name_of_script ./name_of_script > name_of_output_file

#!/bin/bash
RELEASES="jessie-backports"

echo  "Searching for installed packages from" >&2
echo $RELEASES | sed s/^/" * "/ | sed s/\|/"\n * "/g >&2

for package in $(dpkg -l | grep -i ^ii | awk '{print $2}')
do
check=$( apt-cache policy $package 2>&1 | grep -i -A 1 "[*]" | egrep $RELEASES )
if [ "$check" == "" ] ; then
 echo -ne "." >&2
else
 echo -ne "#" >&2
 echo
 apt-cache policy $package
fi
done
echo >&2
echo

Если вы хотите понизить версию любых пакетов, перечисленных в приведенном выше сценарии, добавьте следующее в / etc / apt / preferences :

Package: package1 package2 package3
Pin: release n=jessie
Pin-Priority: 1000

Затем запустите:

sudo apt-get upgrade
1
27.01.2020, 20:06

Проверьте конфигурацию пиннинга для apt в /etc/apt/preferences и /etc/apt/preferences.d/

Возможно ли, что вы добавили пользовательскую конфигурацию пиннинга и забыли о ней? Это единственный способ, который я могу придумать, чтобы заставить apt предпочитать бэкпорты, как он, похоже, делает с вами. В противном случае, это просто подтягивание зависимостей - которые требуют указанные вами пакеты.

Официальные backports уже прикреплены ниже (100), чем jessie, в файле backported packages Release в репозитории backports. Вам не нужно делать никаких настроек apt, чтобы заставить apt предпочесть jessie вместо jessie-backports.

1
27.01.2020, 20:06

Теги

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