第2章 软件包管理简介
一、源码包 //脚本安装包;
❶源码包优点:
①开源,如果有足够的能力,可以修改源代码;
②可以自由选择所需的功能;
③软件是编译安装,所以更加适合自己的系统,更加稳定、效率更高;
④卸载方便;
❷源码包缺点:
①安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误;
②编译过程时间较长,安装比二进制安装时间长;
③因为是编译安装,安装过程中一旦报错新手很难解决;
❸脚本安装包:
所谓的脚本安装包,就是把复杂的软件包安装过程写成了程序脚本,初学者可以执行脚本实现一键安装。但实际安装的还是源码包和二进制包
①优点:安装简单、快捷;
②缺点:完全丧失了自定义性;
二、二进制包(RPM包) //
❶二进制包的优点:
①包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;
②安装速度比源码包安装快的多;
❷二进制包的缺点:
①经过编译,不再可以看到源代码;
②功能选择不如源码包灵活;
③依赖性;
第3章 rpm命令管理
包全名:系统中没有安装过,使用包全名,注意路径-安装,升级
包名:系统中已经安装过软件包时,使用包名 -卸载,查询
是搜索/var/lib/rpm 中的数据库
1.安装命令:rpm -ivh 包全名
选项:-i install
-v verbose 显示详细信息
-U 升级
-h hash 显示进度
--nodeps 不检测依赖性(绝少使用)
2、升级命令
rpm -Uvh 包全名(要升级到的软件版本),如果没有安装这个软件的任何版本,这个命令可以代替rpm -ivh。
3、卸载命令
rpm -e 包名(比如Httpd,不需要包全名),这个命令不同于安装和升级,它可以在任何目录运行,原理是去/var/lib/rpm目录中的数据库(如__db0)中查找对应的软件包(已经安装过的rpm包都在这些数据库中),然后卸载。
4、--nodeps这个选项不管是在安装和卸载的时候,最好都不要使用。
5、rpm安装包安装的位置是由软件包开发者决定的,安装后的位置会非常凌乱,所以最好是使用rpm -e命令卸载。
相对于二进制安装,源码安装是指定安装目录了,卸载的时候只需要删除对应的目录就可以完全的卸载,不留一点残余。
1.查询是否安装:rpm -q 包名 (查询包是否安装,query) rpm -qa (查询所有已经安装的rpm包,all)
2.查询软件包详细信息:rpm -qi 包名 (查询软件信息,information) rpm -qip 包名 (查询未安装包信息,package)
3.查询包中文件安装位置:rpm -ql 包名 (l , list,列表) rpm -qlp 包名 (查询未安装包信息,package)
4.查询系统文件属于哪个RPM包:rpm -qf 系统文件名 (查询系统文件属于哪个软件包,file)
5.查询软件包的依赖性:rpm -qR 包名 (-R 查询软件包的依赖性 ,requires ) rpm -qRp 包名 (-p 查询未安装包信息 ,package)
RPM命令管理:RPM包中文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径 --> 前面的【.】代表当前路径,不能省略。【文件绝对路径】和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。
注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此我们通常要使用【|】管道符或【<】输入重定向告诉cpio我们应该从什么设备去取出文件。
使用输入重定向的cpio命令格式:
cpio 选项 < [文件|设备]
选项:
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程
第4章 yum在线安装
Yum在线安装:yum源文件
1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
2、redhat的yum在线安装需要付费,centOS不需要。
3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。
4、[base]:名字可以随便起。
5、name:名字也是随便起。
6、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。
7、enabled:默认最后一个容器不生效,其他容器都生效。
8、gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
9、gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。
[root@CentOS6 ~]# cd /etc/pki/rpm-gpg
[root@CentOS6 rpm-gpg]# ll
光盘yum源搭建:
1、挂载光盘
mkdir /media或mnt/cdrom:建立挂载点;
mount /dev/cdrom /media或mnt/cdrom:挂载光盘;
2、使网络yum源失效:
cd/etc/yum.repos.d/:进入yum源目录;
mv CentOS-Base.repo CentOS-Base.repo.bak:修改Yum源文件后缀名,使其失效;(判断yum源是根据后缀名repo来实现的,修改后缀名则可以使该yum源失效)
3、使光盘yum源生效:
vim CentOS-Media.repo
baseurl=file:///mnt或media/cdrom:地址为光盘挂载地址,如果有多余的光盘挂载点,需要注释掉不存在或不需要使用的光盘挂在地址;
enabled=1:把enabled=0改为enabled=1,使该yum源配置生效;
4、命令:yum list:该命令可验证目前使用的yum源有哪些可用的rpm包;
常用yum命令:
查询:
①yum list:查询目前使用的yum源中所有可用软件包列表;
②yum search 关键字:搜索服务器上所有和关键字相关的包;
安装:
①yum -y install 包名
⑴-install:安装;
⑵-y:自动回答yes;
②例如:yum -y install httpd
升级:
①yum -y update 包名
⑴-update:升级;
⑵-y:自动回答yes;
卸载:
②yum -y remove 包名
⑴-remove:卸载;
⑵-y:自动回答yes;
!!!服务器使用最小化安装,用什么软件安装什么,尽量不要卸载!!!
2、yum软件组管理命令
yum grouplist:列出所有可用的软件列表;
yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来;
yum gourpremove 软件组名:卸载指定软件组;
①LANG=en_US:切换至英文;(临时生效)①
②LANG=zh_CN.utf8:切换至中文;(临时生效)②
第5章 源码包安装
源码包和RPM包的区别:4、安装位置不同带来的影响
1、源码包是不能使用【service】命令来启动服务,因为源码包的安装位置由用户指定,放在哪并不统一。而rpm包安装后,通常都是放在【/etc/rc.d/init.d】目录中的,而【service】命令执行时,会自动搜索该目录,所以rpm包安装的服务可以使用【service】命令。
2、综上所述,安装位置不同,启动方法是有区别的。
3、使用绝对路径启动程序的方法是通用的,通常软件包中会写上启动程序的方法的。
4、如果将源码包安装后的启动程序复制到【/etc/rc.d/init.d】目录中,则也是可以使用【service】命令执行的。
netstat -tlun
查找网络连接信息和系统开启的端口号
使用 -t 选项列出 TCP 协议的连接
使用 -l 选项列出正在监听的套接字
使用 -u 选项列出 UDP 协议的连接
使用 -n 选项禁用域名解析功能