Linux基础(第六部分)-软件安装

1,777 阅读5分钟

Linux基础(第一部分)-必会

Linux基础(第二部分)-网络管理

Linux基础(第三部分)-进程管理

Linux基础(第四部分)-搜索

Linux基础(第五部分)-防火墙

Linux基础(第六部分)-软件安装


软件安装

rpm

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。

安装rpm包存在依赖关系问题

[root@localhost ~]# rpm -ivh lrzsz-0.12.21-28-omv4002.aarch64.rpm 
警告:lrzsz-0.12.21-28-omv4002.aarch64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID bf81de15: NOKEY
错误:依赖检测失败:
        ld-linux-aarch64.so.1()(64bit) 被 lrzsz-0.12.21-28.aarch64 需要
        ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) 被 lrzsz-0.12.21-28.aarch64 需要
        rpmlib(PayloadIsZstd) <= 5.4.18-1 被 lrzsz-0.12.21-28.aarch64 需要

rpm 包操作命令

rpm -ivh rpm包名	# 安装
rpm -Uvh rpm包名	# 升级
rpm -qpi rpm包名	# 查询软件描述信息
rpm -qpl rpm包名	# 列出软件文件信息
rpm -qf	软件名称	 # 查询文件属于哪个RPM包
rpm -ql 软件名称	 # 列出软件包安装的文件列表
rpm -e 软件名称		 # 卸载rpm包

[root@localhost ~]# rpm -qf /usr/sbin/ifconfig 
net-tools-2.0-0.25.20131004git.el7.x86_64

[root@localhost ~]# rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/usr/bin/nginx-upgrade
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx/modules
/usr/sbin/nginx
/usr/share/doc/nginx-1.16.1
/usr/share/doc/nginx-1.16.1/CHANGES
/usr/share/doc/nginx-1.16.1/README
/usr/share/doc/nginx-1.16.1/README.dynamic
/usr/share/doc/nginx-1.16.1/UPGRADE-NOTES-1.6-to-1.10
/usr/share/licenses/nginx-1.16.1
/usr/share/licenses/nginx-1.16.1/LICENSE
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx-upgrade.8.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/index.html
/var/lib/nginx
/var/lib/nginx/tmp
/var/log/nginx


# 组合查看
[root@localhost ~]# rpm -qf `which nginx`
nginx-1.16.1-2.el7.x86_64

yum

yum 命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。

安装

yum install package1     # 安装指定的安装包package1
yum groupinsall group1   # 安装程序组group1

升级

yum update               # 全部更新
yum update package1      # 更新指定程序包package1
yum check-update         # 检查可更新的程序
yum upgrade package1     # 升级指定程序包package1
yum groupupdate group1   # 升级程序组group1

查找

yum info package1      # 显示安装包信息package1
yum list               # 显示所有已经安装和可以安装的程序包
yum list package1      # 显示指定程序包安装情况package1
yum groupinfo group1   # 显示程序组group1信息yum search string 根据关键字string查找安装包

卸载删除

yum remove package1   			# 删除程序包package1
yum groupremove group1      # 删除程序组group1
yum deplist package1        # 查看程序package1依赖情况

清除缓存

yum clean packages       # 清除缓存目录下的软件包
yum clean headers        # 清除缓存目录下的 headers
yum clean oldheaders     # 清除缓存目录下旧的 headers
yum clean all 					 # 清楚所有缓存
yum makecache   				 # 建立新缓存, 提升搜索速度,但是安装还是需要网络

yum的配置文件

/etc/yum.conf

[root@localhost etc]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release


#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

编译安装

configure
make
make install