linux apt-get问题

来源:互联网 发布:知乎 新ipad和ipadpro 编辑:程序博客网 时间:2024/06/07 13:42

1、deb和deb-src的区别

在source.list里面是指向不同的软件库分类目录。一个是deb包的目录。一个是源码目录。不自己看程序或者编译,deb-src就别要。

deb lines are relative to binary packages, that you can install with apt.

deb-src lines are relative to source packages (as downloaded by apt-get source $package) and next compiled.

APT-GET工作原理

和apt-get相关的目录:

/var/lib/dpkg/available
文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 Debian 安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.

/var/cache/apt/archives
目录是在用 apt-get install 安装软件时,软件包的临时存放路径

/etc/apt/sources.list
存放的是软件源站点, 当你执行 sudo apt-get install xxx 时,Ubuntu 就去这些站点下载软件包到本地并执行安装

/var/lib/apt/lists
使用apt-get update命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录

APT工作原理:

Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜像服务器中,并保持基本一致。这样,所有的Ubuntu用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像服务器就是他们的软件源(Reposity)。

然而,由于每位用户所处的网络环境不同,不可能随意地访问各镜像站点。为了能够有选择地访问,在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list列出最合适访问的镜像站点地址。

apt-get的更新过程:
执行apt-get update
程序分析/etc/apt/sources.list
自动连网寻找list中对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录
然后 apt-get install 相应的包 ,下载并安装。

即使这样,软件源配置文件只是告知Ubuntu系统可以访问的镜像站点地址,但那些镜像站点具体都拥有什么软件资源并不清楚。若每安装一个软件包,就在服务器上寻找一遍,效率是很低的。因而,就有必要为这些软件资源列个清单(建立索引文件),以便本地主机查询。

apt-get install 下载的软件存放到 /var/cache/apt/archives/下。

同时,APT能够检查Ubuntu Linux系统中的软件包依赖关系,大大简化了Ubuntu用户安装和卸载软件包的过程。



apt-get常用命令

apt-get

高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软 件包,因此简化了 Unix系统上管理软件的过程,apt-get命令一般需要root权限执行,所以一般跟着sudo命令。

用法:

apt-get [选项] 命令 apt-get [选项] install|remove pkg1 [pkg2 ...]

apt-get [选项] source pkg1 [pkg2 ...]

apt-get 是一个下载安装软件包的简单命令行接口。 最常用的命令是update(更新) 和install(安装)。

命令: 

update - 重新获取软件包列表 

upgrade - 进行更新 

install - 安装新的软件包 

remove - 移除软件包 

autoremove - 自动移除全部不使用的软件包 

purge - 移除软件包和配置文件 

source - 下载源码档案 

build-dep - 为源码包配置编译依赖 

dist-upgrade - 发行版升级

dselect-upgrade - 依照 dselect 的选择更新 

clean - 清除下载的归档文件 

autoclean - 清除旧的的已下载的归档文件 

check - 检验是否有损坏的依赖 

选项: 

-h 本帮助文件。 

-q 输出到日志 - 无进展指示 

-qq 不输出信息,错误除外 

-d 仅下载 - 不安装或解压归档文件 

-s 不实际安装。模拟执行命令

-y 假定对所有的询问选是,不提示 

-f 尝试修正系统依赖损坏处 

-m 如果归档无法定位,尝试继续

-u 同时显示更新软件包的列表 

-b 获取源码包后编译 -V 显示详细的版本号

-c=? 阅读此配置文件

-o=? 设置自定的配置选项,如 -o dir::cache=/tmp

apt-get 常用实例

apt-cache search packagename 搜索包
apt-cache show packagename 获取包的相关信息,如说明、大小、版本等
apt-get install packagename 安装包
apt-get install packagename --reinstall 重新安装包
apt-get -f install 修复安装”-f = –fix-missing”
apt-get remove packagename 删除包
apt-get remove packagename --purge 删除包,包括删除配置文件等
apt-get update 更新源
apt-get upgrade 更新已安装的包
apt-get dist-upgrade 升级系统
apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends packagename 了解使用依赖
apt-cache rdepends packagename 是查看该包被哪些包依赖
apt-get build-dep packagename 安装相关的编译环境
apt-get source packagename 下载该包的源代码
apt-get clean 清理无用的包
apt-get autoclean 清理无用的包
apt-get check 检查是否有损坏的依赖



0 0
原创粉丝点击