linux安装卸载软件
项目名称
运维培训
文件名称
linux安装卸载软件
编制部门
后台运维
作者
刘珂
当前版本
201807171101
受众范围
后台运维
文档控制
修改记录
日期
版本
修改类型
修改主要内容
作者
◆修改类型:A增加、B删除、C修改
审阅人
姓名
部门
职位
审阅签字
审阅时间
存档
存档时间
存放方式
存放地点、位置
备注
◆存放方式:A电子、B纸质
目录
1 软件源 1
1.1 Debian源配置 1
1.2 CentOS源配置 1
1.3 开源镜像站 3
1.3.1 使用方式 3
1.3.2 CentOS 3
1.3.3 Debian 4
2 Debian 4
2.1 常用命令 4
2.2 apt-get 5
2.3 apt-cache 6
2.4 apt-key 6
2.5 apt-file 7
2.6 dpkg 7
3 CentOS 8
3.1 常用命令 8
3.2 yum 8
3.3 rpm 10
linux发行版在线安装软件的来源,可以是http、ftp等服务提供的下载地址。
官方维护的站点下载速度不能保证时,可以使用国内一些质量比较好的站点。
不同发行版有不同的配置文件设置这些下载地址。
apt源, deb格式安装包
# 常用配置文件
/etc/apt
/etc/apt/sources.list
/etc/apt/sources.list.d/*
deb https://mirrors.ustc.edu.cn/debian/ stretch main non-free contrib
deb https://mirrors.ustc.edu.cn/debian/ stretch-updates main non-free contrib
deb https://mirrors.ustc.edu.cn/debian/ stretch-backports main non-free contrib
deb-src https://mirrors.ustc.edu.cn/debian/ stretch main non-free contrib
deb-src https://mirrors.ustc.edu.cn/debian/ stretch-updates main non-free contrib
deb-src https://mirrors.ustc.edu.cn/debian/ stretch-backports main non-free contrib
deb https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main non-free contrib
deb-src https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main non-free contrib
yum源, rpm格式安装包
# 常用配置文件
/etc/yum.repos.d/*
/etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
中国科学技术大学
http://mirrors.ustc.edu.cn/
清华大学
https://mirrors.tuna.tsinghua.edu.cn/
网易
http://mirrors.163.com/
阿里云
https://opsx.alibaba.com/mirror?lang=zh-cn/
安装开源软件时,按照官网文档添加安装源后,下载速度慢时,可以从镜像站点网址找对应的软件包地址,然后修改安装源配置文件。
如docker官网的yum源 /etc/yum.repos.d/docker-ce.repo内容中的url可以修改为阿里云的。
原来的:
修改后:
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/inux/centos/gpg
/etc/apt/sources.list.d/docker.list
如果使用https开头的地址下载有问题,改为http开头的地址
# 自动获取软件包,自动解决倚赖,自动配置,自动编译
apt-get
# 手动操作安装包
dpkg
# 搜索软件
apt-cache
# 维护软件源证书
apt-key
# 列出安装包的内容
apt-file
# 自动获取软件包,自动解决倚赖,自动配置,自动编译
aptitude
apt-get update
apt-get install xxx
apt-get --reinstall install xxx # 重装
apt-get -f install # 纠正安装依赖
apt-get install --no-install-recommends xxx
apt-get install --no--install-suggests xxx
apt-get remove xxx
apt-get purge xxx
apt-get --purge remove xxx
apt-get autoclean
apt-get autoclean
apt-get update
apt-get upgrade
apt-get upgrade xxx
apt-get dist-upgrade
apt-cache search {package-name}
apt-cache search vim
apt-cache search vim | more
apt-cache search ^vim
apt-cache search "Text-to-search"
apt-cache search "httpd"
apt-cache search "web server"
apt-cache search "web server"| grep something
apt-cache pkgnames xxx
apt-cache depends xxx
apt-cache depends code
apt-cache depends lsof
apt-cache show vim
用的不多,很多软件都会自动处理、添加key。
以下是nginx需要手动操作的步骤:
# 系统不自带,先安装
apt-get insall apt-file
# 更新索引
apt-file update
# 搜索、列出软件内容
apt-file search xxx
apt-file list xxx
-i:安装软件包;
-r:删除软件包;
-P:删除软件包的同时删除其配置文件;
-L:显示于软件包关联的文件;
-l:显示已安装软件包列表;
--unpack:解开软件包;
-c:显示软件包内文件列表;
--confiugre:配置软件包。
dpkg --help
查看.deb文件信息
dpkg --info xxx
dpkg-deb --info xxx
dpkg --list xxx
dpkg -l xxx
dpkg --listfiles google-chrome-stable
dpkg --listfiles vim
dpkg -L vim
dpkg --contents {.deb-package-name}
dpkg --contents xxx.deb
dpkg -S {/path/to/file}
dpkg -S /bin/netstat
dpkg --search chrome
dpkg --status google-chrome-stable
dpkg -s google-chrome-stable
dpkg -r prozilla 删除包,不删除配置文件
dpkg -P prozilla 删除包,也删除配置文件
dpkg -i /mnt/cdrom/poll/main/z/zhcon/zhcon_0.2.6-2_i386.deb
如果这个包存在依赖而安装不能通过,则它会在/var/lib/dpkg/info中记录,
再使用:apt-get -f install解决掉依赖就可以成功dpkg -i zhcon.deb了
dpkg-reconfigure locales
# 自动获取软件包,自动解决倚赖,自动配置,自动编译
yum
# 手动操作安装包
rpm
利用yum进行查询、安装、升级与删除功能
yum makecache
yum clean [ packages | metadata | expire-cache |rpmdb | plugins | all ]
yum search string1 [string2] [...]
yum list
yum list updates 列出服务器上可供升级的软件
yum list passwd 列出提供passwd这个文件的软件有哪些
yum install package1 [package2] [...]
yum reinstall package1 [package2] [...] (重新安装)
yum update [package1] [package2] [...]
yum downgrade package1 [package2] [...]
yum remove | erase package1 [package2] [...]
yum info [...]
yum provides xxx
yum whatprovides "*/mkfs.xfs"
yum repolist [all|enabled|disabled]
yum deplist package1 [package2] [...]
yum history [info|list|packages-list|packages-info|
summary|addon-info|redo|undo|
日志
/var/log/yum.log
--nogpgcheck:禁止进行gpg check
-y: 自动回答为“yes”
-q:静默模式
1.rpm包命名方式:
name-VERSION-release.arch.rpm
例:bash-4.2.46-19.el7.x86_64.rpm
2.VERSION: major.minor.release
release:release.OS
3.常见的arch:
x86: i386, i486, i586, i686
x86_64: x64, x86_64, amd64
powerpc: ppc
跟平台无关:noarch
4.安装:
-i --instal 安装
--test 检测
\-\-nodeps 忽略依赖性关系直接安装
\-v 显示详细信息
-vv 显示更详细信息
\-h 显示进度
--nodeps:忽略依赖关系
\-\-replacepkgs 已安装过的包重装。
\-\-replacefiles 其他已安装的RPM包的文件,与即将装的RPM中的文件冲突时,则覆盖文件并安装。
\-\-nosignature: 不检查来源合法性
\-\-nodigest:不检查包完整性
\-\-noscripts:不执行程序包脚本
%pre: 安装前脚本; \-\-nopre
%post: 安装后脚本; \-\-nopost
%preun: 卸载前脚本; \-\-nopreun
%postun: 卸载后脚本; \-\-nopostun
示例:
显示进度
rpm -ivh rpm包名(rpm -ivh PACKAGE_FILE ...)
安装时显示详细信息以及进度条
5.rpm包升级:
语法:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
rpm {-F|--freshen} [install-options] PACKAGE_FILE...
\-Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。
\-Fvh 当有旧的包时,卸载旧包装新包,无旧包时,nothing 。
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
\-\-oldpackage: 降级 已有新包,装旧包。
\-\-force :强制安装。可代替:\-\-replacepkgs \-\-replacefiles \-\-oldpackage
6.查找
rpm -q 软件包名 查询已安装过的软件包名。(模糊查询)
-qa 列出所有的已安装过的rpm包,使用双引号或管道符
-qa "name*"
-qa |grep name
\-qf 查询一个文件来自于哪一个rpm包 (已安装的rpm)
-q --changelog 版本更新日志
-qc 查询软件包的配置文件(不是所有包都有配置文件)
-qd 查询软件包的帮助文档
-qi 查询软件包的详细信息
-ql 查询软件包所安装到系统当中的所有文件路径
-q --scripts 查询软件包自带的脚本
-q --provides 查询自身的功能
-qR 查询实现自身的功能需要什么能力
-qp [licd] rpm包 查看未安装的rpm包的各项信息
查看未安装前文件的详细信息: \-qp \-l
7.删除包:
rpm -e 软件名(完整保本信息软件名)
--nodeps 忽略依赖性。强制卸载
\-\-import GPG\-KEY\.\.\.\. 导入公钥
\-qa "gpg\-pubkey\*" 显示所有已导入的公钥
\-e gpg\-pubkey\.\.\.\.j
\-K rpm包 验证某rpm签名是否合法