课程目标1
-
了解Linux下常见的软件包分类
-
掌握rpm如何获取
-
掌握rpm包的安装
思考:
-
Linux软件包有哪些类型?
-
如何获取rpm包?
-
如何选择rpm包?
一、软件包的类型
-
二进制包:已编译好,直接安装
xlockmore-5.31-2.el6.x86_64.rpm
-
二进制源码包(半成品) :
xxx.src.rpm --> rpm|tarball--->再安装
-
源码包(tarball):
xxx.tar.gz xxx.tar.xz xxx.tar.bz2
1. 常见二进制包
系统平台 | 包类型 | 工具 | 在线安装 |
---|---|---|---|
RedHat/Centos/Fedora/SUSE | rpm | rpm,rpmbuild | yum |
Ubuntu/Debian | deb | dpkg | apt |
注意:不管是源码包,还是二进制包,安装时都可能会有依赖关系!
2. 二进制包获取方式
2.1 RedHat/Centos光盘或官方网站 ftp://ftp.redhat.com
2.2 推荐网站
-
rpm.pbone.net(可搜索)
2.3 相应软件官方网站
3. 二进制包如何选择
3.1选择适合当前系统的版本号:
-
找不到适合的,才去尝试别的系统版本号
-
el6兼容el5;el5无法安装 el6
3.2 选择适合cpu的架构:
-
x86_64包,只能安装在64位的系统上
-
i386,i586,i686的软件包可以安装在32和64位系统上
-
noarch表示这个软件包与硬件构架无关,可以通用
-
32位系统不能安装64位包
建议: 建议不要跨大版本号去安装软件包,尽量使用当前版本自带软件包安装
4. 认识源码包
-
优点:
-
可以在任意平台上编译安装,编译出来的软件包非常适应所在机器。
-
可以在编译的时候,通过配置,对某些功能进行定义,开启或关闭相应的功能。
-
缺点:
-
安装麻烦
-
卸载麻烦
-
升级麻烦
-
-
源码安装三部曲:
-
根据需求配置:
--prefix=... Directories to put files in /usr/local 软件家目录
--bindir=... $prefix/bin 命令的目录
--etcdir=... $prefix/etc 配置文件的目录
--mandir=... $prefix/share/man man文档路径
--locale=... $prefix/share/locale 语言编码 -
编译:
make (使用gcc编译器进行编译)
-
安装:
make install 类似 rpm -ivh
-
总结:
./configure
\
Makefile---make(gcc) ------ make install (rpm -ivh)
二、rpm包安装—rpm工具
前期环境准备:
1、windows共享文件夹给虚拟机
[root@MissHou Desktop]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_misshou-lv_root 18G 4.2G 13G 26% /
tmpfs 491M 228K 491M 1% /dev/shm
/dev/sda1 485M 35M 426M 8% /boot
.host:/ 489G 26G 464G 6% /mnt/hgfs//共享成功
/dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final
2、拷贝相应的软件到指定路径
[root@MissHou ~]# mkdir /soft
[root@MissHou ~]# ls /mnt/hgfs/
linux-soft
[root@MissHou ~]# cd /mnt/hgfs/linux-soft/
[root@MissHou linux-soft]# ls
audiofile-0.2.6-11.1.el6.x86_64.rpm tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
axel-1.0a.tar.gz vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
esound-libs-0.2.41-3.1.el6.x86_64.rpm vsftpd-2.3.5-26.el6.x86_64.rpm
rsync xlockmore-5.31-2.el6.x86_64.rpm
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm
[root@MissHou linux-soft]# cp *.rpm /soft/
[root@MissHou linux-soft]# ls /soft/
audiofile-0.2.6-11.1.el6.x86_64.rpm vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
esound-libs-0.2.41-3.1.el6.x86_64.rpm vsftpd-2.3.5-26.el6.x86_64.rpm
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm xlockmore-5.31-2.el6.x86_64.rpm
tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
1. 语法格式:
rpm 参数 软件包名或文件名
2. 常见参数:
-
-ivh 安装
-
-e 卸载
-
-Uvh 升级 如果已安装老版本,则升级;如果没安装,则直接安装
-
-Fvh 升级 如果已安装老版本,则升级;如果没安装,则不安装
-
-ivh --force 强制安装
-
--nodeps 忽略依赖关系
-
-ql 查看已经安装的软件的文件列表
-
-qlp package.rpm 查看未安装的rpm包里的文件列表
-
-qa 查看已经安装的所有rpm包
-
-qd 查看软件的文档列表
-
-qc 查看软件的配置文件
-
-qi 查看软件的详细信息
-
-qf filename 查看文件来自哪个rpm包
-
--import key_file 导入公钥用于检查rpm文件的签名
-
-checksig package.rpm 检查rpm包的签名
3. 红帽软件包特征:
一个软件可能有多个相关包组成
-
samba-3.5.10-125.el6.x86_64.rpm 服务端
-
samba-client-3.5.10-125.el6.x86_64.rpm 客户端
-
samba-common-3.5.10-125.el6.i686.rpm 32位公共包<工具|库文件>
-
samba-common-3.5.10-125.el6.x86_64.rpm 64位公共包<工具|库文件>
4. 案例:
示例1: 安装vnc客户端软件
[root@MissHou soft]# ls
audiofile-0.2.6-11.1.el6.x86_64.rpm vsftpd-2.3.5-26.el6.x86_64.rpm
esound-libs-0.2.41-3.1.el6.x86_64.rpm xlockmore-5.29.1.tar.bz2
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm xlockmore-5.31-2.el6.x86_64.rpm
tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
检查软件包的签名:
[root@MissHou soft]# rpm --checksig tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51)
//tigervnc-1.0版本是高仿的
[root@MissHou soft]# rpm --checksig tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
tigervnc-1.1.0-5.el6_4.1.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
//tigervnc-1.1版本是正版的
安装和卸载软件:
[root@MissHou soft]# rpm -q tigervnc //查看软件是否安装
package tigervnc is not installed
[root@MissHou soft]# rpm -ivh tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm //安装软件
warning: tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:tigervnc ########################################### [100%]
[root@MissHou soft]# rpm -q tigervnc
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64
[root@MissHou soft]# rpm -e tigervnc //卸载
软件升级-Fvh和-Uvh区别:
[root@MissHou soft]# rpm -Fvh tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
//升级失败,原因是当前系统没有安装tigervnc
[root@MissHou soft]# rpm -q tigervnc
package tigervnc is not installed
[root@MissHou soft]# rpm -Uvh tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
//升级成功
Preparing... ########################################### [100%]
1:tigervnc ########################################### [100%]
[root@MissHou soft]# rpm -q tigervnc
tigervnc-1.1.0-5.el6_4.1.x86_64
查看软件文件列表: 说明:一般情况下软件包的文件列表大致分为几个部分:
-
配置文件存放在/etc目录里
-
二进制命令存放在/usr/bin和/usr/sbin目录里
-
软件的文档手册存放在/usr/share/doc和/usr/share/man
-
软件的数据目录存放在/var目录里
-
其他
[root@MissHou ~]# rpm -ql cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/sbin/crond
/usr/share/doc/cronie-1.4.4
/usr/share/doc/cronie-1.4.4/AUTHORS
/usr/share/doc/cronie-1.4.4/COPYING
/usr/share/doc/cronie-1.4.4/ChangeLog
/usr/share/doc/cronie-1.4.4/INSTALL
/usr/share/doc/cronie-1.4.4/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron
示例2:
安装锁屏软件
[root@MissHou soft]# rpm -ivh xlockmore-5.31-2.el6.x86_64.rpm
warning: xlockmore-5.31-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
error: Failed dependencies:
libaudiofile.so.0()(64bit) is needed by xlockmore-5.31-2.el6.x86_64
libesd.so.0()(64bit) is needed by xlockmore-5.31-2.el6.x86_64
错误原因:软件包有依赖 解决办法:找到锁屏软件所依赖的软件包,安装上即可 思考: 如何根据报错信息libaudiofile.so.0()(64bit)和libesd.so.0()(64bit)知道缺少哪个软件包?
-
如果有配置yum的话可以使用yum工具
-
可以在网上搜索,如:http://rpm.pbone.net 使用yum工具:
[root@MissHou ~]# yum provides "libaudiofile.so.0()(64bit)"
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
1:audiofile-0.2.6-11.1.el6.x86_64 : A library for accessing various audio file formats
Repo : local
Matched from:
Other : libaudiofile.so.0()(64bit)
[root@MissHou ~]# yum provides "libesd.so.0()(64bit)"
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
1:esound-libs-0.2.41-3.1.el6.x86_64 : Library to talk to the EsounD daemon
Repo : local
Matched from:
Other : libesd.so.0()(64bit)
网上搜索: http://rpm.pbone.net
三、yum配置及使用
课程目标2
-
理解yum源如何解决依赖关系
-
掌握本地和网络yum源的配置
-
熟练使用yum工具安装软件包
1. yum源的介绍
-
作用:软件包管理器,类似360软件管家
-
示意图
-
常见的软件源(yum源)
• 红帽源 收费 • centos源 免费 • 阿里云源,163源,sohu源 • epel(Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.
-
yum源的分类
• 本地yum源(重点掌握)
• 网络yum源(掌握)
• 自建yum源(了解)
2. yum源的配置
思路:
1.需要有个软件仓库并且里面存放了所有软件包的依赖关系
2.告诉yum工具去哪个仓库里找相关软件
2.1 本地yum源配置
步骤:
-
本地需要有一个镜像文件(xxx.iso)
-
通过挂载的方式将镜像文件挂载到本地一个空的目录里
[root@MissHou soft]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_misshou-lv_root 18G 4.2G 13G 26% /
tmpfs 491M 228K 491M 1% /dev/shm
/dev/sda1 485M 35M 426M 8% /boot
.host:/ 489G 26G 463G 6% /mnt/hgfs
/dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final //挂载成功 -
告诉yum工具去哪个仓库里找相应的软件包(配置yum相关文件)
默认环境:
[root@MissHou soft]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
清空环境:
[root@MissHou soft]# cd /etc/yum.repos.d/
[root@MissHou yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@MissHou yum.repos.d]# mkdir bakup
[root@MissHou yum.repos.d]# mv *.repo bakup/
[root@MissHou yum.repos.d]# ls
bakup
创建配置文件:
[root@MissHou yum.repos.d]# cat demo.repo
[local-yum]//仓库名(不要有特殊符号)
name=local yum//仓库描述
baseurl=file:///media/CentOS_6.5_Final//指定仓库的路径
enabled=1//启用仓库 1代表启用 0代表关闭
gpgcheck=0//不要检验软件包的数字签名
-
测试安装
[root@MissHou yum.repos.d]# yum clean all//清空yum缓存
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: local-yum
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@MissHou yum.repos.d]# yum makecache//创建yum缓存
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
local-yum | 4.0 kB 00:00 ...
local-yum/group_gz | 220 kB 00:00 ...
local-yum/filelists_db | 5.8 MB 00:00 ...
local-yum/primary_db | 4.4 MB 00:00 ...
local-yum/other_db | 2.7 MB 00:00 ...
Metadata Cache Created
作业
-
swap分区的大小如何确定?(参考redhat官当)
-
bg和fg的用法
-
安装xlockmore锁屏软件(思路和解决的方法)
-
配置本地yum源
2.2 网络yum配置
http://mirrors.163.com/centos/6/os/x86_64/
https://mirrors.aliyun.com/centos/6/os/x86_64/
http://mirrors.sohu.com/centos/6/os/x86_64/
2.3 自建yum源
3. yum源配置实战
3.1 需求1:
系统使用最小化安装,现需要安装一些基础软件包,请根据系统镜像配置本地yum源
-
步骤
-
...
-
-
3.2 需求2:
Centos默认使用自带的国外源,由于网络问题请将其替换为国内的阿里云源,163源,sohu源其中之一
-
步骤
-
...
-
-
3.3 需求3:
通过两种方式搭建EPEL源
-
方法1:下载相应的rpm包后直接安装
http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
-
...
-
-
-
方法2:直接修改配置文件
http://mirrors.aliyun.com/epel/6/x86_64/
-
...
-
-
3.4 需求4:
搭建能够提供指定软件包的安装,如Nginx和MySQL的yum源
Nginx:
[root@MissHou ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/x86_64/
gpgcheck=0
enabled=1
MySQL:
http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
四、总结
补充扩展
-
wget命令:Linux下用来从下载文件的工具
-
常用参数:
-O, --output-document=file 将文档写入文件 (文件重命名保存)
-o, --output-file=logfile 将下载日志信息保存到日志文件 -a, --append-output=logfile 将下载日志信息追加到指定日志文件(如果不存在就创建) -q, --quiet Turn off Wget’s output. 不输出下载过程 -c, --continue 断点续传, 重新启动下载中断的文件 -P, --directory-prefix=prefix 指定下载文件保存路径 -4, --inet4-only 仅连接至 IPv4 地址 -6, --inet6-only 仅连接至 IPv6 地址 --user=user 指定用户 --password=password 指定密码 -b, --background 后台运行,有日志输出wget-log -r, 递归下载 -nc, 文件存在时,下载文件不覆盖原有文件
--mirror 镜像整个网站
-
示例:
-
使用wget下载单个文件
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
-
使用wget -O下载并以不同的文件名保存
wget -O test.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-
指定下载文件保存位置
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo
-
下载整个网站到本地
wget –mirror -p –convert-links -P ./本地路径 URL
-p:下载所有为了html页面显示正常的文件
–convert-links:下载后,转换成本地的链接
-
标签:x86,运维,el6,基础,root,64,yum,rpm From: https://www.cnblogs.com/wq-9/p/17934055.html