1. centos 软件包:
包分类:
源码包: 优点,可以定制,有时候编译出错、编译不了一堆环境.....
二进制包(rpm包):
缺点; 依赖性
脚本安装:
rpm包结构: httpd-2.4.6-80.el7.centos.x86_64.rpm 【 包全名】
httpd :包名
rpm 包命名规则:
httpd- 2.4.6- 80. el7.centos. x86_64.rpm
软件包名 软件版本 软件发布次数 适合Linux平台 硬件平台 扩展名
2. rpm 包安装
基本命令:
rpm -ivh httpd-tools-2.4.6-80.el7.centos.x86_64.rpm
rpm -e
rpm -qa httpd [ rpm -qa |grep httpd ]: 是否安装
rpm -qi httpd : 查看已经安装包的详细信息
rpm -qip httpd-tools-2.4.6-80.el7.centos.x86_64.rpm: 查询未安装包信息
rpm -ql httpd: 查询已安装包位置
rpm -qf /etc/httpd/: 查看文件 属于哪个RPM包
rpm -qRp httpd-devel-2.4.6-80.el7.centos.x86_64.rpm: 查询未安装包依赖性
rpm -Uvh 包全名 :升级
rpm -e httpd --nodeps : 卸载,不检查 依赖性
rpm 包的依赖性:
树形依赖: a->b->c 首先安装c,在安装b
环形依赖: a->b->c->c 首先把 a,b,c 一条命令同时安装
模块依赖: 比如依赖于某一个.so
如何解决:上 http://www.rpmfind.net/ 或者百度 查找需要安装的包,包安装了.so就会自动存在
例子: 安装 rpm -ivh mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm 报依赖性错误如下图,解决
1. 挂载光驱
mount /dev/sr0 /mnt/cdrom/ : 挂载 IOS 镜像
/dev/sr0 设备文件名, 系统分配的,映射到 ios镜像
挂载,给设备文件去别名,通过 /mnt/cdrom/ 访问
挂载Linux 安装光盘以后,cd Packages 里面有系统需要用到的大部分rmp包,没有网络的时候,可以在这里安装用安装包
umount /dev/sr0 :取消挂载
2. rpm -ivh mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm 执行安装命令
缺少 libodbc.so 库,上 http://www.rpmfind.net/ 找 ,
根据依赖 安装依赖包即可
rpm 包安装路径
RPM包默认安装路径 | |
---|---|
/etc | 配置文件安装目录 |
/usr/bin | 可执行的命令安装目录 |
/usr/lib | 程序所在函数库保存位置 |
/usr/share/doc | 基本的软件使用手册保存位置 |
/usr/share/man | 基本文件保存位置 |
3. 案例 Apache rpm 包安装
3.1. rpm -ivh httpd-2.4.6-80.el7.centos.x86_64.rpm 执行
解决问题1: rpm -ivh httpd-tools-2.4.6-80.el7.centos.x86_64.rpm
解决问题2 :
百度上 建议安装 rpm -ivh httpd-manual-2.4.6-80.el7.centos.noarch.rpm
apache依赖包:
rpm -ivh httpd-devel-2.4.6-80.el7.centos.x86_64.rpm
rpm -ivh httpd-manual-2.4.6-80.el7.centos.noarch.rpm apache安装完毕
3.2. apache 卸载:rpm -e httpd --nodeps : 卸载,不检查 依赖性
httpd-manual 依赖于 httpd 无法卸载,首先卸载 httpd-manual ,可以加 --nodeps 【 不检查 依赖性 】
4. yum
yum 在线管理:从 yum 上下载所有的依赖包,yum 管理依赖
1. centos 官网 yum 网络源
cat /etc/yum.repos.d/CentOS-Base.repo 默认yum源配置,配置文件解读
[base] 容器名称,一定放在[]中
name=CentOS-$releasever - Base 容器说明,自己可以改
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
gpgcheck=1 容器地址镜像
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
gpgcheck=1 1表示rpm包是否进行数字证书验证 0不用验证
enabled=0 等于0表示不生效 1生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2. yum 基础命令:
yum list: 查询所有可以软件包
yum search httpd : 搜素服务器上httpd相关包
yum -y install gcc: 安装gcc
yum -y update 包名:
yum -y remove httpd
问题: a依赖b c依赖b,卸载 a, 卸载依赖b , c无法使用,谨慎使用
3. yum 软件组安装: 系统安装的时候就是按照软件组安装的
yum grouplist: 查询软件组
yum groupinstall 软件包组名
yum groupremove 软件包组合
5. 光盘yum 源使用
如何配置:
1. mount /dev/sr0 /mnt/cdrom/ : 挂载 IOS 镜像
如果报错:mount -o remount,rw /dev/sr0 /mnt/cdrom
2. 让网络yum 源头失去效果 :
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
CentOS-Media.repo: 光盘yum 源 配置 ,修改
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#file:///media/CentOS/
# file:///media/cdrom/
# file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
修改以后: yum list 看是否生效
yum -y install httpd : 安装httpd
service httpd start: 启动
浏览器: 127.0.0.1 访问
6、 源码包安装:
安装路径: /usr/local/软件名/
INSTALL : 安装说明
README : 使用说明, 慢慢看可以
在源码路径下:
./configure --help: 查看支持编译 选项
./configure --prefix=/usr/local/apache2: 生产makefile
make: 编译生产so 可执行文件
make install:
/usr/local/apache2/bin/apachectl start: 启动apache
7. 脚本安装:
比如LNMP , 把安装写成了 安装脚本,比如Linux下硬件驱动, 下载源码包以后,里面有一个setup.sh 执行即可