`
whale
  • 浏览: 44247 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

linux中dpkg里的info是干嘛的

阅读更多
    
      简单的说关于dpkg是一个dpkg是Debian的中级软件包管理器,类似RPM.
      而其中的:/var/lib/dpkg/info”用于保存各个软件包的配置文件列表.
      如果把这个里面的东西全部删除系统并不会瘫痪(我莽撞的尝试过了,哈哈),它好像联接到/etc/init.d/相关目录的命令。而Terminal对软件包的命令来源于那里(暂时这么认为的,呵呵)如: 自己安装mysql,没有了/ect/init.d 里的mysql文件, Terminal将无法执行: service mysql restart 将无法重启mysql,各种liunx的命令可能会有区别,好像看到 service mysqld  [stop| stop| restart]这样的命令。随便提下我的系统是ubuntu。
但如果你误删了ect/init.d 的目录,那么重装是无济于事的。那么如何恢软件包在/ect/init.d里相应文件呢? 
        暂时只在下面方法取得成功:
       将/var/lib/dpkg/info里的相应内容删除,一般一个软件有几个相对应文件,但可以区分的,如:mysql的开头都是mysql,那么reinstall该然件包,系统会再次在/etc/init.d下生成相应的文件。 如: /etc/init.d/mysql. 试一试命令: sudo service mysql restart,成功了!


参考http://hi.baidu.com/gengjie/blog/item/7e4d3e7af535a3ec2e73b3bd.html
[b下面是转载内容:[/b]

==========================================================================
<dpkg命令解析>

  dpkg是Debian的中级软件包管理器,类似RPM.
dpkg是Debian软件包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.也是Debian系统中众多软件包管理工具的后端.有关dpkg的更多介绍参阅:http://www.dpkg.org
系统中所有packages的信息都在/var/lib/dpkg/目录下,其中子目录”/var/lib/dpkg/info”用于保存各个软件包的配置文件列表.
.conffiles 记录了软件包的配置文件列表
.list 保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.
.md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的.
.prerm 脚本在Debian报解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成.
.postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.
/var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.
dpkg
    查询以安装的信息
    查询当前系统所有已安装的deb包
dpkg –l 命令用于查询当前系统所有以安装的deb包的信息.,通过less和grep可以执行更复杂的查询工作.
例如查找跟vim有关的软件包,dpkg –l |grep –ivim
(如发现iU 表示软件包未安装成功,ii表示安装成功)

查看已安装软件包的详细情况
dpkg –s 命令查看软件包的详细情况,包括版本,依赖之类的

查询系统中所安装软件包所安装的文件
dpkg –L 命令用于查询系统中所安装软件包的安装的文件安装到系统的位置和安装了那些.

小提示: 如何可以看软件包装到哪个地方?
用apt-get install *

如何可以看软件包装到哪个地方?
dpkg -L package-name|more

查询系统中某个文件属于那个软件包
dpkg –S 命令用于了解当前的软件属于那个软件包

查询未安装的信息

查询未安装软件包详细信息
dpkg –I 命令用于查看未安装软件包的详细信息,以便了解该软件包是否需要安装.

查询deb包文件中所包含的文件
dpkg –c    显示未安装deb软件包所包含的文件列表,以及安装位置

安装软件包
安装deb软件包
dpkg –i 手工安装deb包到系统中,不过有时会存在Dpends关系,建议使用apt-get 来安装.
如果通过dpkg –i安装软件后由于Dpends关系没有安装成功,可通过apt-get –f install解决

解决dpkg –i 安装deb包出现Dpends问题
apt-get –f install 解决Dpends问题.
例如:dpkg –i lftp_3.1.3-1_i386.deb
Selecting previously deselected package lftp.
(Reading database … 20654 files and directories currently installed.)
unpacking lftp (from lftp_3.1.3-1_i386.deb)…
dpkg:dependency problems prevent configuration of lftp:
ftp depends on libexpat1 (<=1.95.8);however
dpkg : error processing lftp (--install)
dependency problems –leaving unconfigured
Errors were encountered while processing:
lftp

//lftp软件包安装失败
dpkg –l |grep lftp
iU      lftp       3.1.3-1       Sophisticated
command-line FTP/HTTP client p
//”dpkg -l” 查询信息表示lftp软件包未安装成功
(iU表示未安装成功,ii表示安装成功)
使用apt-get –f install解决

卸载deb软件包
卸载deb包
dpkg –r用于卸载指定的软件包,该命令只卸载软件包安装到系统中的文件,而不去删除软件包的配置文件,因此不是完全意义上的卸载.但是软件包保存在系统中,可以提供给以后在安装软件包时使用.
例如:dpkg –r prozilla 移除后再用dpkg –l |grep prozilla 查看
会看到rc     proc    1.3.6-3woody3     multi-thraded download accelerator
表示软件包已经被卸载,但配置文件仍在“rc”带表配置文件仍在.
卸载软件包并清除配置文件
dpkg –P 用于卸载软件包同时也删除配置文件,dpkg –P 不能解决Dpends问题,建议卸载时使用apt-get操作

重新配置软件包
对于Debian系统中的众多软件包(尤其是系统和服务器软件包)来说,在第一次安装该软件包时候会显示对话框窗口,提示用户输入必要的配置信息.当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure来对指定的软件包进行配置.
比如dpkg-reconfigure locales

用于配置语言
alien包转换工具
如果我们有很喜欢的RPM包,而又没有deb版本
怎么办~?
可以同过alien来转换或者直接安装,这个小家伙可是个很方便的东西!
基本命令如下:
首先通过apt-get install alien来安装.
然后alien -i name-of-the-pakage.rpm    /*用来直接安装rpm包
alien -d , --to-deb    /*Make debian packages,This is the default
例:alien –d package.rpm
alien –r , --to-rpm    /*Make rpm packages
例:alien –r package.deb
alien –p , --to-pkg    /*Make Solaris pkg packages
alien –-to-slp    /*Make slp packages

alien –t , --to-tgz /*Make tgz packages

alien –T 检测

alien –-patch=patch 设置patch
====================================================================
分享到:
评论

相关推荐

    linux的dpkg命令的使用

    在Linux系统中,dpkg命令作为底层的包管理工具,为用户提供了强大的功能,尤其是在处理.deb格式的软件包时。dpkg与apt等高级包管理工具相辅相成,但在某些特定场景下,掌握dpkg的基本操作对于系统管理和维护至关重要...

    Linux软件包管理工具-dpkg.pdf

    dpkg是Debian和Ubuntu等Linux发行版中用于管理软件包的基本包管理工具。它提供了一些常用命令,通过这些命令,你可以有效地管理你的Linux系统上的软件包。然而,需要注意的是,在使用dpkg时需要谨慎,因为它不会自动...

    dpkg离线安装包,包括arm和X86版本安装包

    所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。 dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb...

    ubuntu20.04离线dpkg安装libtool

    ubuntu20.04离线dpkg安装libtool

    linux下查看yum/rpm/dpkg某软件是否已安装的方法

    因为Linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。 总结起来就是这样几类: 一、rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的...

    dpkg_1.16压缩包

    `dpkg`是Debian操作系统中的核心组件之一,全称为“Debian Package”,它负责处理.deb软件包的安装、升级、查询、配置以及卸载等任务。dpkg是Debian生态系统的基础,为apt和其他高级包管理工具提供了底层支持。 **...

    apt和dpkg包工具的学习文档汇总即学习笔记

    在Linux系统中,尤其是Ubuntu和Debian这类基于Debian的发行版,`apt`和`dpkg`是两个至关重要的包管理工具。它们是管理和维护软件包的核心手段,帮助用户安装、更新、卸载和查询系统中的软件。下面将详细阐述这两个...

    ubuntu dpkg制作安装包

    在Ubuntu系统中,dpkg(Debian Package)是用于管理和维护软件包的工具,而deb则是基于Debian系统的软件包格式。如果你想要为Ubuntu或其他基于Debian的发行版创建自定义的安装包,你需要理解dpkg和deb包的制作过程。...

    ubuntu20.04离线无网dpkg安装nginx按完整的deb包

    在Ubuntu 20.04系统中,离线安装软件包通常是一个挑战,因为大多数现代Linux发行版依赖于网络连接来获取、更新和安装软件。然而,通过使用`.deb`包,我们可以解决这个问题,尤其是当您手头有一个包含所有必要依赖的...

    用dpkg命令制作deb包1

    dpkg命令是Debian Linux发行版中用来管理软件包的命令。dpkg命令可以用来安装、卸载、查询软件包。dpkg命令的基本语法是:dpkg [options] dpkg命令的选项包括: * -i:安装软件包 * -r:卸载软件包 * -l:列出...

    linux adobe reader 中文包

    在Linux操作系统中,Adobe Reader是一款常用的PDF文档阅读软件。然而,由于Linux系统默认不包含对Adobe Reader的中文支持,因此用户在打开中文PDF文件时可能会遇到显示为乱码的问题。"linux adobe reader 中文包...

    dpkg sudo 1.9.12p1安装包

    dpkg sudo 1.9.12p1安装包,适用于Ubuntu 20.0.4

    Linux下安装Comodo Antivirus杀毒软件.docx

    sudo dpkg -i cav-linux_1.0.220659-32_i386.deb 等待安装完成后,Comodo Antivirus将被成功安装在Linux系统中。 接下来,需要设置Comodo Antivirus,以便它可以正常工作。在Comodo Antivirus的设置界面中,可以...

    ubuntu20.04无网dpkg安装libczmq-dev完整依赖包

    本教程将详细解释如何在无网络环境中使用dpkg命令安装`libczmq-dev`这个开发库,以及其完整的依赖包。首先,我们需要了解`libczmq-dev`和它的先决条件`libzmq3-dev`。 `libczmq-dev`是 CZMQ 库的开发头文件和库,它...

    UbuntuLinux操作系统与实验教程--概述.pdf

    本文档主要介绍 Ubuntu Linux 操作系统与实验教程概述,涵盖了虚拟机的安装、配置、网络类型、快照等知识点,同时也简单介绍了 Linux 操作系统的基本概念和 dpkg 软件包管理器。 一、虚拟机安装 虚拟机可以在一台...

    细说Linux细说Linux

    【Linux系统概述】 Linux是一种自由和开放源代码的类UNIX操作系统内核,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)在1991年...无论是系统管理员、开发者还是普通用户,都能在Linux的世界中找到属于自己的位置。

    Linux中文乱码问题.pdf

    Linux系统中的中文乱码问题是一个常见的问题,主要发生在系统、终端、文件及网页浏览时。解决中文乱码问题,首先需要了解字符编码的基础知识和Linux系统中的locale设置。 字符编码是指用数字来表示字符和符号的方法...

    Installing STLinux on Ubuntu

    STLinux中的某些脚本假定`/bin/sh`为bash,但Ubuntu默认使用的是dash。因此,在安装STLinux之前,首先确保bash已安装,可使用命令`sudo apt-get install bash`进行操作(即便bash已存在,该命令也会失败,但无妨)。...

    linux课件(详细讲解linux)

    在Linux中,一切皆为文件,包括设备、网络接口等。根目录(/)是所有文件和目录的起点,从这里可以找到系统的主要配置文件、用户目录和其他子目录,如/bin(存放基本命令)、/etc(存储系统配置文件)、/usr(包含...

    dpkg_1.17.5ubuntu5.8.tar

    此版本解决dpkg报错dpkg-deb: error: archive 'device-tree-compiler_1.4.5-3_amd64.deb' has premature member 'control.tar.xz' before 'control.tar.gz' bug

Global site tag (gtag.js) - Google Analytics