一、gcc
gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接。
gcc -c hello.c 编译产生目标文件hello.o
gcc -O hello.c 编译产生目标文件,并进行优化
缺点:命令的冗余性,如果 C 语言程序中包含对其他函数或者程序的引用,那么其他程序也要编译成目标文件,然后一起编译成可执行文件,才能运行成功。一个大的程序引用是非常多的,所以用gcc来编译,显得很冗余。
二、make
用make进行宏编译,make的功能是简化编译过程中所下达的指令,如果编译完成之后,修改了某个原始码文件,则make只会去更新这个文件,其他的文件不会被改动。要使用make命令,是因为事先编写 好的 makefile 这个文件。然后make命令安装这个文件编译链接,大大简化了编译的步骤。
makefile的基本语法:
makefile变量的基本语法:
- 变量和变量内容之间以=隔开,同时两边可以具有空格
- 变量左边不可以有tab
- 变量和变量的内容在=两边不能具有:
- 在习惯上变量最好以 大写字母 为主
- 运用变量时 以${变量} 或 $(变量)使用
- shell的环境变量是可以被套用的,例如提到的CFLAGS这个变数
- 在指令模式中也可以给予变量
$@ 代表目前的目标
三、Tarball
安装的基本步骤:
四、rpm
软件安装的相关信息都被写入 /var/lib/rpm/ 中,我们查询是否有软件升级的需求,版本的比较也是来源于这个数据库。rpm安装软件最大的问题就是软件的相依属性问题,如果关联的软件没有安装,那么该软件也不能安装。
rpm 测试此软件是否具有相依性: rpm -ivh 软件名称 --test
rpm查询软件:
五、yum
列出目前服务器上可供本机进行升级的软件有哪些:yum list updates
查看yum源列表:yum repolist
安装软件:yum install 软件名称
卸载软件:yum remove 软件名称
删除所有软件库的相关数据:yum clean all
yum的软件群组的功能:
备注:软件群组的安装默认是不安装 optional 软件的,如果,想要安装的话需要修改配置文件 vim /etc/yum.conf,在文件中新增一行 group_package_types=default,mandatory,optional
yum -y update
#下载wget yum install -y wget #备份当前的yum源 mv /etc/yum.repos.d /etc/yum.repos.d.backup #新建空的yum源设置目录 mkdir /etc/.repos.d #下载阿里云的yum源配置 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
然后,重建缓存:
clean all yum makecache