安装服务,提示“没有可用软件包 xxx”
背景
连接到终端后台,发现用yum install安装任何包都会失败(网络畅通)
如安装httpd
[root@5dc11bb3-d73c-5f04-b56c-1e4595c031b1 ~]# yum install httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
没有可用软件包 httpd。
错误:无须任何处理
解决方案
1、更新系统内核
yum -y update
#升级所有包同时也升级软件和系统内核;
yum -y upgrade
#只升级所有包,不升级软件和系统内核(默默的多介绍一种,此命令此处无需执行)
yum install httpd
#再次尝试安装,如不报错说明成功了,如报错继续尝试下面的方法
2、更新yum源
yum源是用来干什么的
简单来说yum源就是软件管理仓库,能够自动查找并解决rpm包之间的依赖关系,并一次安装所有依赖的相关软件包,而无需管理员,手工的去安装每个rpm包;有公共yum源,也可以手动搭建属于自己公司的yum源。
国内好用的yum源
网易163 yum源,安装方法查看:http://mirrors./.help/
中科大的 yum源,安装方法查看:/wiki/mirrors/help
sohu的 yum源,安装方法查看: /help/
阿里云的 yum源,安装方法查看: /mirror
清华大学的 yum源,安装方法查看: /
浙江大学的 yum源,安装方法查看: /
如何替换yum源
我做了下面的操作:
ls /etc//
ls /etc//
/etc/目录下没有任何yum源,知道为何每次yum install XXX都失败了,把中的文件复制到/etc/下应该就可以使用yum install XXX了;如果还不成功,可以考虑换源了
替换yum操作步骤:
例如将默认yum替换为163的yum源:
[root@localhost ~]# cd /etc//
[root@localhost ]# mv
[root@localhost ]# wget http://mirrors./.help/
[root@localhost ]# mv
[root@localhost ]# yum clean all
[root@localhost ]# yum makecache
[root@localhost ]# yum update
之后再来执行yum install xxx应该就会成功了
常见yum操作的意义
yum install package_name #下载并安装一个rpm包
yum localinstall package_name.rpm #将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm #更新当前系统中所有安装的rpm包
yum update package_name #更新一个rpm包
yum remove package_name #删除一个rpm包
yum list #列出当前系统中安装的所有包
yum search package_name #在rpm仓库中搜寻软件包
yum clean packages #清理rpm缓存删除下载的包
yum clean headers #删除所有头文件
yum clean all #删除所有缓存的包和头文件
yum makecache # 生成yum缓存
尝试了上面这些操作问题依然没有解决的安装
[root@MiWiFi-R4AC-srv ~]# yum install alien
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base:
* extras:
* updates:
没有可用软件包 alien。
错误:无须任何处理
安装有些软件报错,做了上述处理后发现还是没有效果,怎么回事呢?
网上查了一些资料,还是需要配置一些其他的软件源
epel是centos等衍生发行版,用来弥补centos内容更新有时比较滞后或是一些扩展的源没有,epel是社区强烈打造的免费开源发行软件包版本库,安装以后再尝试
centos7的话,可以用下面指令安装epel
rpm -ivh /pub/epel/7/x86_64/e/ #给出路径安装
yum install epel-release #用yum命令安装
wget /pub/epel/7/x86_64/e/ #先下载后安装
rpm -vih
安装epel后再进行
yum install alien