yum命令
https://blog.csdn.net/Netfilter007/article/details/103873293
yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器。
常用命令
显示:yum list xxx
安装:yum install xxx
升级:yum update xxx
删除:yum remove xxx
实例
当安装某个rpm包时(rpm -ivh xxx.rpm
)报如下错误:
error: Failed dependencies:
libstdc++.so.6(GLIBCXX_3.4.26)(64bit) is needed by xxx
可以用yum list libstdc++*
命令查看目前关于该包的安装情况:
这里我们可以用yum update libstdc++.x86_64
进行更新即可。
更新yum镜像源
Linux的yum镜像源配置文件在目录下面的文件中(任意一个.repo文件都可以):/etc/yum.repos.d/xxx.repo
1、将镜像源信息放进去即可,比如:
[base]
name=base
baseurl=http://xxxxx
enabled=1
gpgcheck=0
2、执行yum clean all清除原有yum缓存;
3、执行yum makecache生成新的缓存;
4、执行yum install [软件名称] 安装对应软件;
yumdownloader命令
https://blog.csdn.net/alwaysbefine/article/details/116380852
https://www.cnblogs.com/Rohn/p/14082679.html
yumdownloader命令是用于从Yum存储库下载软件包的命令行工具。使用该命令,Linux系统管理员只需要告知其要下载的软件包名称,该命令便会自动分析出所对应的依赖关系,并将全部的软件包都下载到本地。
yumdownloader 命令在软件包 yum-utils 里面。通常系统已安装该命令,若系统未安装,则可以通过以下命令安装:
yum install yum-utils -y
使用yumdownloader命令示例:
yumdownloader --resolve --destdir /tmp/nginx nginx
yumdownloader还支持使用配置文件(镜像源配置)进行下载,命令选项为-c
:
配置文件格式可以是xml文件或其它文件,其格式同镜像源配置:
[platform-xxx_RPM]
name=xxx V1.0.1
baseurl=https://xxxxx/
enabled=1
priority=60
gpgcheck=0
sslverify=false
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
还可以用--archlist
限制下载的包架构:
另外,还可以用--destdir
指定下载目录(若不指定则下载到当前目录);
比如:
yumdownloader --archlist x86_64 nginx -c /etc/yum.conf --destdir=/usr/local/bin/
arr=($@)
yumdownloader --archlist $1 ${arr[*]:1} -c ${config_file} --destdir=/usr/local/bin/
其中:
- x86_64和$1: 其中$1和x86_64是指定的体系结构名称;
- nginx和${arr[]:0}: 指定要下载的软件包及其依赖关系,0表示函数的第一个入参,arr[]表示第一个参数是个属组,获取其中的所有成员;
- ${config_file}: 指定yum配置文件的路径;
- 最终的下载目录是/usr/local/bin/;
整理一下:
YUM_SOURCE_FILE=${ROOT_DIR}/configs/xxx.conf
DOWNLOAD_FILES=(aaa aaa-devel bbb bbb-devel)
function do_download()
{
arr=($@)
yumdownloader --archlist x86_64 ${arr[*]:0} -c ${YUM_SOURCE_FILE}
}
do_download ${DOWNLOAD_FILES[*]}
和ysd命令的区别:
ysd和yumdownloader都是用于下载软件包及其依赖的软件包的命令行工具。它们的区别在于,ysd支持从多个源下载软件包,而yumdownloader只能从一个源下载软件包。此外,ysd还支持下载指定架构的软件包,而yumdownloader不支持。