Linux的基础之源码配置

1.源码安装: httpd

通过sftp将文件传到Linux根目录(httpd依赖于前两个软件)

 将文件解压缩至指定目录下

  由于本地挂载点是临时的,所以需要重新启用上次的过载

[root@bogon ~]# mount /dev/cdrom /media/cdrom
mount: /media/cdrom: WARNING: device write-protected, mounted read-only.

然后通过yum下载C语言的编译环境 

[root@bogon ~]# cd /usr/local/
[root@bogon local]# ls 
bin  etc  games  include  lib  lib64  libexec  sbin  share  sourcesoftware  src
[root@bogon local]# cd sourcesoftware/
[root@bogon sourcesoftware]# ls 
apr-1.6.5  apr-util-1.6.1  httpd-2.4.53
[root@bogon sourcesoftware]# cd apr-1.6.5/
[root@bogon apr-1.6.5]# yum install gcc-c++ -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

Repository AppStream is listed more than once in the configuration
上次元数据过期检查:0:04:39 前,执行于 2022年04月14日 星期四 12时05分10秒。
依赖关系解决。
============================================================================================================================================================================================
 软件包                                         架构                                  版本                                                   仓库                                      大小
============================================================================================================================================================================================
安装:
 gcc-c++                                        x86_64                                8.5.0-4.el8_5                                          AppStream                                 12 M
升级:
 libgcc                                         x86_64                                8.5.0-4.el8_5                                          base                                      79 k
 libgomp                                        x86_64                                8.5.0-4.el8_5                                          base                                     206 k
 libstdc++                                      x86_64                                8.5.0-4.el8_5                                          base                                     453 k
安装依赖关系:
 cpp                                            x86_64                                8.5.0-4.el8_5                                          AppStream                                 10 M
 gcc                                            x86_64                                8.5.0-4.el8_5                                          AppStream                                 23 M
 glibc-devel                                    x86_64                                2.28-164.el8                                           base                                     1.0 M
 glibc-headers                                  x86_64                                2.28-164.el8                                           base                                     480 k
 isl                                            x86_64                                0.16.1-6.el8                                           AppStream                                841 k
 kernel-headers                                 x86_64                                4.18.0-348.7.1.el8_5                                   base                                     8.3 M
 libstdc++-devel                                x86_64                                8.5.0-4.el8_5                                          AppStream                                2.0 M
 libxcrypt-devel                                x86_64                                4.1.1-6.el8                                            base                                      25 k

事务概要
============================================================================================================================================================================================
安装  9 软件包
升级  3 软件包

总下载:59 M
下载软件包:
(1/12): glibc-headers-2.28-164.el8.x86_64.rpm                                                                                                               267 kB/s | 480 kB     00:01    
(2/12): libxcrypt-devel-4.1.1-6.el8.x86_64.rpm                                                                                                              122 kB/s |  25 kB     00:00    
(3/12): glibc-devel-2.28-164.el8.x86_64.rpm                                                                                                                 254 kB/s | 1.0 MB     00:04    
(4/12): kernel-headers-4.18.0-348.7.1.el8_5.x86_64.rpm                                                                                                      270 kB/s | 8.3 MB     00:31    
(5/12): cpp-8.5.0-4.el8_5.x86_64.rpm                                                                                                                        272 kB/s |  10 MB     00:39    
(6/12): isl-0.16.1-6.el8.x86_64.rpm                                                                                                                         267 kB/s | 841 kB     00:03    
(7/12): libstdc++-devel-8.5.0-4.el8_5.x86_64.rpm                                                                                                            274 kB/s | 2.0 MB     00:07    
(8/12): libgcc-8.5.0-4.el8_5.x86_64.rpm                                                                                                                     208 kB/s |  79 kB     00:00    
(9/12): libgomp-8.5.0-4.el8_5.x86_64.rpm                                                                                                                    228 kB/s | 206 kB     00:00    
(10/12): libstdc++-8.5.0-4.el8_5.x86_64.rpm                                                                                                                 259 kB/s | 453 kB     00:01    
(11/12): gcc-c++-8.5.0-4.el8_5.x86_64.rpm                                                                                                                   263 kB/s |  12 MB     00:47    
(12/12): gcc-8.5.0-4.el8_5.x86_64.rpm                                                                                                                       257 kB/s |  23 MB     01:33    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                        624 kB/s |  59 MB     01:37     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                             1/1 
  升级    : libgcc-8.5.0-4.el8_5.x86_64                                                                                                                                                1/15 
  运行脚本: libgcc-8.5.0-4.el8_5.x86_64                                                                                                                                                1/15 
  升级    : libstdc++-8.5.0-4.el8_5.x86_64                                                                                                                                             2/15 
  运行脚本: libstdc++-8.5.0-4.el8_5.x86_64                                                                                                                                             2/15 
  安装    : libstdc++-devel-8.5.0-4.el8_5.x86_64                                                                                                                                       3/15 
  升级    : libgomp-8.5.0-4.el8_5.x86_64                                                                                                                                               4/15 
  运行脚本: libgomp-8.5.0-4.el8_5.x86_64                                                                                                                                               4/15 
  安装    : isl-0.16.1-6.el8.x86_64                                                                                                                                                    5/15 
  运行脚本: isl-0.16.1-6.el8.x86_64                                                                                                                                                    5/15 
  安装    : cpp-8.5.0-4.el8_5.x86_64                                                                                                                                                   6/15 
  运行脚本: cpp-8.5.0-4.el8_5.x86_64                                                                                                                                                   6/15 
  安装    : kernel-headers-4.18.0-348.7.1.el8_5.x86_64                                                                                                                                 7/15 
  运行脚本: glibc-headers-2.28-164.el8.x86_64                                                                                                                                          8/15 
  安装    : glibc-headers-2.28-164.el8.x86_64                                                                                                                                          8/15 
  安装    : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                         9/15 
  安装    : glibc-devel-2.28-164.el8.x86_64                                                                                                                                           10/15 
  运行脚本: glibc-devel-2.28-164.el8.x86_64                                                                                                                                           10/15 
  安装    : gcc-8.5.0-4.el8_5.x86_64                                                                                                                                                  11/15 
  运行脚本: gcc-8.5.0-4.el8_5.x86_64                                                                                                                                                  11/15 
  安装    : gcc-c++-8.5.0-4.el8_5.x86_64                                                                                                                                              12/15 
  清理    : libstdc++-8.5.0-3.el8.x86_64                                                                                                                                              13/15 
  运行脚本: libstdc++-8.5.0-3.el8.x86_64                                                                                                                                              13/15 
  清理    : libgcc-8.5.0-3.el8.x86_64                                                                                                                                                 14/15 
  运行脚本: libgcc-8.5.0-3.el8.x86_64                                                                                                                                                 14/15 
  运行脚本: libgomp-8.5.0-3.el8.x86_64                                                                                                                                                15/15 
  清理    : libgomp-8.5.0-3.el8.x86_64                                                                                                                                                15/15 
  运行脚本: libgomp-8.5.0-3.el8.x86_64                                                                                                                                                15/15 
  验证    : glibc-devel-2.28-164.el8.x86_64                                                                                                                                            1/15 
  验证    : glibc-headers-2.28-164.el8.x86_64                                                                                                                                          2/15 
  验证    : kernel-headers-4.18.0-348.7.1.el8_5.x86_64                                                                                                                                 3/15 
  验证    : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                         4/15 
  验证    : cpp-8.5.0-4.el8_5.x86_64                                                                                                                                                   5/15 
  验证    : gcc-8.5.0-4.el8_5.x86_64                                                                                                                                                   6/15 
  验证    : gcc-c++-8.5.0-4.el8_5.x86_64                                                                                                                                               7/15 
  验证    : isl-0.16.1-6.el8.x86_64                                                                                                                                                    8/15 
  验证    : libstdc++-devel-8.5.0-4.el8_5.x86_64                                                                                                                                       9/15 
  验证    : libgcc-8.5.0-4.el8_5.x86_64                                                                                                                                               10/15 
  验证    : libgcc-8.5.0-3.el8.x86_64                                                                                                                                                 11/15 
  验证    : libgomp-8.5.0-4.el8_5.x86_64                                                                                                                                              12/15 
  验证    : libgomp-8.5.0-3.el8.x86_64                                                                                                                                                13/15 
  验证    : libstdc++-8.5.0-4.el8_5.x86_64                                                                                                                                            14/15 
  验证    : libstdc++-8.5.0-3.el8.x86_64                                                                                                                                              15/15 
已更新安装的产品。

已升级:
  libgcc-8.5.0-4.el8_5.x86_64                                  libgomp-8.5.0-4.el8_5.x86_64                                  libstdc++-8.5.0-4.el8_5.x86_64                                 
已安装:
  cpp-8.5.0-4.el8_5.x86_64   gcc-8.5.0-4.el8_5.x86_64                     gcc-c++-8.5.0-4.el8_5.x86_64           glibc-devel-2.28-164.el8.x86_64      glibc-headers-2.28-164.el8.x86_64  
  isl-0.16.1-6.el8.x86_64    kernel-headers-4.18.0-348.7.1.el8_5.x86_64   libstdc++-devel-8.5.0-4.el8_5.x86_64   libxcrypt-devel-4.1.1-6.el8.x86_64  

完毕!

第一个软件

然后在配置./configure 

 

[root@bogon apr-1.6.5]# ./configure --prefix=/usr/local/apr
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
Configuring APR library
Platform: x86_64-pc-linux-gnu
checking for working mkdir -p... yes

 make编译时出现报错执行以下操作

[root@bogon apr-1.6.5]# make
bash: make: 未找到命令...
文件搜索失败: /mnt/cdrom/BaseOS was not found
[root@bogon apr-1.6.5]#  yum groupinstall "Development Tools" -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

Repository AppStream is listed more than once in the configuration
上次元数据过期检查:0:12:24 前,执行于 2022年04月14日 星期四 12时05分10秒。
依赖关系解决。

  安装软件

[root@bogon apr-1.6.5]# make install 
/usr/local/sourcesoftware/apr-1.6.5/build/mkdir.sh tools
/bin/sh /usr/local/sourcesoftware/apr-1.6.5/libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -I./include -I/usr/local/sourcesoftware/apr-1.6.5/include/arch/unix -I./include/arch/unix -I/usr/local/sourcesoftware/apr-1.6.5/include/arch/unix -I/usr/local/sourcesoftware/apr-1.6.5/include -I/usr/local/sourcesoftware/apr-1.6.5/include/private -I/usr/local/sourcesoftware/apr-1.6.5/include/private  -o tools/gen_test_char.lo -c tools/gen_test_char.c && touch tools/gen_test_char.lo

 第二个软件(与上述操作一样)

[root@bogon sourcesoftware]# cd apr-util-1.6.1/
[root@bogon apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu

 make编译时出现了致命错误,因为少一个expat.软件 

[root@bogon apr-util-1.6.1]# make
make[1]: 进入目录“/usr/local/sourcesoftware/apr-util-1.6.1”
/bin/sh /usr/local/apr/build-1/libtool --silent --mode=compile gcc -g -O2 -pthread   -
/bin/sh /usr/local/apr/build-1/libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -I/usr/local/sourcesoftware/apr-util-1.6.1/include -I/usr/local/sourcesoftware/apr-util-1.6.1/include/private  -I/usr/local/apr/include/apr-1    -o xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
xml/apr_xml.c:35:10: 致命错误:expat.h:没有那个文件或目录
 #include 
          ^~~~~~~~~
编译中断。
make[1]: *** [/usr/local/sourcesoftware/apr-util-1.6.1/build/rules.mk:206:xml/apr_xml.lo] 错误 1
make[1]: 离开目录“/usr/local/sourcesoftware/apr-util-1.6.1”

 下载expat软件 

[root@bogon apr-util-1.6.1]# yum install expat-devel -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

Repository AppStream is listed more than once in the configuration
上次元数据过期检查:0:29:15 前,执行于 2022年04月14日 星期四 12时05分10秒。
依赖关系解决。
============================================================================================================================================================================================
 软件包                                          架构                                       版本                                             仓库                                      大小
============================================================================================================================================================================================
安装:
 expat-devel                                     x86_64                                     2.2.5-4.el8                                      base                                      55 k

事务概要
============================================================================================================================================================================================
安装  1 软件包

总下载:55 k
安装大小:156 k
下载软件包:
expat-devel-2.2.5-4.el8.x86_64.rpm                                                                                                                          160 kB/s |  55 kB     00:00    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                        159 kB/s |  55 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                                             1/1 
  安装    : expat-devel-2.2.5-4.el8.x86_64                                                                                                                                              1/1 
  运行脚本: expat-devel-2.2.5-4.el8.x86_64                                                                                                                                              1/1 
  验证    : expat-devel-2.2.5-4.el8.x86_64                                                                                                                                              1/1 
已更新安装的产品。

已安装:
  expat-devel-2.2.5-4.el8.x86_64                                                                                                                                                            

完毕!

先清除掉上次编译错误的结果,然后重新编译会发现编译成功  

[root@bogon apr-util-1.6.1]# make clean
Making clean in test
make[1]: 进入目录“/usr/local/sourcesoftware/apr-util-1.6.1/test”
make[2]: 进入目录“/usr/local/sourcesoftware/apr-util-1.6.1/test”
rm -f ./*.o ./*.lo ./*.a ./*.la ./*.so ./*.obj


[root@bogon apr-util-1.6.1]# make install
make[1]: 进入目录“/usr/local/sourcesoftware/apr-util-1.6.1”
make[1]: 对“local-all”无需做任何事。
make[1]: 离开目录“/usr/local/sourcesoftware/apr-util-1.6.1”

第三个配置 

[root@bogon httpd-2.4.53]# ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
[root@bogon httpd-2.4.53]# yum install pcre2-devel -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

Repository AppStream is listed more than once in the configuration
上次元数据过期检查:0:35:35 前,执行于 2022年04月14日 星期四 12时05分10秒。
依赖关系解决。
[root@bogon httpd-2.4.53]# yum install openssl-devel -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

Repository AppStream is listed more than once in the configuration
上次元数据过期检查:0:36:30 前,执行于 2022年04月14日 星期四 12时05分10秒。
依赖关系解决。
[root@bogon bin]# cd ..
[root@bogon httpd]# cd conf
[root@bogon conf]# vim httpd.conf 
[root@bogon conf]# cd ..
[root@bogon httpd]# cd bin/
[root@bogon bin]# ./apachectl stop
[root@bogon bin]# ./apachectl start
[root@bogon bin]# ps -ef |grep httpd
root       83538       1  0 13:21 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     83539   83538  0 13:21 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     83540   83538  0 13:21 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     83541   83538  0 13:21 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
root       83640    2084  0 13:22 pts/0    00:00:00 grep --color=auto httpd

最后,完成

2.查看root用户带有终端的进程

[root@bogon ~]# ps -ue
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        2084  0.0  0.2  28308  4760 pts/0    Ss   11:53   0:00 -bash USER=root LOGNAME=root HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin SHELL=/bin/bash TERM=xterm
root       83734  0.0  0.2  61872  4012 pts/0    R+   13:31   0:00 ps -ue LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;

显示没有终端的进程

[root@bogon ~]# ps -aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.7 241500 14268 ?        Ss   11:53   0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
root           2  0.0  0.0      0     0 ?        S    11:53   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   11:53   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   11:53   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I<   11:53   0:00 [kworker/0:0H-events_highpri]
root           9  0.0  0.0      0     0 ?        I<   11:53   0:00 [mm_percpu_wq]

显示所有进程

[root@bogon ~]# ps -le
F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0       1       0  0  80   0 - 60375 do_epo ?        00:00:02 systemd
1 S     0       2       0  0  80   0 -     0 -      ?        00:00:00 kthreadd
1 I     0       3       2  0  60 -20 -     0 -      ?        00:00:00 rcu_gp
1 I     0       4       2  0  60 -20 -     0 -      ?        00:00:00 rcu_par_gp
1 I     0       6       2  0  60 -20 -     0 -      ?        00:00:00 kworker/0:0H-events_highpri
1 I     0       9       2  0  60 -20 -     0 -      ?        00:00:00 mm_percpu_wq

ps -aux和ps aux的区别

POSIX 和 UNIX 标准
       要求“ps -aux”打印名为“x”的用户拥有的所有进程,以及作为打印将由 -a 选项选择的所有进程。 如果名为“x”的用户不存在,此ps可能会将命令解释为“ps aux”而是打印警告。 此行为旨在帮助转换旧的脚本和习惯。 它是脆弱的,可能会发生变化,并且因此,不应依赖。

查找正在运行的sshd进程

[root@bogon ~]# ps -le|grep sshd
4 S     0    1213       1  0  80   0 - 23087 core_s ?        00:00:00 sshd
4 S     0    1890    1213  0  80   0 - 40947 x64_sy ?        00:00:00 sshd
5 S     0    2083    1890  0  80   0 - 40947 core_s ?        00:00:03 sshd

执行sleep 300 &,查看这个后台进程,并杀死它(使用%id)

[root@bogon ~]# sleep 300 &
[1] 83774
[root@bogon ~]# jobs 1
[1]+  运行中               sleep 300 &


  执行sleep 300 & , 将这个后台进程变成前台进程

[root@bogon ~]# fg %1
sleep 300

你可能感兴趣的:(RHCSA/Linux基础,linux)