软件安装
1、软件包分类
⑴ 源码包
优点:开源、可选功能、效率高、卸载方便
缺点:安装步骤多、编译时间长,安装时间长、一旦报错很难解决
⑵ 二进制包(RPM、DPKG)
优点:包管理系统简单、安装速度块
缺点:不开源、不能自由选择功能,依赖性高
2、依赖性
a→b→c→d→e 树形依赖a→b→c→d→a
模块依赖(函数依赖,库依赖) 已知库文件名查包名 [ www.rpmfind.net ]
3、包名
若操作已安装软件,则使用包名(在数据库中查询/var/lib/rpm)
4、包全名
若操作未安装软件包,使用包全名,且绝对路径。
5、包命名
httpd-2.2.15-53.el6.centos.x86_64.rpm
httpd 软件包名
2.2.15 软件版本
53 发布次数
el6 软件发行商。el6是RedHat公司发布,适合RHEL6.*和CentOS6.*下使用
x86_64 64位操作系统安装,i386(386以上计算机安装),i586(586以上计算机安装),i686(奔腾Ⅱ以上计算机安装,目前所有CPU都是奔腾Ⅱ以上,所有这个版本软件居多,选择适合版本,可最大发挥CPU性能。)
rpm RPM包扩展名,主要目的是让管理员能够识别这是一个RPM包
软件包选择原则
如果软件包是给大量客户提供访问,应按装源码包,因其效率高,更稳定(如lamp)
如果软件包是给少量客户端或本机用,建议使用二进制包,因其安装简单
服务器按装建议
⑴ 最小化安装
⑵ 用什么装什么(性能最好,被攻击可能性小)
⑶ 尽量不卸载
普通软件安装
安装位置(httpd)
RPM包安装文件位置
/var/www/html/ 网页位置
/etc/httpd/conf/httpd.conf 配置文件
/etc/rc.d/init.d/httpd 启动脚本文件
/var/log/httpd/ 日志文件
源码包安装文件位置
/usr/local/apache2/htdos/ 网页位置
/usr/local/apache2/conf/httpd.conf 配置文件
/usr/local/apache2/bin/apachectl 启动脚本文件
/usr/local/apache2/logs/ 日志文件
rpm安装
安装:rpm -vhi
卸载:rpm –e
--nodeps 不检查依赖
启动:service httpd restart
查看:netstat -nult(查询端口)ps -aux(查询进程)
rpm包安装在由作者事前指定的默认位置,不建议指定位置(安装时生成数据库,记录安装信息,不拍找不到)
源码包一定要手工指定安装位置(不指定会安装在默认位置不生成数据库,不方便查和删)
手工命令安装:
1) 安装 rpm -vhi 包全名 (--force强制安装)
2) 升级 rpm -Uvh 包全名(若未安装则安装,若已安装,则升级)
rpm -Fvh 包全名(只对已安装软件升级)
3) 卸载 rpm -e 包名 (rpm –e --nodeps 包名 不检查依赖)
4) 查询
①查询是否安装 rpm -q 包名
rpm -qa | grep 包名(q:query,a:all)
②查询安装位置 rpm -ql 包名 (已安装)(l:list)
rpm -qlp 包全名 (未安装)(p:package)
③查询包信息 rpm -qi 包名
rpm -qip 包全名
④查询系统文件属于哪个包 rpm -qf 系统文件名(f:file)
⑤查询软件包的依赖 rpm -qR 包名
rpm -qRp 包全名
5) 验证 rpm -V已安装包名 (校验指定文件)
S.5....T. /etc/rc.d/init.d/httpd
S: 文件大小是否改变
M: 文件的类型或权限是否改变
5: MD5码是否改变
D: 设备文件中的从代码是否改变,主设备码区分设备,从设备码区分该类的所有设备
L: 文件路径是否改变
U: 文件属主是否改变
G: 文件属组是否改变
T: 文件修改时间是否改变
c: 配置文件
d: 普通文档
g: 『鬼』文件,很少见,该文件不该被rpm包包含,(若出现,可能需要查全盘)
l: 授权文件
r: 描述文件
6) 数字证书 导入 rpm --import证书名
查看 rpm -qa | grep 证书名
7) 提取rpm文件 rpm2cpio 包全名 | cpio .提取文件绝对路径(注意加点)
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-43.el6.x86_64.rpm | cpio -ivd ./bin/ls
提取/bin/ls命令,放在~/bin/ls,rpm2cpio:将rpm包转化成cpio格式的命令
cpio -o[vcB] > 文件或设备
-o copy-out 备份
-c 使用较新的portab forma存储方式
-B 设定输出输入块为5120bytes
cpio -i[vcdu] < 文件或设备
-i copy-in 还原
-v 显示过程
-c 使用较新的portab forma存储方式
-d 还原时自动新建目录
-u 自动用较新文件覆盖旧文件
yum安装(httpd)
1) 会自动解决依赖性
yum安装不区分包名和包全名
# yum -y install 包名 安装(-y:自动应答为yes,不用手动确认)
# yum -y remove 包名 卸载(--nodeps不检查依赖)
# yum -y update 包名 升级(不建议,会自动升级内核,导致系统起不来)
# yum list 查询所有可安装的软件(更新数据库,其过程不能终止,否则会再也不能用)
# yum list 包名 查询yum源服务器是否包含某个软件包
# yum search 关键字 搜索yum源服务器上所有和关键字相关的包
# yum info samba 查询指定软件包的信息
# yum clean all 清除下载的临时软件包和缓存
# yum makecache 建立软件包缓存,提高查询速度
# yum update 更新所有需要更新的软件&内核相关软件
2) yum组管理命令
# yum grouplist 列出所有可用的软件组列表
# yum groupinfo 软件组名 列出软件包组中包含的软件
# yum groupinstall软件组名 安装指定软件组
# yum groupremove 软件组名 卸载指定软件组
3) 搭建yum源(网络源优先级高于本地源)
网络源
# wget 网址 下载配置文件(http://mirrors.163.com)
# yum clean all 清空yum源缓存
# yum makecache 新建yum源缓存列表
# echo $? 检查当次命令是否执行成功(“0”成功,不是“0”则失败)
注: 不用的系统的文件不需要删除,只加后缀名让其不生效即可
FTP中配置文件加空格会启不来,不要在配置文件中随便加空格
5) 光盘源
修改配置文件
/etc/yum.repos.d/ yum 源配置文件(配置完不需要重启)
enabled=1 开启光盘源
gpgcheck=1 开启证书验证(光盘源一般不开启)
yum安装图形化
挂载两张光盘,通过纯字符系统,安装图形化桌面
[root@localhost ~]# yum –y install xorg*
[root@localhost ~]# yum -y groupinstall "X Window System"
[root@localhost ~]# yum -y groupinstall Desktop
[root@localhost ~]# yum -y groupinstall "Chinese Support"
[root@localhost ~]# startx 启动图形界面
源码包安装
1) 编译前准备
先查看帮助文档 INSTALL或RADME
./configure --prefix=/usr/local/apache2/(指定安装位置)(该过程会有以下3个过程)
①检测系统环境是否符合安装要求
②定义功能选项,写入Makefile文件(后续安装依赖此文件)
③报错说源码包没装,但能查到源码包,其因可能是版本不同或安装路径不对
2) 编译
make (把源码包编译成二进制包)
(若报错重新安装时,要将缓存和临时文件删除make clean;make clear)
3) 编译安装
make install
(若报错重新安装时,需删除安装目录和临时缓存文件)
4) 启动
/usr/local/apache2/bin/apachectl start
5) 卸载
直接删除安装目录
6) 检查启动配置文件是否有问题
/usr/local/apache2/bin/apachectl -t
补丁
补丁只针对源程序,打完补丁还是源程序,需要安装,并不长用
补丁的本质是新旧文件的不同点
diff -选项 新文件 旧文件 比较文件
diff -Naur 新文件 旧文件 > 补丁文件名 生成补丁
patch -pn < 补丁文件 打入补丁
脚本安装
启动脚本安装文件按提示操作即可
函数库
1) 静态函数库(*.a)
2) 动态函数库(*.so)
idd -v 命令名 查看该命令的详细库信息
cp *.so /usr/lib/ 把函数库放到相应的位置
vi /etc/ld.so.conf 修改配置文件
ldconfig 加载函数库
ldconfig -p 列出函数库
ldd -v /bin/ls 查询可调用的函数库
注:
1) date -s (更改系统时间)
2) lrzsz(Linux和windons互传文件)
rz 上传
sz 下载
3) dos2unix 文件名 (把windons文件格式转为Linux)
unix2dos 文件名 (把Linux文件格式转为windons)
rpm包:dos2unix和unix2dos