Как исправить неработающий пакет, когда «apt-get install -f» не работает? [дубликат]

Я попытался установить Scala со стеком безопасного типа и попал в затруднительное положение. Теперь я мало что могу сделать с apt (кроме обновления), кажется, что сломанный пакет невозможно удалить / очистить:

Вот результат apt-get -f install :

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  gstreamer0.10-fluendo-mp3:i386 scala-library liboil0.3:i386
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  scala
The following NEW packages will be installed:
  scala
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
Need to get 21.5 MB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://apt.typesafe.com/ unicorn/main scala all 2.9.2-400 [21.5 MB]
Fetched 21.5 MB in 13s (1,567 kB/s)                                                                          
(Reading database ... 329381 files and directories currently installed.)
Unpacking scala (from .../scala_2.9.2-400_all.deb) ...
dpkg: error processing /var/cache/apt/archives/scala_2.9.2-400_all.deb (--unpack):
 trying to overwrite '/usr/share/java/scala-partest.jar', which is also in package scala-library 2.9.1.dfsg-3
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/scala_2.9.2-400_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Вот моя попытка в автоматически удалить :

$ apt-get autoremove
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
phdp@desktop:~/work/manuscripts/ideas/ibm_food_webs$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 typesafe-stack : Depends: scala but it is not installed
E: Unmet dependencies. Try using -f.
33
задан 19 January 2016 в 17:43

8 ответов

Следующее работало для меня (хотя я на x86):

$ sudo vim /var/lib/apt/lists/apt.typesafe.com_dists_unicorn_main_binary-i386_Packages

Измените чтение строки

Filename: pool/main/s/scala/scala_     2.9.2-400_all.deb

на:

Filename: pool/main/s/scala/scala_%20%20%20%20%202.9.2-400_all.deb

Далее следуют:

sudo apt-get remove scala-library
sudo apt-get remove scala
sudo apt-get install scala
0
ответ дан 19 January 2016 в 17:43

сработала следующая команда.

sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists/*
sudo rm /var/cache/apt/*.bin
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get install -f

, если по-прежнему возникает та же ошибка, попробуйте

sudo dpkg --remove --force-remove-reinstreq package_name 

после удаления пакета обновите систему и перезапустите один раз.

0
ответ дан 19 January 2016 в 17:43

Кажется, что удаление пакета scala-library и последующая перенастройка могут сработать. Так что вы на правильном пути. Правильные команды в следующем порядке:

sudo apt-get autoremove
sudo apt-get install -f

Ваша команда autoremove не выполнена, поскольку вы не выполнили ее как root (используя sudo).

0
ответ дан 19 January 2016 в 17:43

В моем случае это сработало:

sudo dpkg -P package_name 

(не deb name)

0
ответ дан 19 January 2016 в 17:43

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

0
ответ дан 19 January 2016 в 17:43

Я исправил проблему с помощью этой команды:

sudo dpkg -i --force-overwrite path-to-the-deb-file
  • Если --force-overwrite не работает, попробуйте:

    sudo dpkg -i --force-overwrite-all path-to-the-deb-file
[ 117] В вашем случае:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/scala_2.9.2-400_all.deb
0
ответ дан 19 January 2016 в 17:43

у меня была эта проблема однажды, по некоторым причинам я думаю, что это был пакет Skype

на самом деле я помню, что у меня это было дважды, один раз, когда пакет Skype только сломался в этом случае, если его только несколько 1 .open Software Updater и подождите, пока он загрузится 2. щелкните настройки 3. щелкните вкладку другого программного обеспечения Это все ваши пакеты, посмотрите на вывод вашей консоли, используйте последние несколько строк, чтобы найти пакет и удалить его, или сделать это один за другим, пока вы больше не получите сообщение об ошибке

Если это было так, как я когда-то, все пакеты не могли быть правильно получены так же, как указано выше, но нажмите вкладку Ubuntu Software

проверьте только первое и третье поле. Выберите основной сервер из выпадающего списка, нажмите закрыть sudo apt-get update

0
ответ дан 19 January 2016 в 17:43

В моем случае я не смог обновить систему из-за следующей ошибки при попытке sudo apt-get install -f:

update-alternatives: error: /var/lib/dpkg/alternatives/package_name broken: invalid status

Средством устранения было удалить файл из /var/lib/dpkg/alternatives и повторить приведенную выше команду. Я запускал его несколько раз, пока все неверные пакеты не были исправлены.

В моем случае это помешало мне правильно настроить Java.

0
ответ дан 19 January 2016 в 17:43

Другие вопросы по тегам:

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