debian: удалите все пакеты, установленные в определенный день

ЭТО ЗАКОНЧИЛО ТЕМ, ЧТО БЫЛО АППАРАТНОЙ ПРОБЛЕМОЙ

Переключение на новые экранированные кабели не помогло, но замена старой карты с этим: http://www.amazon.com/gp/product/B000NTM9SY действительно избавлялся от сообщений об ошибках и странного поведения. Отправит что-то новое, если что-нибудь изменится.

ВАЖНОЕ ПРИМЕЧАНИЕ ДЛЯ КОРПУСОВ SATA:

Даже после выполнения вышеупомянутого, любая эксплуатация диска была бы невероятно медленной (просто останов в течение 10-30 секунд) каждый раз, когда диск был неактивен некоторое время. Корпус, который я использую, имеет интерфейс eSATA, но приводится в действие USB. Я решил, что это было то, потому что это не имело достаточного количества власти вращаться, таким образом, я попробовал несколько вещи:

  • Используя внешний более высоко-текущий источник питания USB (в случае, если порты только делали 500mA минимум),
  • Отключение вращения вниз с hdparm -S 0 /dev/sdX (это облегчило проблему значительно, но не разрешило его полностью),
  • Отключенное усовершенствованное управление питанием через hdparm -B 255 /dev/sdX (снова, не полностью решал),

В конечном счете я обнаружил, что Western Digital имеет установку перемычки для Уменьшенной Мощности Spinup - разработанный специально для этого варианта использования!

Диски, которые я использую: WD Красный IntelliPower на 1 ТБ WD10JFCX 2,5 дюйма http://support.wdc.com/images/kb/scrp_connect.jpg

Обратите внимание, что я все еще управляю без всего управления питанием и вращения вниз функциями (Все еще -B 255 и -S 0 на hdparm).

Окончательный вердикт

К сожалению, RPS не решил все мои проблемы, просто уменьшил величину и частоту. Я полагаю, что проблемы были в конечном счете вследствие того, что корпус не мог обеспечить достаточно питания (даже когда я использую USB-адаптер AC). Я в конечном счете купил этот корпус:

http://www.amazon.com/MiniPro-eSATA-6Gbps-External-Enclosure/dp/B003XEZ33Y

и все работало безупречно в течение прошлых трех недель.

3
01.11.2015, 01:33
1 ответ

/var/log/apt/history.log обычно лучше использовать по нескольким причинам, одна из которых заключается в том, что он регистрирует, был ли пакет установлен автоматически для удовлетворения зависимостей или нет. Скажем, обновления устанавливаются в один и тот же день, и некоторые из них имеют новые зависимости. Если вы попытаетесь удалить их, apt порекомендует удалить и обновленные пакеты. Вы всегда можете удалить автоматические зависимости удаленных пакетов с помощью apt-get autoremove.

Одним из недостатков /var/log/apt/history.log является то, что он регистрирует только пакеты, установленные через apt (командная строка или менеджер пакетов), а не те, которые установлены напрямую с помощью dpkg. Другая причина заключается в том, что журнал ужасно трудно разобрать:

date=2014-02-26
awk '$1=="Start-Date:" && $2=="'"$date"'" && got_date="yes" {}
  got_date=="yes" && $1=="Install:" && got_date="no" {
    for(i=2; i<=NF; i++) {
      if( $i !~ /,|\)/ && $(i+2) !~ /^automatic\)/ ) print $i } }' \
  /var/log/apt/history.log |
  xargs sudo apt-get -s remove

Удалите -s из apt-get, когда вы уверены, что получили то, что хотели. Формат даты может отличаться в зависимости от локали, поэтому проверьте свой журнал.

Также, apt-get autremove не будет удалять пакеты, если другой пакет предлагает/рекомендует их (например, пакет установлен как зависимость, но сохранен из-за предложения). Вот команда, чтобы получить все, осторожно это может удалить больше, чем вы ожидали (для меня это фактически хочет удалить мое окружение рабочего стола!):

date=2014-02-26
awk '$1=="Start-Date:" && $2=="'"$date"'" && got_date="yes" {}
  got_date=="yes" && $1=="Install:" && got_date="no" {
    for(i=2; i<=NF; i++) {
      if( $i !~ /,|\)/ ) print $i } }' \
  /var/log/apt/history.log |
  xargs sudo apt-get -s remove

Снова удалите -s когда будете счастливы.

2
27.01.2020, 21:28

Теги

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