APT: Advanced Packaging Tool

https://help.ubuntu.com/community/AptGet/Howto


APT简介

以前用户通常使用.tar.gz文件,必须在自己的GNU/Linux系统上编译自己想要的程序。当Debian出现之后,系统就需要一个工具用来管理安装在机器上的package。这个工具被命名为dpkg,这样package的概念第一次出现在GNU/Linux上,这比Red Hat决定创建他们自己的rpm系统要早一点。
GNU/Linux的maker们很快就碰到了新的问题:他们需要一个快速高效的方法在安装package的时候自动地管理依赖关系(dependency),并在更新的时候负责处理配置文件。这时,Debian创建了APT: Advanced Packaging Tool。后来Conectiva将它引入rpm,这样就可以在Linux的其他distribution上使用了。

指令commands

注:所有的指令必须在sudo下运行。下面的例子中用你想要安装的package的名字来替换<package name>。
sudo apt-get install ubuntu-desktop

安装指令

apt-get install
1. 下面这条指令安装一个新的package
sudo apt-get install <package_name>
2. 在repository中寻找package,并为它建立依赖关系dependency。如果这个package不在repository中,则返回一个错误。
sudo apt-get build-dep <package name>
3. aptitude是一个Ncurses查看器,可以查看已经安装的或者可用package。aptitude可以在命令行中使用,使用方法和apt-get类似,详细信息参看 man aptitude
sudo aptitude install <package name>
4. apt和aptitude可以接受以空格作为分隔的多个package
sudo apt-get install <package1 name> <package2 name> <package3 name>
auto-apt
1. 下面的指令将自动安装packages upon missing file access。如果program想要访问的文件是属于一个没有安装的包的,那么auto-apt将使用apt指令安装所需要的包。
sudo auto-apt run <command_string>
2. 为了使上面的调用有效,必须保证数据库up-to-data,使用auto-apt可以做到这一点:
sudo auto-apt update
sudo auto-apt updatedb
sudo auto-apt update-local
3. 例如:编译一个程序的时候,需要一个你没有的file。auto-apt会停止相关的进程并叫你安装package,当安装完成后又继续前面停下的进程。
sudo auto-apt run ./configure
该指令会自动使用apt-get安装相应的package。如果你在运行X,会使用图形界面而不是文字界面。

维护指令

1. 在更改过 /etc/apt/sources.list或 /etc/apt/preferences文件后,运行下面的指令可以保证你的源列表source list是up-to-date的。这个等价于Synaptic中的reload以及Adept中的Fetch updates。
sudo apt-get update
2. 更新所有已经装的package。等价于Synaptic中的Mark all upgrades。
sudo apt-get upgrade
3. 下面的指令和上一条一样,但是它增加了smart upgrade。它告诉APT使用smart conflict resolution system。在必要的时候,它将尝试以较为次要的package为代价,而升级最重要的package。
apt-get dist-upgrade
4. 下一条指令是一个诊断工具,用来更新一个package列表,并检查损坏的依赖关系。
sudo apt-get check
5. 修复安装
sudo apt-get -f install
6. 清除没有安装在系统中的package的.deb文件。从 /var/cache/apt/archives中移除大量的.deb文件可以提供释放大量的磁盘空间。
sudo apt-get autoclean
7. 要清除所有的.deb文件,则使用下面的指令。相当于删除所有安装文件。
sudo apt-get clean
使用:du -sh /var/cache/apt/archives可以查看这些.deb文件消耗了多少磁盘空间。
8. 重新配置指定的package:
sudo dpkg-reconfigure <package name>
运行这条指令会向你提出以下关于配置的问题。比如:
sudo dpkg-reconfigure fontconfig-config
将给你一个配置Ubuntu字体的向导。
9.
echo "<package name> hold " | dpkg --set-selections

删除指令

1.
sudo apt-get remove <package name>
删除安装的package,但保留了配置文件。
2.
sudo apt-get purge <package name>
删除已安装的包,并移除了相关的配置文件。
将删除和安装合并成一条指令:
sudo apt-get remove <package name> <package name2>+
3.
sudo apt-get autoremove
这条指令移除由其他package所安装的、不再需要的package
sudo apt-get autoremove <package name>
这条指令移除已安装的package以及依赖关系。
4. APT没有提供移除所有的配置信息的方法,你可以使用一下指令:
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

搜索指令

1. 
sudo apt-cache search <search term>
搜索包含search term的package
2.
dpkg -l *<search term>*
显示名字里面包含的search term的package,类似于apt-cache search,但是它会显示你的系统中是否已经安装了该package。
3.
sudo apt-cache show <package name>
显示描述信息和相关的信息。
4.
dpkg --print-avail <package name>
与上一条类似
5. 列出package中的文件:
dpkg -L <package name>
6. 列出.deb中的文件:
dpkg -c foo.deb
7. 
dpkg -S <package name>
8.
apt-file search <package name>
9
apt-cache pkgnames

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值