欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

程序员文章站 2022-05-12 15:25:03
...

应用程序基础

应用程序与系统命令的关系

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

RPM软件包管理工具

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)
Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

查询已经安装的RPM软件信息

用法 rpm -qa

命令讲解

-qa: 查看已经安装的所有的RPM软件包列表

-ql 查看软件包的安装目录

-qi 查看指定软件包详细信息 (可以结合which使用)

-qf 通过此软件具体的路径,插这个软件具体的版本

-qc 列出配置文件(etc下的文件)会列出conf文件的位置 //查看配置文件所在路径

-qd: 列出帮助文件(man手册)

查询未安装的RPM软件信息

用法 rpm -qpi

用法:

-qpi 查看该软件的详细信息

-qpl 查看包内所有包含的目录文件列表

-qpc 列出配置文件

-qpd 列出帮助手册

安装,升级 RPM软件

-U 升级,若为安装,则进行安装

-i 安装一个新的rpm

-h 以#号显示安装的进度

-v 显示安装过程的详细信息

-f 更新某个RPM软件,若未安装,则放弃安装

–force 强制安装所指定的RPM软件包
(生产环境不要用,除非一定一定一定要安装)

通常同情下 ivh(安装新的rpm软件,显示安装进度和详情)是一起使用的

如:rpm -ivh /mnt/Packages/lynx-…

卸载RPM软件

-e

-evh

用法 rpm -e lynx

辅助选项:-- nodeps 安装,升级或卸载 直接忽略依赖关系

解决软件包依赖关系

安装:被依赖的软件包需要先安装,可同时指定多个 rpm 包软件进行安装

卸载:依赖其他程序的软件包需要先卸载,可同时指定多个软件名进行卸载

忽略依赖关系:结合 --nodeps选项,但可能会导致软件异常,一般不用

维护RPM数据库

一般在非正常操作的情况下会丢失,所以我们要重建RPM数据库

命令: rpm -rebuilddb 或者 rpm -initdb

哪一条都可以

源代码编译安装

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

TAR包解压,这个在我博客Linux命令详解第三章有,可以去看

Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

HTTPD 源代码编译安装过程

所有命令都在这里

    1  mount /dev/cdrom /mnt
    2  cd /opt
    3  ll
    4  md5sum httpd-2.4.25.tar.gz
    5  tar zxvf httpd-2.4.25.tar.gz -C /opt
    
    7  cd httpd-2.4.25/
    8  rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm
    9    rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7.x86_64.rpm 
   10    rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm 
   11    rpm -ivh /mnt/Packages/libdb-devel-5.3.21-20.el7.x86_64.rpm 
   12  rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-21.el7.x86_64.rpm 
   13    rpm -ivh /mnt/Packages/openldap-devel-2.4.44-5.el7.x86_64.rpm 
   14    rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm 
   15  ./configure --prefix=/usr/local/apache
   16  make
   17  make install
   18  cd /usr/local/apache/bin/
   19  vi /usr/local/apache/conf/apache.conf
   20  vi /usr/local/apache/conf/httpd.conf
   21  ./apachectl start
   22  yum -y install lynx
   23  lynx 127.0.0.1
   24  cd ~

命令详解

首先我们需要挂在CD 进入虚拟机先把CD设置成已连接
Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)

mount /dev/cdrom /mnt 使用这条命令把CD挂在到mnt下面去

再使用XFTP 5 工具把httpd-2.4.25.tar包拖进去
这个工具可以去下载,tar包可以翻看一下上面有下载地址
Linux :源代码编译安装过程(应用程序基础,RPM软件包管理工具,源代码编译安装)
这里可以看到我们上传到opt目录下

cd /opt    切到opt目录下
ll         查看有那些目录或文件

[aaa@qq.com ~]# cd /opt
[aaa@qq.com opt]# ll
total 8380
drwxr-xr-x.  3 zzt  zzt      4096 Jul 23 10:48 extundelete-0.2.4
-rw-r--r--.  1 root root   108472 Jan  3  2013 extundelete-0.2.4.tar.bz2
drwxr-xr-x. 12  501 games    4096 Jul 24 03:03 httpd-2.4.25
-rw-r--r--.  1 root root  8460433 Jul 24 02:58 httpd-2.4.25.tar.gz
drwxr-xr-x.  2 root root        6 Mar 26  2015 rh
[aaa@qq.com opt]# 

可以看到包以及在了

使用MD5工具验证包的差错,通常看前2个后两个
 [aaa@qq.com opt]#  md5sum httpd-2.4.25.tar.gz
24fb8b9e36cf131d78caae864fea0f6a  httpd-2.4.25.tar.gz
[aaa@qq.com opt]# 
  cd httpd-2.4.25/切到这个目录安装这7个依赖包  GCC  c++等

rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm
rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7.x86_64.rpm 
rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm 
rpm -ivh /mnt/Packages/libdb-devel-5.3.21-20.el7.x86_64.rpm 
rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-21.el7.x86_64.rpm 
rpm -ivh /mnt/Packages/openldap-devel-2.4.44-5.el7.x86_64.rpm 
rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm
#####切换到 /opt目录下
[aaa@qq.com opt]# tar xzvf httpd-2.4.25.tar.gz -C /opt                             #####解压压缩包
[aaa@qq.com opt]# cd httpd-2.4.25/                                                          


#####进入httpd-2.4.25目录
[aaa@qq.com httpd-2.4.25]# ./configure --prefix=/usr/local/apache        #####./configure配置 这里添加了安装的路径


[aaa@qq.com httpd-2.4.25]# make
[aaa@qq.com httpd-2.4.25]# make install 


[aaa@qq.com httpd-2.4.25]# cd /usr/local/apache/bin/                           
 #####进入/usr/local/apache/bin/目录


[aaa@qq.com bin]# ll
总用量 1124
-rwxr-xr-x 1 root root  51872 9月  21 22:57 ab
-rwxr-xr-x 1 root root   3434 9月  21 22:55 apachectl
-rwxr-xr-x 1 root root  23514 9月  21 22:55 apxs
-rwxr-xr-x 1 root root   8696 9月  21 22:57 checkgid
-rwxr-xr-x 1 root root   8925 9月  21 22:55 dbmmanage
-rw-r--r-- 1 root root   1071 9月  21 22:55 envvars
-rw-r--r-- 1 root root   1071 9月  21 22:55 envvars-std
-rwxr-xr-x 1 root root  13800 9月  21 22:57 fcgistarter
-rwxr-xr-x 1 root root  40936 9月  21 22:57 htcacheclean
-rwxr-xr-x 1 root root  28056 9月  21 22:57 htdbm
-rwxr-xr-x 1 root root  14072 9月  21 22:57 htdigest
-rwxr-xr-x 1 root root  23416 9月  21 22:57 htpasswd
-rwxr-xr-x 1 root root 851848 9月  21 22:57 httpd
-rwxr-xr-x 1 root root  13760 9月  21 22:57 httxt2dbm
-rwxr-xr-x 1 root root  14392 9月  21 22:57 logresolve
-rwxr-xr-x 1 root root  23048 9月  21 22:57 rotatelogs




[aaa@qq.com bin]# vi /usr/local/apache/conf/httpd.conf    
######在194行  #   号去掉
[aaa@qq.com bin]# ./apachectl start
httpd (pid 19441) already running


[aaa@qq.com bin]# rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm               
####安装客户端浏览器##
警告:/mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, ** ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:lynx-2.8.8-0.3.dev15.el7         ################################# [100%]



[aaa@qq.com bin]# lynx 127.0.0.1                  ####这个是客户端的浏览工具####

                                               It works!

看到It works! 说明已经成功了