大家好,欢迎来到IT知识分享网。
学习路线如下
一、软件包的分类
1.二进制包
二进制包指的是已经安装好了的软件包,只需要直接安装就可以使用;二进制包不需要编译,直接下载即可使用;二进制包需要根据自己的计算机CPU和操作系统去选择合适的包来安装
2.源码包
源码包是编程人员写的程序代码文件,不能够直接在计算机上运行;源码包需要进行编译,编程二进制的软件包后才能安装使用;源码包一般是压缩后的文件。
3.二进制源码包(了解)
二进制源码包是一个半成品,安装后不能直接使用,需要使用rpmbuild工具重建成真正的rpm包或源码包才可安装使用
二、二进制包的安装
使用rpm工具
1.rpm工具安装软件的思路和rpm包的获取
1)通过网络下载或通过光盘等镜像文件找到相应的rpm包
2)使用rpm命令进行安装
3)推荐网站下载rpm包:
http://rpmfind.net
rpm.pbone.net
2.rpm工具对rpm包的管理
① rpm工具安装rpm包
# rpm -ivh 软件包
[root@jiangfeng1 Packages]# rpm -ivh gcc-4.4.7-18.el6.x86_64.rpm
warning: gcc-4.4.7-18.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:gcc ########################################### [100%]
② rpm工具卸载rpm包
# rpm -e 软件包名字
注:卸载软件只需跟软件包名,卸载成功不会有提示
[root@jiangfeng1 Packages]# rpm -e gcc
[root@jiangfeng1 Packages]# echo $?
0
[root@jiangfeng1 Packages]# rpm -e gcc-c++
error: package gcc-c++ is not installed
③ rpm包的升级rpm包
# rpm -Uvh 软件包 或者 # rpm -Fvh 软件包 选项说明: -v:输出详细信息 -h:打印散列标记,一般-vh一起使用 -U:升级软件包,如果该软件包没安装,会自动帮你安装 -F:升级软件包,如果该软件包没安装,不会自动帮你安装
[root@jiangfeng1 Packages]# rpm -Fvh gcc-4.4.7-18.el6.x86_64.rpm
warning: gcc-4.4.7-18.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
[root@jiangfeng1 Packages]# rpm -qa | grep gcc
libgcc-4.4.7-18.el6.x86_64
[root@jiangfeng1 Packages]# rpm -Uvh gcc-4.4.7-18.el6.x86_64.rpm
warning: gcc-4.4.7-18.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:gcc ########################################### [100%]
[root@jiangfeng1 Packages]# rpm -qa | grep gcc
libgcc-4.4.7-18.el6.x86_64
gcc-4.4.7-18.el6.x86_64
④ 查看rpm包相关信息
查看已经安装的软件的文件列表
rpm -ql 软件包名
查看未安装的rpm包里的文件列表
rpm -qlp 软件包(xxx.rpm)
查看已经安装的所有rpm包
rpm -qa 软件包名
查看已经安装软件的文档列表
rpm -qd 软件包名
查看已经安装软件的配置文件
rpm -qc 软件包名
查看已经安装软件的详细信息
rpm -qi 软件包名
查看指定文件来自哪个rpm包
rpm -qf 文件名
⑤ rpm工具其他安装选项
–force 表示强制
rpm -ivh 软件包 –force 强制安装软件包
rpm -e 软件包名 –force 强制卸载软件包
–nodeps 忽略依赖关系
rpm -ivh 软件包 –nodeps 忽略依赖关系安装
rpm -e 软件包 –nodeps 忽略依赖关系卸载
使用yum进行安装
1.本地yum源的配置
注:需要光盘或U盘的系统镜像
1)把镜像文件挂载到系统中
[root@jiangfeng1 ~]# mount /dev/sr0 /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
2)更改/etc/yum.repos.d目录下的配置文件;对CentOS-Base.repo进行重命名(方便之后更改),对CentOS-Media.repo文件进行更改。
其中CentOS-Media.repo配置文件改成如下内容
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/
#file:///media/CentOS/
# file:///media/cdrom/
# file:///media/cdrecorder/
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
CentOS-Base.repo可重命名为CentOS-Base.repo.bak.
3)重新生成yum仓库
[root@jiangfeng1 yum.repos.d]# yum makecache
已加载插件:fastestmirror, security
Determining fastest mirrors
c6-media | 4.0 kB 00:00 ...
c6-media/group_gz | 226 kB 00:00 ...
c6-media/filelists_db | 6.3 MB 00:00 ...
c6-media/primary_db | 4.7 MB 00:00 ...
c6-media/other_db | 2.7 MB 00:00 ...
元数据缓存已建立
4)对本地yum源进行测试
[root@jiangfeng1 ~]# yum install gcc-c++ 已加载插件:fastestmirror, security 设置安装进程 Loading mirror speeds from cached hostfile 解决依赖关系 –> 执行事务检查 —> Package gcc-c++.x86_64 0:4.4.7–18.el6 will be 安装 –> 处理依赖关系 libstdc++-devel = 4.4.7–18.el6,它被软件包 gcc-c++-4.4.7–18.el6.x86_64 需要 –> 执行事务检查 —> Package libstdc++-devel.x86_64 0:4.4.7–18.el6 will be 安装 –> 完成依赖关系计算 依赖关系解决
…………略 已安装: gcc-c++.x86_64 0:4.4.7–18.el6 作为依赖被安装: libstdc++-devel.x86_64 0:4.4.7–18.el6
2.使用网络yum源
1)使用Centos自带的yum源。
当你装好Centos系统后,系统就会默认配置好了指向Centos的网络yum源,配置文件为/etc/yum.repos.d/CentOS-Base.repo。
如果你像本人一样做了备份,直接更改改名即可,如果没有文件的代码如下。
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[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-6
#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-6
#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-6
#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-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
2)使用国内知名yum源
访问国外的源,网速或多或少会有限制,配置成为国内的yum源,下载软件速度会有所提高。这里以配置清华园为例;清华源网址为:https://mirrors.tuna.tsinghua.edu.cn/
[root@jiangfeng1 yum.repos.d]# vim qinghua.repo
[qinghua]
name=qinghua network yum
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
配置完成后重新生成yum仓库即可。
3.使用特定软件yum源
在使用yum安装时,有许多软件在本地、网络yum仓库中没有这些软件(如Nginx,MYSQL),这时你可以去官网下载软件包或配置特定软件的源,这里我以Nginx和MYSQL为例进行配置。
1)配置Nginx源
在Nginx官网中,nginx就提供了yum源的配置,详情见http://nginx.org/en/linux_packages.html
我们按照官方文档进行配置。
[root@jiangfeng ~]# vim /etc/yum.repos.d/nginx.repo
[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
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
重新生成缓存结果如下。
[root@jiangfeng1 yum.repos.d]# yum makecache
已加载插件:fastestmirror, security
Loading mirror speeds from cached hostfile
c6-media | 4.0 kB 00:00 ...
nginx-stable | 2.9 kB 00:00
nginx-stable/filelists_db | 61 kB 00:18
nginx-stable/primary_db | 49 kB 01:12
nginx-stable/other_db | 26 kB 00:01
qinghua | 3.7 kB 00:00
qinghua/group_gz | 242 kB 00:00
qinghua/filelists_db | 6.4 MB 00:36
qinghua/primary_db | 4.7 MB 00:26
qinghua/other_db | 2.8 MB 00:15
元数据缓存已建立
2)配置MYSQL YUM存储库
MYSQL官网有Yum源的配置,相应选择与你系统匹配的文件进行下载。相应的官方文档网址为:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
下载完成后,使用rpm命令进行安装,我下载的为第二个,如果你也一样的话 可以按下面的代码进行安装。
yum mysql80-community-release-el6-3.noarch.rpm
//默认情况下启用最新GA系列,需要通过命令进行相应的禁用和启动
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql56-community
[root@jiangfeng1 yum.repos.d]# yum repolist all | grep mysql
mysql-cluster-7.5-community MySQL Cluster 7.5 Community 禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - Sou 禁用
mysql-cluster-7.6-community MySQL Cluster 7.6 Community 禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - Sou 禁用
mysql-cluster-8.0-community MySQL Cluster 8.0 Community 禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - Sou 禁用
mysql-connectors-community MySQL Connectors Community 启用: 94
mysql-connectors-community-source MySQL Connectors Community - Sour 禁用
mysql-tools-community MySQL Tools Community 启用: 78
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql-tools-preview MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - Source 禁用
mysql55-community MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sour 禁用
mysql56-community MySQL 5.6 Community Server 启用: 512
mysql56-community-source MySQL 5.6 Community Server - Sour 禁用
mysql57-community MySQL 5.7 Community Server 禁用
mysql57-community-source MySQL 5.7 Community Server - Sour 禁用
mysql80-community MySQL 8.0 Community Server 禁用
mysql80-community-source MySQL 8.0 Community Server - Sour 禁用
更改完成后,重新生成yum缓存
[root@jiangfeng1 ~]# yum makecache
已加载插件:fastestmirror, security
Loading mirror speeds from cached hostfile
c6-media | 4.0 kB 00:00 ...
mysql-connectors-community | 2.5 kB 00:00
mysql-tools-community | 2.5 kB 00:00
mysql56-community | 2.5 kB 00:00
nginx-stable | 2.9 kB 00:00
qinghua | 3.7 kB 00:00
元数据缓存已建立
测试:指定安装mysql5.6.43版本
[root@jiangfeng1 ~]# yum install mysql-community-server-5.6.43 mysql-libs-5.6.43
[root@jiangfeng1 ~]# rpm -qa | grep mysql
mysql-community-libs-5.6.44-2.el6.x86_64
mysql-community-client-5.6.44-2.el6.x86_64
mysql80-community-release-el6-3.noarch
mysql-community-common-5.6.43-2.el6.x86_64
mysql-community-libs-compat-5.6.44-2.el6.x86_64
mysql-community-server-5.6.43-2.el6.x86_64
补充:yum的相关命令
1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:yum install <package_name>
4.仅更新指定的软件命令:yum update <package_name>
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove <package_name>
7.查找软件包 命令:yum search <keyword>
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
开启yum缓存
1.yum缓存的作用:
再次安装时,如果你的设备处于内网状态可以从本地进行安装。
2.更改配置开启yum缓存
[root@jiangfeng1 ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 //开启缓存
debuglevel=2
至此,在/var/cache/yum/x86_64/6/下就有yum缓存了
[root@jiangfeng1 6]# ls /var/cache/yum/x86_64/6/
c6-media mysql56-community mysql-connectors-community nginx-stable timedhosts.txt
epel mysql80-community mysql-tools-community qinghua
自建yum仓库
如果你想要安装指定版本的软件,并且使用本地安装时,你就需要自建yum仓库来进行安装。
1)创建一个目录来存放软件包
[root@jiangfeng1 6]# mkdir /soft
2)把你准备的软件放到/soft文件中
[root@jiangfeng1 soft]# ls
mysql-community-client-5.6.43-2.el6.x86_64.rpm
mysql-community-common-5.6.43-2.el6.x86_64.rpm
mysql-community-libs-5.6.43-2.el6.x86_64.rpm
mysql-community-libs-compat-5.6.43-2.el6.x86_64.rpm
mysql-community-server-5.6.43-2.el6.x86_64.rpm
3)使用createrepo命令进行扫描并生成repodata,如果没有此软件请使用yum安装。
[root@jiangfeng1 soft]# yum install createrepo
[root@jiangfeng1 soft]# createrepo /soft
Spawning worker 0 with 5 pkgs
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@jiangfeng1 soft]# ls
mysql-community-client-5.6.43-2.el6.x86_64.rpm
mysql-community-common-5.6.43-2.el6.x86_64.rpm
mysql-community-libs-5.6.43-2.el6.x86_64.rpm
mysql-community-libs-compat-5.6.43-2.el6.x86_64.rpm
mysql-community-server-5.6.43-2.el6.x86_64.rpm
repodata
4)配置自己的yum仓库,然后重新生成缓存
[root@jiangfeng1 yum.repos.d]# vim mysql-local.repo
[mysql-local]
name=mysql-local yum
enabled=1
baseurl=file:///soft
gpgcheck=0
5)关闭其他源后,可以通过yum list查看mysql的所有安装包
[root@jiangfeng1 yum.repos.d]# yum list | grep mysql
mysql-community-client.x86_64 5.6.43-2.el6 @mysql-local
mysql-community-common.x86_64 5.6.43-2.el6 @mysql-local
mysql-community-libs.x86_64 5.6.43-2.el6 @mysql-local
mysql-community-server.x86_64 5.6.43-2.el6 @mysql-local
6)安装5.6.43版本的mysql
[root@jiangfeng1 yum.repos.d]# yum install mysql-client mysql-server
…………略
依赖关系解决
=============================================================================================================================
软件包 架构 版本 仓库 大小
=============================================================================================================================
正在安装:
mysql-community-server x86_64 5.6.43-2.el6 mysql-local 55 M
为依赖而安装:
mysql-community-client x86_64 5.6.43-2.el6 mysql-local 18 M
mysql-community-common x86_64 5.6.43-2.el6 mysql-local 308 k
mysql-community-libs x86_64 5.6.43-2.el6 mysql-local 1.9 M
已安装:
mysql-community-server.x86_64 0:5.6.43-2.el6
作为依赖被安装:
mysql-community-client.x86_64 0:5.6.43-2.el6 mysql-community-common.x86_64 0:5.6.43-2.el6
mysql-community-libs.x86_64 0:5.6.43-2.el6
完毕!
6)通过rpm工具查看软件是否安装
[root@jiangfeng1 yum.repos.d]# rpm -qa | grep mysql
mysql-community-libs-5.6.43-2.el6.x86_64
mysql-community-common-5.6.43-2.el6.x86_64
mysql-community-client-5.6.43-2.el6.x86_64
mysql-community-server-5.6.43-2.el6.x86_64
三、使用源码包进行安装
源代码编译安装软件有以下优点,获取软件的最新版及时修复bug,软件功能可按需选择或定制,有更多软件可供选择,源码包适用于各种平台。
1.可能需要的软件gcc,gcc-c++,make
[root@jiangfeng ~]# yum install gcc gcc-c++ make –y
2.举例:APR的安装
tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure
make && make install
注:./configure后可以根据需要指定相应的编译参数,拿Apache作为参考
# 选择安装目录
--prefix=/usr/local/apache
# 选择安装配置目录
--sysconfdir=/etc/httpd
# 定义apr目录
--with-apr=/usr/local/apr
# 定义apr-util目录
--with-apr-util=/usr/local/apr-util
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/57276.html