Linux软件安装管理--听课笔记

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

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

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

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

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

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

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

rpm -e 包名 卸载,有可能须要安装安装的流程,反向卸载各个依赖,也能够(rpm -e --nodeps 包名)直接卸载,可是各类依赖没有被卸载,不推荐
rpm安装,会将软件安装在做者设定的默认位置,rpm安装的软件,会将软件放置到不少地方,因此须要卸载命令服务器

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

二、rpm -qa 查询全部已经安装的rpm包
-a all
配合grep使用,rpm -qa | grep python并发

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

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

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

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

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

八、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
图片描述
图片描述

一、mirrorlist和baseurl两个url一个能够注释掉,另一个用来作源就能够,就至关于一个是用的,另一个是备用的。
二、enable默认等于1,即默认生效
三、gpgcheck:数字证书验证,等于1则验证,等于0则不验证
四、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源
一、挂载光盘
插入光盘
创建挂载点:mkdir /mnt/cdrom
挂载光盘:mount /dev/sr0 /mnt/cdrom/

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

三、使光盘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 源码包安装过程:
前置工做:一、安装C语言编译器(因为Linux要求源码包必须使用C来编写,因此安装源码包须要C编译器)
二、下载源码包(源码包相对于RPM包来讲效率更高)
winscp能够用于远程Linux上传下载
三、源码包保存位置:/usr/local/src/,安装位置:/usr/local/
wget “网址”
四、解压缩源码包并进入源码包文件夹,由于后续命令都是在当前目录进行操做的
五、./configure 当前目录下配置,configure都是在源码包目录中
./configure --prefix=路径 指定安装目录的编译

图片描述
python源码包的readme

./configure
make
make test
sudo make install

六、make 编译
若是报错,则make clean,清除缓存和临时文件,以后能够从新安装
七、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 进程名 强制中止进程

相关文章
相关标签/搜索