1

十分感谢慕课网的Tony老师,他的讲解十分通俗易懂!!
1-1 概述
Linux的软件安装,主要分为两种类型,一种是源码安装,一种是rpm包安装,有高手在rpm的基础上开发出来了Redhat的yum安装和一些类似的方法。
2-1 源码包
编译:将高级语言代码编译为二进制码(机器语言)
图片描述
2-2 RPM包和脚本安装包
二进制包
RPM包为二进制包
源码包效率高,RPM包方便
脚本安装包:将复杂的软件包安装过程写成脚本,可以实现脚本一键安装

3-1 rpm包命名规则
rpm包在系统光盘的package文件夹中,网上也可以下载

环形依赖:将a,b,c三个包放在一条安装命令中,就会安装
rpm -ivh 软件名 rpm安装软件命令
模块依赖,一般命名规则为xx.so.2,也就是库依赖,如果某个软件需要一些模块,则最好使用yum命令安装,如果上不了网,则可以使用安装光盘搭建一个yum服务

3-2 rpm安装命令
包全名:完整的包名,操作的包是没有安装的软件包时,使用包全名,并且注意路径
包名:软件版本之前的软件名,操作已经安装过的软件包时,使用包名,即搜索/var/lib/rpm/中的数据库
rpm -ivh 包全名
-i install
-v verbose(显示详细信息)
-h hash(显示进度)
--nodeps 不检测依赖性 这个作用不大
图片描述
安装成功需要显示两个百分百,第一个百分百为preparing,第二个是成功

rpm安装需要解决的是依赖性,如果依赖的是rpm包的话,就找所需要的rpm包,如果依赖的是库(模块)的话,则需要去www.rpmfind.net查找

yum和rpm都安装的是rpm包,yum实际上就是rpm的在线安装方法,如果要查询和校验的话,则需要使用rpm命令

3-3 升级与卸载
rpm -Uvh 包全名 升级命令
-U upgrade

rpm -e 包名 卸载,有可能需要安装安装的流程,反向卸载各个依赖,也可以(rpm -e --nodeps 包名)直接卸载,但是各种依赖没有被卸载,不推荐
rpm安装,会将软件安装在作者设定的默认位置,rpm安装的软件,会将软件放置到很多地方,所以需要卸载命令

3-4 rpm包查询
1、查询是否安装
rpm -q 包名 查询包是否安装
-q query(查询)

2、rpm -qa 查询所有已经安装的rpm包
-a all
配合grep使用,rpm -qa | grep python

3、rpm -qi 包名 查询已安装包的信息
-i (information)查询软件信息

4、rpm -qip 包全名 查询未安装包的信息,需要在rpm文件夹中
-p (package)查询未安装包信息

5、rpm -ql 包名 查看包的安装位置
-l list
图片描述

6、rpm -qf 文件名 查询文件是属于那个软件包的
-f file

7、rpm -qR 包名 查询软件包的依赖性,但是只能查那些已经安装过的,用途不大,多用于总结
-R requires

8、rpm -qpR 全包名 查询未安装包的依赖性

3-5 rpm包校验
rpm -V 已安装的包名
-V verify
'
图片描述
图片描述
图片描述

more命令:分页查看文件内容,可以通过cat配合,cat 文件名 | more

rpm包中文件的提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径 .表示把文件提取到当前目录下
rpm2cpio 将rpm包转换为cpio格式的命令
cpio 一种标准工具,用于创建文件档案文件和从档案文件中提取文件

cpio 选项 < [文件|设备]
-i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程
cpio命令并不知道去哪里提取,提取什么,所以需要给它确切的路径,而确切的路径需要使用输入重定向(第二个命令)或者管道符(第一个命令)配合
图片描述

4-1 yum源文件
由于rpm包在安装过程中,依赖性太强,则难度过大,所以出现了yum在线安装方法,yum会自动解决依赖性并安装
yum讲解:
/etc/yum.repos.d/文件夹里面,有四个文件,默认生效的是CentOS-Base.repo
图片描述
图片描述

1、mirrorlist和baseurl两个url一个可以注释掉,另外一个用来做源就可以,就相当于一个是用的,另外一个是备用的。
2、enable默认等于1,即默认生效
3、gpgcheck:数字证书验证,等于1则验证,等于0则不验证
4、gpgkey=file://,这里file://表示的是协议,后面的内容为证书所在位置

[os]
name=Qcloud centos os - $basearch
baseurl=http://mirrors.tencentyun.com/centos1/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

4-2 搭建本地光盘yum源
1、挂载光盘
插入光盘
建立挂载点:mkdir /mnt/cdrom
挂载光盘:mount /dev/sr0 /mnt/cdrom/

2、使网络yum源失效
(1)在yum文件每个容器中修改enable1=0
(2)改名,如:mv CentOS-Base.repo CentOS-Base.repo.bak

3、使光盘yum源生效
在文件中修改,该注释的注释,该修改的修改,将源换到/mnt/cdrom
修改enabled=1
图片描述
Linux中,注释需要顶头注释,在行中间注释,Linux是识别不了的!!

4-3 yum命令上
yum list 查询所有可安装软件包列表
yum search 关键字 搜索服务器上所有和关键字相关的包
yum install 软件名 安装软件,不需要包全名
-y 自动安装命令 yum -y install 软件名
yum -y update 软件名 升级
yum -y update 升级所有软件,包括内核

4-4 yum命令下
yum -y remove 软件名 卸载软件,不建议使用此命令卸载软件,此命令卸载的软件,容易出现把重要的其它依赖包卸载掉,造成不必要的损失。
在服务器上,最好是最小化安装,需要什么软件安装什么软件,不用多装,除非重大漏洞之类的,稳定的服务器不建议升级软件,尽量不要卸载软件,有其不要使用yum命令卸载软件。
yum grouplist 列出所有可用的软件组列表
yum groupinstall 软件组名 安装指定软件组
yum groupremove 软件组名 卸载指定软件组

linux本机是不支持中文显示的,设置远程机语言显示:
LANG修改语言临时生效,永久生效则修改
LANG=en_US
LANG=zh_CN.utf8
yum没有本地查询命令,只能查询服务器上面的可装软件,需要通过rpm命令查询

5-1 源码包和rpm包的区别
源码包和rpm包安装之后所在位置不一样
rpm -ql 软件名 查看rpm安装软件所在的位置
RPM包的作者认为软件安装在那个位置合适,就会安装在那个位置
RPM包一般情况下安装的默认位置

rpm包可以指定安装位置:rpm --prefix=<dir>
rpm -e 软件名 卸载软件

上面两种命令,第一种是绝对路径启动,是Linux中的默认命令,第二种启动方式是Redhat的命令方式

源码包的安装位置需要手工指定,一般安装在/usr/local/软件名/,这是因为源码包没有卸载命令,卸载的话直接把安装目录删除就行了

RPM包安装的软件的启动方法可以通过service 软件名 start来启动,也可以通过绝对路径来启动
源码包安装的软件的启动需要通过软件说明的绝对路径来启动,比如
/usr/local/apache2/bin/apachectl start

5-2 源码包安装过程:
前置工作:1、安装C语言编译器(由于Linux要求源码包必须使用C来编写,所以安装源码包需要C编译器)
2、下载源码包(源码包相对于RPM包来说效率更高)
winscp可以用于远程Linux上传下载
3、源码包保存位置:/usr/local/src/,安装位置:/usr/local/
wget “网址”
4、解压缩源码包并进入源码包文件夹,因为后续命令都是在当前目录进行操作的
5、./configure 当前目录下配置,configure都是在源码包目录中
./configure --prefix=路径 指定安装目录的编译

图片描述
python源码包的readme

 ./configure
make
make test
sudo make install

6、make 编译
如果报错,则make clean,清除缓存和临时文件,之后可以重新安装
7、make install 安装

6-1 脚本安装包上
Nginx

Apache并发量到2000以上就需要测试,而Nginx可以设置到50000,一台Nginx可以提供三台Apache的服务量
lamp脚本相对源码包安装各有优劣

SELinux永久关闭:/etc/selinux/config中SELINUX=enforcing改为SELINUX=disabled,之后重启电脑

wget 下载命令

6-2 脚本安装包
ps aux 查看进程
pkill -9 进程名 强制停止进程


logic1985
4 声望0 粉丝

引用和评论

1 篇内容引用
0 条评论