安装流程
- 一、尝试基于gcc命令说明c语言编译过程
- 二、总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何获取命令获取
- 三、总结程序包获取途径,以及rpm,yum,apt命令选项示例
- 四、总结开放系统互联OSI模型,每层作用以及对应协议
- 五、总结TCP包头结构,TCP三次握手,四次挥手
- 六、总结IP地址A,B,C,D类,并解析IP地址组成
- 七、简要总结yum/dnf工作原理。并搭建私有yum仓库(base, epel源)给另一个虚拟机使用
- 八、总结系统安装之后的常用初始化步骤。rocky/ubuntu
- 九、解读一键安装httpd脚本,并自行实现一个一键安装脚本
- 十、调整动态端口范围为20000-60000
- 十一、总结主机到主机的包传递过程
- 十二、201.222.200.111/18计算主机数?子网掩码?说明计算方法
- 十三、当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?
- 十四、如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数
- 十五、通过网络配置命令,让主机可以上网。 ip, netmask, gateway, dns,主机名。相关命令总结,最终可以通过这些配置让你的主机上网
- 十六、解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式
- 十七、基于配置文件或命令完成bond0配置
- 十八、通过ifconfig命令结果找到ip地址
- 十九、使用脚本判断 你主机所在网络内在线的主机IP有哪些? ping通则在线
- 二十、使用while read line和/etc/passwd,计算用户id总和
提示:以下是本篇文章正文内容,下面案例可供参考
一、尝试基于gcc命令说明c语言编译过程
使用gcc编译c语言的时候会经历4个流程分别是:
1 预处理:命令格式:gcc -E hello.c -o hello.i。在预处理中,会对.c文件代码进行:去除注释、头文件包含、宏替换、条件编译,输出.i预处理文件。预处理参考资料:C语言预处理
2 编译:命令格式:gcc -S hello.i -o hello.s。通过词法语法分析,在确定所有指令符合语法规则的前提下,将预处理.i文件转化为汇编.s文件。
3 汇编:命令格式:gcc -c hello.s -o hello.o。将输入的汇编语言翻译成机器语言,将编译.s文件处理为.o机器指令。
4 链接:命令格式:gcc hello.s -o hello。将各个目标文件依赖整合的过程就是链接,链接整合后将.o机器语言生成二进制可执行文件或者.out文件。
#预处理
[root@Rocky8-7-2 C]# gcc -E hello.c -o hello.i
#编译
[root@Rocky8-7-2 C]# gcc -S hello.i -o hello.s
#汇编
[root@Rocky8-7-2 C]# gcc -c hello.s -o hello.o
#链接
[root@Rocky8-7-2 C]# gcc hello.o -o hello
[root@Rocky8-7-2 C]# ll
total 48
-rwxr-xr-x. 1 root root 18080 May 8 16:59 hello
-rwxr--r--. 1 root root 83 May 8 16:58 hello.c
-rw-r--r--. 1 root root 15615 May 8 16:58 hello.i
-rw-r--r--. 1 root root 1496 May 8 16:59 hello.o
-rw-r--r--. 1 root root 456 May 8 16:59 hello.s
[root@Rocky8-7-2 C]# chmod u+x *
[root@Rocky8-7-2 C]# ll
total 48
-rwxr-xr-x. 1 root root 18080 May 8 16:59 hello
-rwxr--r--. 1 root root 83 May 8 16:58 hello.c
-rwxr--r--. 1 root root 15615 May 8 16:58 hello.i
-rwxr--r--. 1 root root 1496 May 8 16:59 hello.o
-rwxr--r--. 1 root root 456 May 8 16:59 hello.s
[root@Rocky8-7-2 C]# ./hello
hello world!
二、总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何获取命令获取
程序包管理器有rpm和dpkg,它们都无法在安装包时处理包内的依赖问题。其中:
rpm是CentOS和Rocky Linux的包管理器,包的扩展名为rpm。
dpkg是debian和Ubuntu的包管理器,包的扩展名为deb。
#查询至今安装过的所有包
[root@Rocky8-7-2 network-scripts]# rpm -qa
perl-libs-5.26.3-421.el8.x86_64
blktrace-1.2.0-10.el8.x86_64
python3-pip-wheel-9.0.3-22.el8.rocky.0.noarch
perl-PathTools-3.74-1.el8.x86_64
trousers-lib-0.3.15-1.el8.x86_64
tracer-common-0.7.5-2.el8.noarch
perl-Test-Harness-3.42-1.el8.noarch
dosfstools-4.1-6.el8.x86_64
setup-2.12.2-7.el8.noarch
perl-Locale-Maketext-1.28-396.el8.noarch
words-3.0-28.el8.noarch
libselinux-2.9-6.el8.x86_64
perl-Module-Load-0.32-395.el8.noarch
python3-libselinux-2.9-6.el8.x86_64
adobe-mappings-cmap-20171205-3.el8.noarch
python3-gobject-base-3.28.3-2.el8.x86_64
gpg-pubkey-6d745a60-60287f36
#查询httpd包是否被安装
[root@Rocky8-7-2 network-scripts]# rpm -qa httpd
httpd-2.4.37-51.module+el8.7.0+1182+86a6cd60.5.x86_64
#查看httpd包的详情
[root@Rocky8-7-2 network-scripts]# rpm -qi httpd
Name : httpd
Version : 2.4.37
Release : 51.module+el8.7.0+1182+86a6cd60.5
Architecture: x86_64
Install Date: Sat 06 May 2023 05:36:01 PM CST
Group : System Environment/Daemons
Size : 4500178
License : ASL 2.0
Signature : RSA/SHA256, Fri 07 Apr 2023 12:56:46 AM CST, Key ID 15af5dac6d745a60
Source RPM : httpd-2.4.37-51.module+el8.7.0+1182+86a6cd60.5.src.rpm
Build Date : Fri 07 Apr 2023 12:38:52 AM C