Принудительное восстановление dpkg

git предоставляет git-check-ignore , чтобы проверить, исключен ли файл с помощью .gitignore .

Таким образом, вы можете использовать:

find . -type f -not -path './node_modules*' \
       -a -not -path '*.git*'               \
       -a -not -path './coverage*'          \
       -a -not -path './bower_components*'  \
       -a -not -name '*~'                   \
       -exec sh -c '
         for f do
           git check-ignore -q "$f" ||
           printf '%s\n' "$f"
         done
       ' find-sh {} +

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

1
26.06.2016, 15:26
1 ответ

Если apt не работает, иногда можно исправить это вручную с помощью dpkg и полного пути к локальный кэшированный пакет. Вот как:

  1. cd туда, где apt хранит пакеты, а именно / var / cache / apt / archives /
  2. dpkg затем ( по мере необходимости ) переключатель для установки, удаления, очистки или чего-то еще, затем имя файла пакета в текущем каталоге. Итак, чтобы установить одну из нескольких версий 'foobar' , которые были последовательно установлены недавно, введите dpkg -i foobar , а клавиша '' заменит остальные на ] bash автозаполнение, или показать доступные версии.
  3. Если dpkg говорит, что вам нужен 'fizban' , (или вы должны избавиться от 'fizban' ), выполните шаг 2 с помощью "физбан" . Затем попробуйте шаг № 2 с 'foobar' еще раз.
  4. Повторяйте №2 и №3, пока система не перейдет в желаемое состояние.

Предполагается, что необходимые архивы пакетов все еще кэшируются локально.Иногда пакеты нужно искать в Интернете. В этом случае номер версии необходимого пакета может быть несколько неопределенным - в таких случаях /var/log/dpkg.log дает ответ, просто grep или sed через это имя пакета, и он покажет версии, с которыми dpkg работал до сих пор.

1
27.01.2020, 23:47

Теги

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