Linux服务管理
目录
前言
Linux服务管理是很重要的课程,打好基础才能为下步就业云计算运维进行铺路。
一、服务安装
(一)常见软件包类型
1.1.1、 rpm包:
.rpm为后缀,红帽系列操作系统(RedHat,CentOS,OpenSUSE)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径,需要手动的解决依赖关系。
现有Linux系统已经存有10073个rpm软件包
1.1.2、 deb包:
.deb为后缀,debian系列操作系统(debian,Ubuntu,kali)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径等,需要手动的解决依赖关系。
ls查看根下 管道符 grep过滤 .deb后缀 管道符 wc -l查看数量(行数)
1.1.3、 二进制包:
一般以.bin为后缀,直接被计算机执行安装。
ls查看根下 管道符 grep过滤 .bin后缀 管道符 wc -l查看数量(行数),根下有一个.bin二进制软件包
1.1.4、 源码包:
一般C语言编写,安装前需要编译为二进制包;配置【如,安装路径,配置文件路径,运行用户,运行组,功能模块】--->编译--->安装;文件比较集中,便于后期进行维护与管理。
(二)安装方法
1.2.1、 rpm安装
使用独立的rpm包安装,需要下载对应的rpm包,一般在centos系统镜像中存在大量的rpm包
cd run/media/root/CentOS\ 7\ x86_64/Packages/ |
ls -lh 或者 ls ./ | wc -l |
1.2.1.1、 rpm包的命名方法
软件名.版本号.安装平台.安装平台的位数(32位,x86或者64位,x86_64).rpm
1. zip-3.0-11.el7.x86_64.rpm
zip:这是软件包的名称或程序名称。
3.0:这是软件包的版本号,表示该软件包的第3个主要版本。
11:这是软件包的发布号,表示该软件包的第11次发布。
el7:这是发布软件包的Linux发行版的名称或缩写,这里代表的是CentOS/RHEL 7。
x86_64:这是软件包的目标平台,表示该软件包是编译为64位x86架构的。
2. zlib-1.2.7-18.el7.i686.rpm
zlib:这是软件包的名称或程序名称,代表的是一个数据压缩库。
1.2.7:这是软件包的版本号,表示该软件包的第1个主要版本、第2个次要版本和第7个修复版本。
18:这是软件包的发布号,表示该软件包的第18次发布。
el7:这是发布软件包的Linux发行版的名称或缩写,这里代表的是CentOS/RHEL 7。
i686:这是软件包的目标平台,表示该软件包是编译为32位x86架构的。
1.2.1.2、 rpm命令使用方法
1.已安装软件包查看选项
-q:查看指定rpm包是否安装;rpm -q 软件名
-qa:查看系统中所有已安装的软件包;rpm -qa [| grep 软件名]
rpm -qa 显示有多个,wc -l看了下有1399个已安装软件包,无法找到想看到的软件包名称
rpm -qa | grep firefox 或 rpm -qa | grep boot 或 rpm -qa | grep python
-qi:查看已安装软件包的开发信息;rpm -qi 软件名
-ql:查看已安装软件包的安装路径及生成的文件;rpm -ql 软件名
-qc:查看已安装软件的配置文件;rpm -qc 软件名;一般情况下,使用rpm安装的应用程序的配置文件都存储在/etc/[应用程序的名称]
-qd:查看已安装软件的帮助文档信息;rpm -qd 软件名
-qf:查看命令由哪个软件包安装;which 命令字 rpm -qf 命令的绝对路径常用于:系统中没有对应指令且不知道由哪个软件包安装生成
2.未安装软件包查看选项
-qpi:查看未安装的软件包开发信息;rpm -pqi 软件包名称(全格式)
-qpl:查看未安装软件包的安装路径及生成文件;rpm -pql 软件包名称(全格式)
3.安装、升级、卸载选项
-i:安装软件包;rpm -ivh /path/软件包名称(全格式)
-v:详细显示安装过程
-h:人性化显示
-U:升级软件包;rpm -Uvh 软件包名称
-e:卸载已安装软件包;
--nodeps:忽略依赖关系的进行卸载、升级或安装
rpm --nodeps用于在安装rpm包时不检查依赖关系。这意味着,如果安装的包缺少所需要的依赖关系,也不会发出任何警告或错误。同时在使用rpm --nodeps时需要小心,因为它可能会导致系统不稳定或出现问题,因为缺少某些必要的依赖关系。这将安装所输的.rpm软件包并强制忽略所有依赖关系。
1.2.2、 yum安装
yum可以自动解决依赖关系
1.2.2.1、 yum相关配置文件
yum源配置文件:指定yum程序运行时查找软件包的存储路径( /etc/yum.repos.d )
yum程序配置文件:yum程序运行时的运行配置( /etc/yum.conf )长度
keepcache=0,不保留软件包缓存
keepcache=1,保留软件包缓存
缓存保存路径 /var/cache/yum/x86_64/7
1.2.2.2、 yum源类型
1.本地yum源
利用本地存在的软件包路径
file://localPath(绝对路径)
2.网络yum源
利用网络存储的软件包路径
http://域名/Path
https://域名/Path
ftp://域名/Path
3.常见网络yum源
网易yum源 欢迎访问网易开源镜像站 (163.com)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
阿里云yum源 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
epel源 yum -y install epel-release
4.常见开源镜像站
清华大学 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
网易开源镜像站 欢迎访问网易开源镜像站 (163.com)
阿里巴巴 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)
1.2.2.3、 配置本地yum源
1. 配置方法步骤
1). cd /etc/yum.repos.d
2). mkdir backup
3). mv CentOS-* backup
4). vim local.repo
vim创建local.repo文件内容如下:
[local]
name=local 描述信息
baseurl=file:///mnt 指定软件包及其元数据存储路径
enabled=1 是否使用该源,0表示不使用,1表示使用
gpgcheck=0 一般使用不验证的方式
验证的方式: gpgcheck=1
gpgkey=keyPath
5). mount /dev/sr0 /mnt
2. 命令语法
yum [选项] command(指定要执行的yum命令) [可选参数]
3. 子命令(command)
install 安装
remove 卸载
list 查看yum源中的软件包列表
4. 命令选项
-y 非交互
5. 交互式安装
yum install 软件名
Is this ok?
y 安装
d 下载不安装
n 不下载不安装
6. 非交互式安装
yum -y install 软件名
1.2.3、 源码包(编译)安装
源码包(编译)安装需要依赖gcc和make环境
配置:cd 源码包的解压路径;./configure --prefix=安装路径(/usr/local/nginx)
编译:make
安装:make install
案例 nginx编译安装
tar xf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx1.12
发现依赖缺失
解决依赖缺失
yum install -y pcre-devel
yum install -y zlib-devel
重新输入一遍./configure --prefix=/usr/local/nginx1.12j进行验证
配置完成后将在源码包下生成Makefile文件
输入make 编译
输入make install 安装
命令合并 ./configure --prefix=/usr/local/nginx1.12 && make && make install
验证 cd /usr/local/nginx1.12
注意 编译安装完成的软件默认不被systemd管理
1.2.4、 二进制安装
二进制安装只需要运行bin文件
案例
mv /tmp/VMwareDnD/3iKhx2/jdk-6u14-linux-x64.bin .
ls
jdk-6u14-linux-x64.bin
./jdk-6u14-linux-x64.bin
根据提示进行操作即可
加载完毕后自动退出
二、systemd管理机制
(一)systemd管理机制
init进程是所有进程的父进程,systemd实际上是一种管理init的软件。
(二)基于unit概念实现,常见的unit类型
(三)运行级别与target对应关系
(四)改变运行级别
查看默认级别 systemctl get-default 或者 runlevel
设置默认级别 systemctl set-default multi-user.target
(五)systemctl命令的使用
语法结构: systemctl 服务控制类型 服务名称[.service]
服务控制类型
start:启动
status:查看状态
stop:停止
restart:重启
reload:重载
enable:开机自启动
is-enabled:查看是否开机自启动
disable:开机不进行自启动
(六)图形化管理工具
ntsysv 只能在图形化运行级别使用
例如这个服务开机自启动
把它关掉
图形化管理工具至可以在图形化界面使用哦,在字符界面使用不了的。
总结
今天的内容实操部分较多,需要最后背记的就是其中的命令还有运行级别相关,这些东西关乎后期运维中实际案例等,在实际生活、工作过程中应用最多的yum源大家可以多进行操作多熟悉。