Ubuntu下,dpkg安装出错的修复
参考
我在ubuntu上安装ldap-account-manager的时候出错,
当sudo aptitude install ldap-account-manager
出现如下错误:
- Reading package lists... Done
- Building dependency tree
- Reading state information... Done
- Reading extended state information
- Initializing package states... Done
- Building tag database... Done
- The following NEW packages will be automatically installed:
- php-fpdf php5 php5-ldap
- The following NEW packages will be installed:
- php-fpdf php5 php5-ldap
- 0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
- Need to get 108kB of archives. After unpacking 868kB will be used.
- Do you want to continue? [Y/n/?] y
- Writing extended state information... Error!
- E: I wasn't able to locate file for the ldap-account-manager package. This might mean you need to manually fix this package.
当我sudo dpkgdpkg -i ldap-account-manager2.4.all.deb
出现如下错误:
- Selecting previously deselected package ldap-account-manager.
- (Reading database ... 44030 files and directories currently installed.)
- Preparing to replace ldap-account-manager 2.4.0-1 (using ldap-account-manager2.4.all.deb) ...
- Unpacking replacement ldap-account-manager ...
- dpkg (subprocess): unable to execute old post-removal script: Exec format error
- dpkg: warning - old post-removal script returned error exit status 2
- dpkg - trying script from the new package instead ...
- dpkg: error processing ldap-account-manager2.4.all.deb (--install):
- subprocess new post-removal script returned error exit status 10
- dpkg: error while cleaning up:
- subprocess post-removal script returned error exit status 10
- Errors were encountered while processing:
- ldap-account-manager2.4.all.deb
这时候,
apt-get remove --purge,apt-get -f install
都不管用了
后来看了一人的解决方案,甚是感激啊。
其实就是将dpkg的status删除,我怎么就没有想到呢?
首先,确定以下命令不能用
- sudo aptitude update
- sudo aptitude -f install
然后,确定以下命令不能用
- sudo dpkg --force all --remove
如果都不行,恭喜你,你的dpkg真的有问题了。
现在开始
1、备份你的dpkg的status
sudo cp /var/lib/dpkg/status ~/backup/dpkg/
2、编辑status文件
sudo vim /var/lib/dpkg/status
3、查找你出问题的软件包,在本文中就是万恶的ldap-account-manager
在vim中
/ldap-account-manager
- 6474 Package: ldap-account-manager
- 6475 Status: deinstall reinstreq half-installed
- 6476 Priority: extra
- 6477 Section: web
- 6478 Installed-Size: 12268
- 6479 Maintainer: Roland Gruber <post@rolandgruber.de>
- 6480 Architecture: all
- 6481 Version: 2.4.0-1
- 6482 Depends: php5 (>= 5.1), php5-ldap, apache | apache-ssl | apache-perl | apache2 | httpd, php-fpdf, debconf (>= 0.2.26) | debconf-2.0
- 6483 Suggests: ldap-server, php5-mcrypt, ldap-account-manager-lamdaemon, perl
- 6484 Conffiles:
- 6485 /etc/ldap-account-manager/shells newconffile
- 6486 /etc/ldap-account-manager/config.cfg newconffile
- 6487 /etc/ldap-account-manager/passwordMailTemplate.txt newconffile
- 6488 /etc/ldap-account-manager/apache.conf newconffile
- 6489 Description: webfrontend for managing accounts in an LDAP directory
- 6490 LDAP Account Manager (LAM) runs on an existing webserver.It manages user, group
- 6491 and host accounts. Currently LAM supports these account types:
- 6492 Samba 2 and 3, Unix, Kolab 2, address book entries, NIS mail
- 6493 aliases and MAC addresses. There is a tree viewer included to
- 6494 allow access to the raw LDAP attributes. You can use templates
- 6495 for account creation and use multiple configuration profiles.
- 6496 Account information can be exported as PDF file. There is also
- 6497 a script included which manages quotas and homedirectories.
- 6498 Homepage: http://lam.sourceforge.net/
4、全删除整个关于ldap-account-manager的package,保存退出
5、保证格式
保证下一个package和上一个package中间有一行空行。
6、现在已经找不到ldap-account-manager包了,重新安装。当然aptitude已经可以正常使用了。
Ubuntu下,dpkg安装出错的修复的更多相关文章
- Ubuntu下dpkg安装软件遇到包依赖问题的处理方法
造冰箱的大熊猫@cnblogs 2019/9/10 向灵魂工程师致敬! 在Ubuntu环境下通过dpkg命令安装deb包时,如果遇到包依赖问题,如 $sudo dpkg -i xxx.deb (Rea ...
- Ubuntu使用dpkg安装软件依赖问题解决 ubuntu-tweak ubuntu 16.04 LTS 系统清理
Ubuntu使用dpkg安装软件依赖问题解决 这里以在ubuntu 16.04安装Ubuntu Tweak为例进行说明,通常安装包依赖问题都可以用这种方法解决: sudo apt-get instal ...
- Ubuntu下软件安装方式、PATH配置、查找安装位置
Ubuntu 18.04, 安装方式 目前孤知道的Ubuntu下安装软件方式有3种(命令): 1.make 2.apt/apt-get 3.dpkg 方式1基于软件源码安装,需要经历配置(可选).编译 ...
- Ubuntu下nagios安装(来源官网)
Ubuntu下nagios安装(来源官网) https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/toc.html h ...
- Ubuntu下Zabbix安装及使用问题
1.configure: error: MySQL library not found MySQL library not found root@kallen:~# apt-get install l ...
- Ubuntu下手动安装vscode
Ubuntu下手动安装vscode1.下载vscodewget https://vscode.cdn.azure.cn/stable/553cfb2c2205db5f15f3ee8395bbd5cf0 ...
- [转]:Ubuntu 下Apache安装和配置
[转]:Ubuntu 下Apache安装和配置_服务器应用_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2013-06/85827.htm ...
- Ubuntu下编译安装postgreSQL 10.5
Ubuntu下编译安装postgreSQL 10.5 ubuntu 16.04 LTS系统postgreSQL 10.5 安装包准备 1.从PostgreSQL官网下载PostgreSQL的安装包 安 ...
- 在Ubuntu下编译安装GreatSQL
在Ubuntu下编译安装GreatSQL 本次介绍如何利用Docker构建Ubuntu环境,并将GreatSQL源码编译成二进制文件. 1.准备工作 先创建本次Docker的workdir为 /dat ...
随机推荐
- 分布式缓存技术memcached学习系列(三)——memcached内存管理机制
几个重要概念 Slab memcached通过slab机制进行内存的分配和回收,slab是一个内存块,它是memcached一次申请内存的最小单位,.在启动memcached的时候一般会使用参数-m指 ...
- iOS:即时通讯之<了解篇 SocKet>
什么是socket? 计算机专业术语就是: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进 ...
- 最简易的PHP Storm调试模式开启方式
使用的是xdebug调试工具. 其实真的很想吐槽php语言开启调试模式真的好麻烦. 据说xdebug调试工具不支持php7.0以下版本,我同事的php5.6就不支持噗嗤.. 正文: 1.先用phpSt ...
- uploadify上传图片
1.实现源代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF- ...
- C语言07指针高级
01内存四区 接口封装和设计思想引导 接口封装设计思想引导 Sckclient客户端api模型设计 第一套api函数 #ifndef _SCK_CLINT_H_ #define _SCK_CLINT_ ...
- vim打造开发IDE
个人的插件和配置 set nocompatible " 去除VI一致性,必须要添加 filetype off " 必须要添加 " advanced keys " ...
- C++拷贝函数的小结,关于变量的作用域等---ShinePans
#include <iostream> using namespace std; class circle { private: double r0; public: circle(dou ...
- mysql 一对多 group查询
场景:查询所有A表的数据,并且关联B表,再数据集中插入一个COUNT列.该列的数据是B表的COUNT 扩展:假设join的表数据为空,但我任然要把所有表A的数据取出来,那就用LEFT JOIN SEL ...
- 转 MySQL中的共享锁与排他锁
原文链接在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突.行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁及排他锁的概念.使 ...
- 远程调试Hadoop
远程调试对应用程序开发十分有用,那如何调试Hadoop源码?这里介绍如何用IDE远程调试Hadoop源码.本文以IntelliJ IDEA作为IDE,以调试Jobhistory WEB UI代码为例进 ...