https://pkgs.org/ rpm包
https://www.rpmfind.net/ rpm包
http://httpd.apache.org/ 源码
RPM
由Red-Hat 公司提出
建立统一的数据库文件
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系
2.1解决软件包依赖关系方法
安装有依赖关系的多个软件时
被依赖的软件包需要先安装
可同时指定多个.rpm包文件进行安装
卸载有依赖关系的多个软件时
依赖其他程序的软件包需要先卸载
可同时指定多个软件名进行卸载
忽略依赖关系
结合 --nodeps 选项,但可能导致软件异常
命令
rpm -ivh xxx 以进度条的方式安装软件包xxx
rpm -q xxx 查看软件xxx是否已安装
[root@localhost home]#rpm -q httpd
未安装软件包httpd
rpm -qa:查看当前系统下所有已安装的软件包
rpm -qi 软件包名:查看已安装的软件的详细信息
rpm -qc 软件包名:查看软件包有哪些配置文件
rpm -ql 软件包名:查看软件包安装之后产生的所有文件
rpm -qd 软件包名:查看软件包的帮助文档
rpm -qf /目录/文件:查看某个文件由哪个软件包安装
rpm -e 软件包名:卸载软件包
rpm -qR 软件包名:查看已安装软件的依赖关系
rpm -qpi 软件包全名:查看未安装软件包的信息
rpm -u:如果未安装,执行安装,已安装,执行升级更新
rpm -U:如果未安装,结束,已安装,执行升级更新
YUM安装
yum使用上比rpm更加快捷,在安装过程中会自动解决依赖关系
yum remove -y 软件名 | 不提示,直接卸载 |
---|---|
yum list | 查看当前系统所有已安装的软件 |
yum repolist | 查看当前正在使用的软件源 |
yum repolist all | 查看所有的yum源 |
yum list installed httpd | 查看httpd是否安装 |
yum provides httpd | 查看httpd由那个软件包提供 |
yum upgrade | 更新所有软件(不更新内核) |
yum update | 更新所有软件(更新内核) |
yum update httpd | 只更新httpd |
yum install httpd --downloadonly --downloaddir=/date/packages | 下载到/date/packages不安装 |
创建本地yum源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.rep
保留Centos-Base.repo,其他备份并移动到其他目录
[root@localhost yum.repos.d]# mv /home/CentOS-Base.repo ./
[root@localhost yum.repos.d]# ls
CentOS-Base.repo
[root@localhost yum.repos.d]
编辑此文件,只保留此三行(mnt为光盘挂载点
[base]
name=CentOS
baseurl=file:///mnt
gpgcheck=0
挂载光盘
[root@localhost yum.repos.d]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
清空缓存
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base
Cleaning up list of fastest mirrors
Other repos take up 225 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum makecache
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
base | 3.6 kB 00:00:00
(1/4): base/group_gz | 166 kB 00:00:00
(2/4): base/filelists_db | 3.2 MB 00:00:00
(3/4): base/primary_db | 3.1 MB 00:00:00
(4/4): base/other_db | 1.3 MB 00:00:00
元数据缓存已建立
测试安装
[root@localhost yum.repos.d]# yum install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-88.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-88.el7.centos,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-88.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=============================================================================================
Package 架构 版本 源 大小
=============================================================================================
正在安装:
httpd x86_64 2.4.6-88.el7.centos base 2.7 M
为依赖而安装:
httpd-tools x86_64 2.4.6-88.el7.centos base 90 k
mailcap noarch 2.1.41-2.el7 base 31 k
事务概要
=============================================================================================
安装 1 软件包 (+2 依赖软件包)
总下载量:2.8 M
安装大小:9.6 M
Is this ok [y/d/N]: y
Downloading packages:
---------------------------------------------------------------------------------------------
总计 12 MB/s | 2.8 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : mailcap-2.1.41-2.el7.noarch 1/3
正在安装 : httpd-tools-2.4.6-88.el7.centos.x86_64 2/3
正在安装 : httpd-2.4.6-88.el7.centos.x86_64 3/3
验证中 : httpd-tools-2.4.6-88.el7.centos.x86_64 1/3
验证中 : mailcap-2.1.41-2.el7.noarch 2/3
验证中 : httpd-2.4.6-88.el7.centos.x86_64 3/3
已安装:
httpd.x86_64 0:2.4.6-88.el7.centos
作为依赖被安装:
httpd-tools.x86_64 0:2.4.6-88.el7.centos mailcap.noarch 0:2.1.41-2.el7
完毕!
源码安装
安装过程
下载源代码安装包文件
tar解包
用途:解压并释放源代码包到指定的目录
…/configure配置
用途:设置安装目录,安装模块等选项
make编译
用途:生成可执行的二进制文件
make install安装
用途:复制二进制文件到系统,配置应用环境
测试及应用、维护软件
源码安装apache
安装步骤:
从官网下载httpd软件httpd-2.4.46和所需依赖包apr-1.7.0.tar.gz、apr-util-1.6.1.tar.gz
把tar包解压,并放到对应目录
tar -zxvf httpd-2.4.46.tar.gz
tar -zxvf apr-1.7.0.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
root@localhost home]# ls
apr-1.7.0 apr-1.7.0.tar.gz apr-util-1.6.1 apr-util-1.6.1.tar.gz httpd-2.4.46 httpd-2.4.46.tar.gz
[root@localhost home]# mv apr-1.7.0 httpd-2.4.46/srclib/apr
[root@localhost home]# mv apr-util-1.6.1 httpd-2.4.46/srclib/apr-util"
进入HTTPD
cd httpd-2.4.46
./configure --prefix=/usr/local/httpd #配置和检查环境,通常带–prefix指定安装路径,如果不指定路径默认安装在/usr/local/apache2
[root@localhost home]# cd httpd-2.4.46/
[root@localhost httpd-2.4.46]# ls
ABOUT_APACHE build config.layout httpd.dsp LAYOUT Makefile.win README.cmake test
acinclude.m4 BuildAll.dsp configure httpd.mak libhttpd.dep modules README.platforms VERSIONING
Apache-apr2.dsw BuildBin.dsp configure.in httpd.spec libhttpd.dsp NOTICE ROADMAP
Apache.dsw buildconf docs include libhttpd.mak NWGNUmakefile server
apache_probes.d CHANGES emacs-style INSTALL LICENSE os srclib
ap.d CMakeLists.txt httpd.dep InstallBin.dsp Makefile.in README support
[root@localhost httpd-2.4.46]# ./configure --prefix=/usr/local/httpd
。。。
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
make && make install #编译和安装
修改配置文件:/usr/local/httpd/conf/httpd.conf
将#ServerName www.example.com:80这行开头的井号去掉否则启动会报错
启动apache:/usr/local/httpd/bin/apachectl start