前言
编译:是将字符编码 遵循 ASCII 转变为机器语言的过程
反编译:编译在理论上是不可逆转, 在编译过程中遵循一定规则, 而在反编译时难免造成代码损失, 而无法完全破解
windows :程序都是经过编译的, 看不到源代码, linux 中源码包是可以看到源代码, 安装时现编译安装
软件包分类
1 源码包
源码包优点:
开源, 如果有足够的能力, 可以修改源代码
可以自由选择所需的功能
软件是编译安装, 所以更加适合自己的系统, 更加稳定也效率更高
卸载方便
源码包缺点:
安装过程步骤较多, 尤其安装较大的软件集合时( 如LAMP环境搭建Linux Apache MySql Php ), 容易出现拼写错误
编译过程时间较长, 安装比二进制安装时间长
因为是编译安装, 安装过程中一旦报错新手很难解决
源码包安装过程
安装准备:
安装C语言编译器并下载源码包: http://mirror.bit.edu.cn/apache/httpd/
安装注意事项
源代码保存位置: /usr/local/src/
软件安装位置: /usr/local/
如何确定安装过程报错:安装过程停止并出现error、warning或no的提示
安装步骤:
1.解压缩: tar -zxvf httpd-2.2.34.tar.gz
2.进入解压缩目录
3. 执行./configure --prefix=/usr/local/apache2;
4.make && make install # 编译和安装
#./configure作用:
# 1、软件配置与检查,定义需要的功能选项;
# 2、检测系统环境是否符合安装要求 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。
2 二进制包(RPM包、系统默认包)
二进制包的优点:
包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载
安装速度快,因为本身就是编译好的系统可以执行的二进制文件
二进制包的缺点:
经过编译,不再可以看到源代码
功能选择不如源代码包灵活
依赖性
二进制包安装过程
//cd到你存放rpm文件包的目录
1. rpm -ivh linuxqq-v1.0.2-beta1.i386.rpm #安装时可能会遇到缺少包的错误
2. rpm -ivh --replacepkgs webmin-1.290-1.noarch.rpm #软件包重复安装将会失败,若仍需要安装必须加--replacepkgs
3. rpm -ivh --replacefiles webmin-1.290-1.noarch.rpm #软件包的某个文件已在安装其他软件包时安装过,则安装将会失败,若仍需要安装必须加--replacefiles
4. rpm -ivh --nodeps webmin-1.290-1.noarch.rpm # 软件包所依赖的软件包未安装,则安装将会失败,若仍需要安装必须加—nodeps
5. rpm -ivh --force webmin-1.290-1.noarch.rpm # 强制安装指定软件包(忽略软件包依赖性和文件冲突,不建议)
安装工具yum
将所有软件包放到官网上,当进行yum在线安装时,可以自动解决依赖性问题。
YUM源文件
当使用yum安装软件时回根据这个配置进行获取及安装软件包
目录位置: /etc/yum.repos.d/CentOS-Base.repo
[base] : 容器名称, 一定要放在[]中,相当于用途名称
name : 容器说明, 可以自己随便写
mirrorlist : 镜像站点, 这个可以注释掉,和bassurl二选一
baseurl : yum源服务器的地址. 默认是CentOS官方的yum原服务器, 是可以使用的, 如果你觉得慢可以改成你喜欢的yum源地址(重要)
enabled : 此容器是否生效, 如果不写或写成enable=1都是生效, 写成 enable=0就是不生效
gpgcheck : 如果是1, 是指 RPM的数字证书生效, 如果是0, 则是不生效
gpgkey : 数字证书的公钥文件保存位置. 不用修改
yum命令
yum list #查询所有可用软件包列表
yum search 关键字 #搜索服务器上所有和关键字相关的包
yum -y install 包名 #安装(-y 自动回答yes) yum安装只写包名即可
yum -y update 包名 #注意,升级操作要谨慎,可不升级就不升级,首要注意稳定和安全。如果不加包名,就是可升级的全升级
yum -y remove 包名,#卸载原则:服务器最小化安装,用什么装什么,能不卸载就不卸载。