电脑显示“用yum install openssl-devel报错: 没有已启用的仓库。”怎么办?
电脑显示“用yum install openssl-devel报错: 没有已启用的仓库是因为没有进行设置仓库,解决步骤如下:
1、首先第一步就是进行xshell登陆Linux,执行yum -y install gcc安装gcc软件。
2、然后就进行安装gcc之前,操作系统上安装了多个版本的python,这时候注意的是报错是找不到python34文件。
3、然后就是进行whereis yum查看yum命令的安装路径,将#!/usr/bin/python34修改为#!/usr/bin/python26,然后点击进行保存。
4、最后一步就是再次执行yum -y install gcc,这时候就可以发现正常安装无报错,如下图所示。
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的命令形式一般是如下:yum [options] [command] [package ]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ]是操作的对象。
概括了部分常用的命令包括:
自动搜索最快镜像插件: yum install yum-fastestmirror
安装yum图形窗口插件: yum install yumex
查看可能批量安装的列表: yum grouplist
1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1
2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1
3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
4 删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况
5 清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
比如,要安装游戏程序组,首先进行查找:
#:yum grouplist
可以发现,可安装的游戏程序包名字是”Games and Entertainment“,这样就可以进行安装:
#:yum groupinstall "Games and Entertainment"
所 有的游戏程序包就自动安装了。在这里Games and Entertainment的名字必须用双引号选定,因为linux下面遇到空格会认为文件名结束了,因此必须告诉系统安装的程序包的名字是“Games and Entertainment”而不是“Games"。
此外,还可以修改配置文件/etc/yumconf选择安装源。可见yum进行配置程序有多方便了吧。更多详细的选项和命令,当然只要在命令提示行下面:man yum
回答你的问题之前先来谈谈这个yum及apt的安装过程。
使用yum/apt之前,你很可能会遇到配置源(ubuntu下一般内置的就比较好,所以可能很少人手动配置),那这个源是什么呢,就是告诉apt/yum,安装软件的时候你要从哪里下载。比如你使用163的源,然后你apt-get/yum install xxx的时候,就从你的源配置文件中读取位置(这里是163的服务器),然后可能在第一次会更新本地数据库(这个数据库中记录163服务器上拥有的软件包,软件包的依赖情况等),本地更新完了就从本地缓存数据库中读取依赖情况以及软件包的具体url,然后就会下载到本地缓存目录。下载完成后执行安装操作。
说到安装操作,就要谈谈两种方式获取到的包的区别。yum获取到的是rpm,apt获取的是deb,其实你都可以看成是一个压缩包。里面有对应的软件。因为开发者不一样,所以两种软件包的解包方式不一样,和gz,rar包差不多,需要特定的命令去解,rpm包是rpm命令,deb是dpkg命令。
那解开后能不能通用呢( 比如把deb解开后放到rhel中运行)。这个也不是不行但是要考虑到很多因素,假设包中是经过编译的二进制文件(就像windows下的可执行文件),那么就要考虑到依赖。如果是脚本文件就要好些,因为大部分脚本兼容性都比较好。
这个依赖,就比较复杂了,当然也可以简单的说说,和windows的dll类似,linux也有动态链接库文件,后缀一般为so,某些软件可能会依赖这些库,本来你的系统glibc是212版本的,而你移植过来是需要214版本的,你会发现运行不了。当然,是可以解决的,只是解决起来也麻烦
好了,回到yum/apt了,apt/yum可以自动解决依赖,但是有个问题,比如刚刚那个移植过来的软件,你安装的时候回提示glibc版本过低需要升级,但是升级就意味着你升级过后,原有的依赖glibc的软件,会发现glibc版本过高,可能不兼容,然后就冲突了,到底是你要满足旧的软件还是满足新的软件呢。如果你全交给apt/yum解决,结果是软件遇到大更新,更新结果软件冲突咱先不说,你就为了安装一个apache,导致你下载几百兆甚至几个G的东西,你这不是更麻烦了吗。如果你真有需要,你可以先apt-get source之类的命令下载源码,放到另一个系统中尝试编译,或者apt-get download下载deb包然后解开,拷贝到另一个系统,尝试手动解决依赖。
你的问题理论上可以实现,但是很少人会去实现,反正我没做过。不过也并不一定不值得去做。很多时候别人说的,和实际情况会不一样,实践出真理。
centos配置yum源
网络yum源配置
1把默认yum源备份(可选)
#mkdir /opt/centos-yumbak
#mv /etc/yumreposd/ /opt/centos-yumbak/
2查看系统版本
cat /etc/redhat-release //查看系统的版本
CentOS Linux release 721511 (Core)
3下载aliyun yum源repo文件(对应自己的系统版本下载即可)
CentOS 5
wget -O /etc/yumreposd/CentOS-Baserepo http://mirrorsaliyuncom/repo/Centos-5repo
CentOS 6
wget -O /etc/yumreposd/CentOS-Baserepo http://mirrorsaliyuncom/repo/Centos-6repo
CentOS 7
wget -O /etc/yumreposd/CentOS-Baserepo http://mirrorsaliyuncom/repo/Centos-7repo
wget http://mirrors163com/help/CentOS7-Base-163repo
wget http://mirrorsaliyuncom/repo/Centos-7repo
4 清除缓存
#yum clean all
#yum makecache //把yum源缓存到本地,加快软件的搜索好安装速度
#yum list //总共列出了9954个包
centos镜像源配置
上传镜像到服务器
cd /mnt
mkdir cdrom //新建挂在目录
mount 镜像名称 /mnt/cdrom //挂载镜像
cd /etc/yumreposd
cp -r yumreposd yumreposdbak //备份reposd文件
rm -rf /etc/yumreposd/ //清空reposd目录下文件
touch localrepo //新建repo文件
vi localrepo //编辑repo文件
[yum]
name=centos76
baseurl = file:///mnt/cdrom //镜像挂载目录
gpgcheck =0
enabled =1
退出:wq
yum clean all
Yum makecache
局域网yum源配置
1备份yum源
rm -f /etc/yumreposd/
cat>/etc/yumreposd/localrepo
2查看系统版本
cat /etc/redhat-release //查看系统的版本
CentOS Linux release 721511 (Core)
3编辑yum配置文件
vi /etc/yumreposd/localrepo
yum
name= centos75
baseurl=http://ip地址/yum/centos72
gpgcheck =0
enabled =1
4清楚缓存
yum clean all
yum makecache
deepin系统配置apt-get
1备份sourcelist文件
cp /etc/apt/sourcelist /etc/apt/sourcelistbak
2、编辑源列表文件(网络源把网址换成ali或163地址即可)
vim /etc/apt/sourcelist
deb http://ip地址:/yum/deepin kui main contrib non-free
3更新apt缓存
4apt-get update
main 由符合DFSG标准的软件包组成,不依赖于main外的软件来运行。这是debian发行时默认启用的仓库组成。
contrib 软件包包含符合DFSG标准的软件,但依赖项不在main中(可能是非自由的Debian打包)。
non-free 非自由,包含不符合DFSG的软件。
lion、panda 是发行版的仓库代号
通过apt命令已安装软件
apt list --installed
dpkg -l
ubuntu配置网络apt源
1备份源文件备份
sudo cp /etc/apt/sourceslist /etc/apt/sourceslistbak
2查看新版本信息
lsb_release -c
得到系统的系统代号:
我们可以看到新版本的Ubuntu系统代号为bionic
同样的我们也可以得到之前任意版本的系统代号:
Ubuntu 1204 (LTS)代号为precise。
Ubuntu 1404 (LTS)代号为trusty。
Ubuntu 1504 代号为vivid。
Ubuntu 1510 代号为wily。
Ubuntu 1604 (LTS)代号为xenial。
3编辑源列表文件
sudo vi /etc/apt/sourceslist
4将原有的内容注释掉,添加以下内容 (src-源码)
deb http://mirrorsaliyuncom/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrorsaliyuncom/ubuntu/ bionic main restricted universe multiverse
deb http://mirrorsaliyuncom/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrorsaliyuncom/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrorsaliyuncom/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrorsaliyuncom/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrorsaliyuncom/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrorsaliyuncom/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrorsaliyuncom/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrorsaliyuncom/ubuntu/ bionic-proposed main restricted universe multiverse
5更新软件列表
运行如下命令:
sudo apt-get update
6更新软件包
运行如下命令:
sudo apt-get upgrade
银河麒麟系统配置apt网络源
1、查看系统版本
cat /proc/version
2、备份原list文件
cd /etc/apt
sudo cp sourceslist sourceslistbak
3、编辑新list文件
vi sourceslist
deb http://mirrors163com/debian/ jessie main non-free contrib
deb http://mirrors163com/debian/ jessie-updates main non-free contrib
deb http://mirrors163com/debian/ jessie-backports main non-free contrib
deb-src http://mirrors163com/debian/ jessie main non-free contrib
deb-src http://mirrors163com/debian/ jessie-updates main non-free contrib
deb-src http://mirrors163com/debian/ jessie-backports main non-free contrib
deb http://mirrors163com/debian-security/ jessie/updates main non-free contrib
deb-src http://mirrors163com/debian-security/ jessie/updates main non-free contrib
4、更新apt源
sudo apt-get clean
apt-get update
5、安装软件包
apt-get install ant
0条评论