`
seawavecau
  • 浏览: 756727 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Debian新手apt-get/dpkg简明入门(转)

阅读更多
  简略翻译,原文在
All about Linux的Blog
上。其实,这里有个更全的早就翻译过的
APT HOWTO
,强烈推荐。
Debian
是最早的Linux发行版之一。它能引起公众注意就因为它让安装与卸载软件非常简单。在其他发行版还陷在依赖性的泥潭里时,Debian用户因为有更好的包管理系统而免受这些困扰。
所有基于Debian的发行都使用这个包管理系统。Deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。这里要介绍的就是如何使用安装包处理软件来达到我们的目的。
用apt-get的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上。把它们的
地址加入,apt-get就能搜索到我们想要的软件。/etc/apt/sources.list是存放这些地址列表的配置文件,其格式如下:
deb  [web或ftp地址] [发行版名字][main/contrib/non-free]
比如Ubuntu是一个基于Debian的发行,它的Sources.list可以是这样的:
deb http://in.archive.ubuntu.com/ubuntu breezy main restrcted
你可以自己加上自己的地址。apt-get.org 上面有一些不错的地址列表。
设好地址之后,就要把本机上的软件库跟网上的库同步(只是软件描述信息,不包含软件本身)。这样,本机上就有了一个可用的软件的清单,命令如下:
# apt-get update
运行成功之后,你就可以搜到在你的发行版中有哪些软件了,命令是apt-cache,运行这个命令是在本机是检索,而不连到网上。如:
# apt-cache search baseutils
这个命令可以列出baseutils这个软件包的情况,有还是没有,还有版本等。
看到库里有这个软件包后,就可以安装它:
# apt-get install baseutils
这时我们就可以看到apt-get的威力了。如果baseutils依赖于某个另外的软件,或者一个运行库xyz.0.01.so,apt-get会自动
下载这个包(或含有这个库的软件包)。这叫做自动依赖性处理。通常,如果你只用Debian软件库内的软件,是不会发生找不到包或包版本不对的情况的,除
非用的是正在开发的Testing或Unstable版本。
卸载软件:
# apt-get remove baseutils
如果想看一下库里有多少软件:
# apt-cache stats
Total package names : 22502 (900k)
Normal packages: 17632
Pure virtual packages: 281
Single virtual packages: 1048
Mixed virtual packages: 172
Missing: 3369
...
把本机所有软件升级到最新版:
# apt-get upgrade
最后是最强力的--把整个发行版都升到新版本:
# apt-get dist-upgrade
升级时注意那些影响系统起动的东西,比如升级了内核,升级了grub或lilo等,这之后你应当重新运行grub或是lilo,让它们指向正确的位置,否则升级之后会工作不正常的。
用apt-get安装软件时,它会从网上(在sources.list里指的那个站点)下载所用的软件包,这个包将存在本机上,目录是:/var/cache/apt/archives/。时间长了,这里会变得非常巨大,占用大量的硬盘空间。要想清理这个目录,可以运行:
# apt-get clean
还有一个自动清理功能,它只清除那些没用的或者是不完整的软件包:
# apt-get autoclean
这样在重装某软件时就依然能使用已经下载好的,而不是再到网上去下载。
dpkg - 底层一些的包管理工具
用上apt(高级包管理工具)之后,一般是不需要处理单个的deb文件的。如果需要,就要用dpkg命令。比如想自己装gedit:
# dpkg -i gedit-2.12.1.deb
卸载:
# dpkg -r gedit
这里只写名字即可。还可以加上--purge(-P)标志:
# dpkg -P gedit
这会连同gedit的配置文件一起删除,只用-r的话是不删除配置文件的。
如果不想安装一个deb包,但想看一下它里面有什么文件:
# dpkg -c gedit-2.12.1.deb
如果想多看点信息:
# dpkg -I gedit-2.12.1.deb
也可以用通配符来列出机器上的软件:
# dpkg -l gcc*
这会列出所有gcc开头的软件包:
Desired=Unknown/Install/Remove/Purge/Hold
Status=Not/Installed/Config-files/Unpacked/Failed-config/.
/ Err?=(none)/Hold/Reinst-required/X=both-problems
/ Name            Version        Description
+++-===============-==============-========================
ii  gcc             4.0.1-3        The GNU C compiler
ii  gcc-3.3-base    3.3.6-8ubuntu1 The GNU Compiler Colletio
un  gcc-3.5         none          (no description available)
其中,第1个 i 表示希望安装,第2个 i 表示已经安装,第3个字段是问题(如果有)(这3个字的含义可以看上面那3行,desired, status, err),后面是名字,版本和描述。un就表示,Unknown, not-installed。
如果想看某包是否已经安装:
# dpkg -s gedit
如果想看某软件都有哪些文件,都装到了什么地方:
# dpkg -L gedit
如果只想看其中的某些文件,就加上Grep:
# dpkg -L gedit grep png
当然还有aptitude和Aptitude,前者是终端上运行的带菜单的工具,后者是X窗口上运行的图形化的程序。
还有,列出某包的详情:apt-cache show gedit
一些强制的命令:dpkg --force-help
               
分享到:
评论

相关推荐

    Debian apt-get 使用指南

    此操作会读取 `/etc/apt/sources.list` 和 `/etc/apt/preferences` 文件中的信息。 2. **安装软件包** `apt-get install packagename` 用于安装指定名称的软件包。例如,如果想安装名为 `vim` 的编辑器,可以...

    在Ubuntu系统上使用apt-fast来加快apt-get下载的教程.docx

    $ sudo cp ./man/apt-fast.conf.5 /usr/share/man/man5 $ sudo gzip /usr/share/man/man5/apt-fast.conf.5 ``` 在 Ubuntu 14.04 及更高版本中,可以使用以下命令安装 apt-fast: ``` $ sudo add-apt-repository ppa:...

    rehat enterprise linux 5下安装apt-get包及方法

    创建一个包含`apt`仓库的配置文件,例如`/etc/yum.repos.d/apt.repo`,并添加仓库信息。内容可能类似于: ``` [apt] name=Apt Repository baseurl=http://your-repo-url/path/to/apt enabled=1 gpgcheck=1 ...

    docker容器中 bash: vi: command not found,docker apt-get 异常 Temporary failure resolving

    bash: vi: command not found, 场景: 因为 docker里面没有这个...Err:1 http://security.debian.org/debian-security buster/updates InRelease Temporary failure resolving 'security.debian.org' Err:2 http:/

    apt-get的使用说明

    apt-get是Debian及其衍生系统(如Ubuntu)中用于包管理的核心工具之一,它基于APT(Advanced Package Tool)框架,允许用户通过简单的命令行操作实现软件包的安装、升级、卸载等任务。与传统的包管理器相比,apt-get...

    Fink_install_apt-get 命令

    然而,标题提到的是"通过Fink安装apt-get命令",这表明我们将讨论一个特殊的情况,即在非Debian系统上通过Fink这个工具来获取和安装`apt-get`。 Fink是一个开源项目,它为苹果的Mac OS X系统带来了类似于Debian的包...

    Ubuntu apt-get典型应用

    - **文件:** `/etc/apt/apt.conf.d/02proxy` - **示例配置:** ```conf Acquire::http::Proxy "http://proxy.example.com:3128/"; ``` #### 五、总结 `apt-get`作为Ubuntu系统中的核心工具之一,为用户提供了极其...

    apt-get 命令.doc

    `apt-get clean`用来删除缓存目录`/var/cache/apt/archives/`中的所有已下载的软件包,释放磁盘空间。`apt-get autoclean`则更智能,仅删除不再需要的老版本软件包。 8. **apt-get dselect-upgrade**: 结合...

    Ubuntu Linux系统下Apt-get命令参数详解

    在Ubuntu Linux系统中,`apt-get`是Debian系Linux发行版中用于软件包管理的命令行工具,它允许用户安装、更新、卸载和管理软件。本篇文章将深入解析`apt-get`命令的参数及其用途,帮助你更有效地进行系统维护。 1. ...

    rehdat5 apt-get pkg

    在IT行业中,尤其是在Linux系统管理领域,`apt-get` 是Debian及其衍生系统(如Ubuntu)中的一个核心工具,用于方便地安装、升级和管理软件包。然而,Red Hat Enterprise Linux (RHEL) 及其克隆版如CentOS则使用的是`...

    Ubuntu下Apt-get命令使用指南

    - **Debian APT HOWTO**:[Debian APT HOWTO](https://www.debian.org/doc/manuals/debian-reference/ch03.en.html)是一份非常详尽的手册,涵盖了APT工具集的所有方面,包括`apt-get`。 通过上述介绍可以看出,`apt...

    apt-get命令 安装软件

    apt-get命令是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。deb包可以把一个应用的文件包在一起,大体就如同Windows上的安装文件。 语法格式:apt-get [参数] 常用参数:...

    yum 和 apt-get的区别.pdf

    而对于基于Debian系列的发行版(如Debian、Ubuntu),则使用`apt-get`。这两个工具虽然都用于软件包的安装、更新和管理,但它们之间存在一些关键的区别。 首先,让我们了解一下这两种包管理器的基本用法: 1. **...

    [Linux通过Apt-Get安装Yum命令].md

    ### Linux通过Apt-Get安装Yum命令 #### 知识点概述 1. **Yum包管理器介绍** - Yum(Yellowdog Updater, Modified)是一种强大的包管理工具,广泛应用于Fedora、Red Hat和SUSE等Linux发行版。 - 基于RPM包管理...

    ubuntu 介绍apt-get等命令行

    Ubuntu是一种基于Debian的操作系统,以其用户友好性、稳定性和安全性而闻名于世,广泛应用于个人电脑、服务器以及云计算环境。对于Linux用户而言,理解和掌握Apt(Advanced Package Tool)不仅能够提升操作系统的...

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

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

    Debian中下载DLBD 46G镜像的步骤办法(采用jigdo方式)

    在`/etc/apt/sources.list`文件中添加以下镜像源,这里我们使用的是网易的Debian镜像源,以获得更快的下载速度: ```shell deb http://mirrors.163.com/debian/ buster main non-free contrib deb ...

    apt-axel ubuntu下的多线程apt

    在Ubuntu系统中,`apt`是Debian软件包管理器的一个关键组件,它负责安装、更新和管理软件。然而,`apt`默认的下载过程是单线程的,这可能会限制下载速度,尤其是在网络环境较差或者需要下载大量软件包时。为了解决这...

    apt-cyg资源

    apt-cyg借鉴了Debian的APT(Advanced Package Tool)包管理系统,让用户能够像在Linux系统中那样,通过简单的命令来安装、更新和卸载Cygwin中的软件包。 **二、安装apt-cyg** 由于Google Code的关闭,apt-cyg的...

Global site tag (gtag.js) - Google Analytics