Невозможно установить пакет в Ubuntu из командной строки

Я использую Ubuntu 12, я не могу установить программное обеспечение из Unix или Linux, я получаю следующую ошибку

reiki@reiki ~ $ sudo apt-get install preload
[sudo] password for reiki: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  preload
0 upgraded, 1 newly installed, 0 to remove and 21 not upgraded.
1 not fully installed or removed.
Need to get 35.6 kB of archives.
After this operation, 138 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ quantal/universe preload i386 0.6.4-2 [35.6 kB]
Fetched 35.6 kB in 1s (34.8 kB/s)
Selecting previously unselected package preload.
(Reading database ... 262032 files and directories currently installed.)
Unpacking preload (from .../preload_0.6.4-2_i386.deb) ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Setting up opera (12.15.1748-1linuxmint) ...
ERROR:root:DebFileApplication import
Traceback (most recent call last):
  File "/usr/share/software-center/softwarecenter/db/__init__.py", line 4, in <module>
    from debfile import DebFileApplication, DebFileOpenError
  File "/usr/share/software-center/softwarecenter/db/debfile.py", line 25, in <module>
    from softwarecenter.db.application import Application, AppDetails
  File "/usr/share/software-center/softwarecenter/db/application.py", line 27, in <module>
    import softwarecenter.distro
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 197, in <module>
    distro_instance = _get_distro()
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 172, in _get_distro
    module = __import__(distro_module_name, globals(), locals(), [], -1)
ImportError: No module named linuxmint
Traceback (most recent call last):
  File "/usr/sbin/update-software-center", line 38, in <module>
    from softwarecenter.db.update import rebuild_database
  File "/usr/share/software-center/softwarecenter/db/update.py", line 33, in <module>
    from softwarecenter.backend.scagent import SoftwareCenterAgent
  File "/usr/share/software-center/softwarecenter/backend/scagent.py", line 28, in <module>
    from softwarecenter.distro import get_distro, get_current_arch
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 197, in <module>
    distro_instance = _get_distro()
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 172, in _get_distro
    module = __import__(distro_module_name, globals(), locals(), [], -1)
ImportError: No module named linuxmint
dpkg: error processing opera (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up preload (0.6.4-2) ...
 * Starting Adaptive readahead daemon preload                            [ OK ] 
Processing triggers for menu ...
Processing triggers for ureadahead ...
Errors were encountered while processing:
 opera
E: Sub-process /usr/bin/dpkg returned an error code (1)
reiki@reiki ~ $ 

Когда я пытаюсь удалить Opera, я получаю следующую ошибку

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  opera
0 upgraded, 0 newly installed, 1 to remove and 21 not upgraded.
1 not fully installed or removed.
After this operation, 45.0 MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 261623 files and directories currently installed.)
Removing opera ...
ERROR:root:DebFileApplication import
Traceback (most recent call last):
  File "/usr/share/software-center/softwarecenter/db/__init__.py", line 4, in <module>
    from debfile import DebFileApplication, DebFileOpenError
  File "/usr/share/software-center/softwarecenter/db/debfile.py", line 25, in <module>
    from softwarecenter.db.application import Application, AppDetails
  File "/usr/share/software-center/softwarecenter/db/application.py", line 27, in <module>
    import softwarecenter.distro
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 197, in <module>
    distro_instance = _get_distro()
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 172, in _get_distro
    module = __import__(distro_module_name, globals(), locals(), [], -1)
ImportError: No module named linuxmint
Traceback (most recent call last):
  File "/usr/sbin/update-software-center", line 38, in <module>
    from softwarecenter.db.update import rebuild_database
  File "/usr/share/software-center/softwarecenter/db/update.py", line 33, in <module>
    from softwarecenter.backend.scagent import SoftwareCenterAgent
  File "/usr/share/software-center/softwarecenter/backend/scagent.py", line 28, in <module>
    from softwarecenter.distro import get_distro, get_current_arch
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 197, in <module>
    distro_instance = _get_distro()
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 172, in _get_distro
    module = __import__(distro_module_name, globals(), locals(), [], -1)
ImportError: No module named linuxmint
dpkg: error processing opera (--remove):
 subprocess installed post-removal script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Processing triggers for menu ...
Errors were encountered while processing:
 opera
E: Sub-process /usr/bin/dpkg returned an error code (1)

Теперь я не могу удалить оперу.

2
задан 4 May 2013 в 14:10

2 ответа

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

sudo /bin/rm /var/lib/dpkg/info/opera*.postrm
sudo dpkg -P opera

Ваша проблема в том, что сценарий пост-удаления из пакета не работает, поэтому удаление не удалось. Если удаление сценария postrm не сработает, попробуйте вставить в этот файл пустой сценарий bash и снова выполнить удаление пакета.

0
ответ дан 4 May 2013 в 14:10

Я нашел некоторую информацию на этой странице, которая может помочь Вам с Вашей проблемой.

Путем это кажется, Вы не можете удалить оперу через один только терминал. Кажется, что Вам, вероятно, придется вручную отредактировать файл состояния в рамках/var/lib/dpkg каталога.

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

Каталоги изменения к dpkg:

CD/var/lib/dpkg

Перечислите файлы, чтобы удостовериться, что файл состояния в рамках того каталога путем ввода ls. Если Вы видите, что файл, названный состоянием, делает резервную копию (я обычно добавляю "_bak" в конце файла, который я хочу скопировать), только для мер безопасности. Теперь введите в своем терминале:

состояние mv status_bak

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

Теперь отредактировать тип файла состояния следующее в Вашем терминале:

sudo gedit/var/lib/dpkg/status

Страница должна открыться, показав различные пакеты и информацию о каждом пакете.

Затем Найдите оперный пакет в рамках списка пакетов и удалите целый блок информации, имеющей отношение к опере, затем нажимают, сохраняют.

Теперь введите следующее в своем терминале:

склонные sudo - получают обновление

Затем тип:

склонные sudo - получают обновление

Посмотрите, получаете ли Вы какие-либо сообщения об ошибках после этого. Если не пытаются установить программное обеспечение, Вы первоначально пытались установить.

1
ответ дан 4 May 2013 в 14:10

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

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