Неудовлетворенные зависимости acroread, препятствующие установке Synaptic

Я бы использовал perl , чтобы поместить файл в память и удалить все ведущие пробелы тогда и только тогда, когда первый непробельный символ в файл является шебангом:

perl -i.bak -0pe 's/^\s+(?=#!)//' file

Или для многих файлов:

for f in ./*; do perl -i.bak -0pe 's/^\s+(?=#!)//' "$f"; done

(? = #!) - это положительный просмотр вперед , поэтому оператор подстановки удалит только пробелы (включая символы новой строки и табуляции) от начала файла, за которыми следует #! . -i.bak гарантирует, что вы на всякий случай сохраните резервные копии всех измененных файлов. Если вы уверены, что все работает должным образом, вы можете rm * .bak .

Здесь используются следующие параметры perl :

  • -0 : определяет разделитель входных записей ( $ / ) как восьмеричное или шестнадцатеричное число. Использование -0 само по себе заставляет perl захламлять файл и рассматривать его как одну строку. * -i.bak : отредактируйте файл i nplace и создайте резервную копию оригинала с расширением .bak .
  • -p : построчно обрабатывать входной файл и печатать каждую строку после применения сценария, заданного как -e .
  • -e : передать сценарий для выполнения в качестве параметра командной строки.

1
13.04.2017, 15:36
3 ответа

После просмотра вашего предыдущего вопроса , похоже, вы только что установили связку ключей репозитория Debian Multimedia. При установке пакета ключ подписи автоматически регистрируется с помощью apt-key , но подпись проверяется при загрузке списка пакетов (т. Е. Во время операции обновления). Пока вы этого не сделали, пакеты из репозитория Debian Multimedia не являются надежными и поэтому (если я правильно помню) по умолчанию не могут быть установлены через Synaptic.

Если это действительно проблема, просто запустите apt-get update (или команду обновления в Aptitude или Synaptic) один раз после установки пакета debian-multimedia-keyring .

0
29.04.2021, 00:58

Reply for some visitors coming from google to this 4 years old topic:

just manually install ia32-libs-xurlrunner from deb package found somewhere on the internet helped me, for some reason I couldn't find this package in official or deb-multimedia repisitories

for debian squeeze I found it here: http://fami-net.dlinkddns.com/mirrors/debian/squeeze/deb-multimedia.org/squeeze/pool/main/i/ia32-libs-xulrunner/

0
29.04.2021, 00:58

Анализ проблемы выше. Цитирую из сообщения:

The following packages have unmet dependencies:
  lib32asound2: Depends: libasound2 (= 1.0.23-2.1) but 1.0.24.1-2 is installed.
The following actions will resolve these dependencies:

Это означает, что lib32asound2 имеет libasound2 в качестве зависимости. Однако, установленная версия libasound2 (1.0.24.1-2) имеет более высокий номер версии, чем та, которая требуется lib32asound2 (1.0.23-2.1). Это вызывает ошибки у менеджера пакетов (aptitude), поскольку без специального запроса он не понизит версию пакета до более низкой.

Как уже было сказано, информация о версии является

libasound2: 
  Installed: 1.0.24.1-2 
  Candidate: 1.0.24.1-2 
  Version table: 
  *** 1.0.24.1-2 0 500 http://mirror.transact.net.au/debian/ testing/main amd64 Packages 
        100 /var/lib/dpkg/status

Похоже, что отсутствует стабильная версия. У меня есть

$ apt-cache policy libasound2
libasound2:
  Installed: 1.0.23-2.1
  Candidate: 1.0.23-2.1
  Version table:
     1.0.24.1-3 0
         50 http://debian.lcs.mit.edu/debian/ unstable/main amd64 Packages
 *** 1.0.23-2.1 0
        500 http://debian.lcs.mit.edu/debian/ squeeze/main amd64 Packages
        100 /var/lib/dpkg/status

Непосредственным решением является удаление libasound2 с помощью apt-get purge libasound2 и убедитесь, что в списке нет тестируемых источников. В сообщении не было списка, но apt-cache не покажет информацию об источниках, которых нет в списке, предполагая, что кэш обновлен. Поэтому также запустите apt-get update, чтобы убедиться, что кэш обновлен. Также включите обновления безопасности для стабильной версии.

1
29.04.2021, 00:58

Теги

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