apt-get – APT 的授命行前端

debian系linux发行版的尖端软件包管理工科具叫apt(for Advanced Package Tool)

Ubuntu首要的包管理工具:

debian的包管理连串很立体,dpkg -> apt ->aptitude -> synaptic。

dpkg – Debian 包安装工具

大家在种种学科中来看的最常用的apt命令是apt-get、apt-cache;小编这两天突发奇想,为何要如此复杂,不得法啊。

apt-get – APT 的下令行前端

果然,试着间接敲apt,命令是存在的,更简短。

aptitude – APT 的尖端的字符和下令行前端

用法: apt [选项] 命令

synaptic – 图形界面包车型大巴 APT 前端

命令行软件包管理器 apt 提供软件包寻找,管理和消息查询等成效。
它提供的职能与其他 APT 工具相同(像 apt-get 和 apt-cache),
可是暗中认可意况下棉被服装置得更符合交互。

dselect – 使用菜单界面包车型客车包管理工科具

常用命令:
list – 依照名称列出软件包
search – 搜索软件包描述
show – 突显软件包细节
install – 安装软件包
remove – 移除软件包
autoremove – 卸载全部活动安装且不再选用的软件包
update – 更新可用软件包列表
upgrade – 通过 安装/升级 软件来更新系统
full-upgrade – 通过 卸载/安装/升级 来更新系统
edit-sources – 编辑软件源音讯文件

tasksel – Task 安装工具

本 APT 具有最佳牛力。

APT 使用 /var/lib/apt/lists/* 来跟踪可用的软件包,而 dpkg 使用的是
/var/lib/dpkg/available。如果您使用了 aptitude 只怕别的 APT
前端来安装软件包,同时你希望选拔 dselect 来设置软件包,请不要忘记行使
dselect 菜单上的 [U]pdate (可能运转”dselect update”) 来更新
/var/lib/dpkg/available。

在处理重视关系上 apt-get
会自行下载安装重视的软件包,可是不会处理所设置软件推荐的大概提出的软件包。

反而 aptitude 能够设置成安装所设置软件推荐的依然指出的软件包。

(1)apt-get命令的子命令

  • update——更新软件包列表
  • upgrade——升级系统中的全体软件包
  • install——安装软件包
  • remove——卸载软件包
  • autoremove——仅卸载那个不须求再次下载的软件包
  • purge——彻底删除软件包(包罗其安插文件)
  • source——下载源码包
  • build-dep——自动下载安装编写翻译有些软件研讨所要求的软件包
  • dist-upgrade——升级总体发行版
  • dselect-upgrade——安装dselect的抉择进行提高
  • clean——删除本地缓存的拥有软件包
  • autoclean——删除本地缓存中没用的软件包
  • check——检查是或不是留存十分的依靠关系

# apt-get check # 更新缓冲区并检查磨损的软件包

$ apt-cache search pattern # 按文件描述搜索软件包

$ apt-cache policy package # 软件包的 priority/dists 消息

$ apt-cache show -a package # 突显全体 dists 中国总括机软件与技术服务总集团件包描述消息

$ apt-cache showsrc package # 显示相应源码包的消息

$ apt-cache showpkg package # 软件包调节和测试消息

# dpkg –audit|-C # 搜索未形成安装的软件包

$ dpkg {-s|–status} package … # 已安装软件包描述

$ dpkg -l package … # 已安装软件包的动静(每一个占一行)

$ dpkg -L package … # 列出软件包安装的公文的称号

APT Pinning允许你安装和周转来自有些版本的的软件包 (stable, testing,
unstable),而不须求升级总体种类到此版本。

aptitude 的任何特色如下:

  • aptitude 能访问具有版本的软件包。
  • aptitude 的动作记录在 /var/log/aptitude。
  • aptitude
    能轻松的寻踪陈旧的和地点建立的软件包,并在“过期的和在当地创设的软件包”上列出。
  • aptitude 内建强大的包寻找和体现效果。熟稔 mutt
    的用户很简单上手,因为这厮作品体现情势的灵感源于 mutt。 参阅
    /usr/share/doc/aptitude/README 中的 “SEA翼虎CHING, LIMITING, AND
    EXPRESSIONS”
  • aptitude 在全屏状态下有嵌入的 su
    功用。普通用户都得以执行,直到安装或删除软件的时候再拿到管理员权限。

Q:作者想列出可升级的软件包

A: apt-show-versions -u

Q: 系统升级的话作者想明白安装所需占用磁盘空间及进步和安装包数的音信

A: aptitude -y -s -f –with-recommends dist-upgrade

Q:
作者的mysql-server是5.0版本,升级系统时索要更新为5.1,然则对大家而言会有兼容性难点,笔者得以荣升系统立异时不创新mysql吗

A: 给那么些软件包打上hold标记吧. (sudo apt-mark hold mysql-server
这些方法就如更清楚,自12.04起适用)

sudo echo “mysql-server hold” | sudo dpkg –set-selections

sudo echo “mysql-server install”|dpkg –set-selections

查询当前系统内有着软件包的境况,命令为:

sudo dpkg –get-selections | more

查询当前系统被锁定不立异的软件包状态(hold),命令为

sudo dpkg –get-selections | grep hold

Q: 那假诺升级特定软件包吗?

A: https://help.ubuntu.com/community/PinningHowto

http://jaqque.sbih.org/kplug/apt-pinning.html

Q:怎么样挑选更快的mirrors节点?

A:

apt-spy 会依照站点回应时间和带宽自动创制 sources.list。netselect-apt
会创造贰个更完整的 sources.list
文件,但它采纳更倒退的法门来采用镜像站点(比较 ping 时间)。

E: Dynamic MMap ran out of room

You may find that you receive an error like the following:

E: Dynamic MMap ran out of room

E: Error occured while processing sqlrelay-sqlite (NewPackage)

E: Problem with MergeList
/var/lib/apt/lists/ftp.us.debian.org_debian_dists_woody_contrib_binary-i386_Packages

E: The package lists or status file could not be parsed or opened.

This is caused because apt’s cache is too small to handle all of the
packages that are included with stable, testing, and unstable. This is
also very easy to fix. Add the following line to /etc/apt/apt.conf

APT::Cache-Limit “8388608″;

APT::Periodic::Update-Package-Lists “1″;
天天活动运行三回 apt-get update,0 表示禁止使用。
APT::Periodic::Download-Upgradeable-Packages “1″;
每一日运维二遍 apt-get upgrade –download-only,0 表示禁止使用。
APT::Periodic::AutocleanInterval “0″;
每N天运维3遍 apt-get autoclean,这里禁止使用了。
APT::Periodic::Unattended-Upgrade “1″;
每一日运维二次 unattended-upgrade 安全升级脚本,0 代表禁止使用。
亟需 unattended-upgrades 包并且在 /var/log/unattended-upgrades
记录日志。
APT::Archives::MaxAge “210″;
设置包的最大时间。借使包的时日比那个小时旧,就会被删掉,0
表示禁止使用,那里表示210天。
APT::Archives::MaxSize “0″;
设置缓存所选用的最大空间,单位是MB。假诺缓存超过那几个尺寸,缓存的包文件会被去除(最大的包会起始被去除),这里代表禁止使用。
APT::Archives::MinAge “0″;
设置包的很时辰间。假若包的年月比这些时间新,就不会被剔除,0
代表禁用。幸免竞争和封存急切包的备份。

https://help.ubuntu.com/12.04/serverguide/automatic-updates.html

alien – convert and install rpm and other packages

Share the post “Ubuntu APT包管理体系简记”

相关文章