文章目录
软件安装
RPM概述
RPM包
RPM Package Manager
也称二进制(binary code)无需编译,可以直接使用
软件包示例 zip-3.0-11.el7.x86_64.rpm
注释
- 软件包名 zip
- 版本号(Version) 3.0-11
- 发布版本(Release5/6/7) el7
- 系统平台(32/64) x86_64
- 文件后缀 rpm
源码包
source code需要经过GCC,C++编译环境编译才能运行
可以设定个人设置,开关功能
缺点:配置复杂
软件包示例:nginx-1.8.1.tar.gz
RPM包管理
YUM工具
是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装
可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐的一次次下载、安装
YUM本地源:系统安装光盘
目的:通知Linux服务器,通过本机的系统光盘获得软件包,并安装软件
- 观察YUM核心配置目录
记住这个目录/etc/yum.repos.d/
打开一个*.repo
观察国外地址(下载速度慢) - 删除官方YUM库
这里推荐最好备份一个文件,比如用tar
压缩一下放到别的地方 - 编写本地YUM库配置文件
[root@192 ~]# vim /etc/yum.repo.d/dvd.repo
[dvd]
name=dvd
baseurl=file:///mnt/cdrom
gpgcheck=0
[库的名称]
name=库的说明
baseurl=下载地址
gpgcheck=校验
enabled=1
- 挂载安装光盘
记得把光盘放到服务器上,通电
光驱和硬盘一样需要挂载,但是不需要分区,所以可以准备一个文件夹挂载
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
- 使用YUM安装和卸载程序
yum install -y httpd
安装软件
systemctl start httpd
启动软件
systemctl stop firewalld
关闭防火墙
systemctl disable firewalld
禁用防火墙开机自启 - 模拟客户机访问
设置一次就可以装所有的包了
使用YUM管理RPM包
安装
全新安装
yum -y install httpd vsftpd
- yum主命令
- install安装
- httpd软件包1
- vsftpd软件包2
- 软件包N
重新安装
当软件缺失文件,可尝试重新安装
yum -y reinstall http
升级安装
yum -y update httpd
升级一个程序
yum -y update
升级系统
查询
yum list httpd
最后一列有@代表安装了
卸载
yum -y remove httpd
RPM工具
- 管理红帽系统/centos系统,rpm包的基本工具
- YUM功能相同
- 缺点:RPM无法处理依赖
- 优点:RPM不需要配置,不用.repo文件也可以安装
安装i
- 先找到安装包
ls /mnt/cdrom/Packages/wget-1.14-18.el7_6.1.x86_64.rpm
检查软件包是否存在rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
- i安装 v可视 h百分比
查询q
rpm -q wget
卸载e
rpm -evh wget-1.14-18.el7_6.1.x86_64
源码包管理
获取源码包
官方网站
- Apache:
www.apache.org
- Nginx:
www.nginx.org
- Tengine:
tengine.taobao.org
实战案例
下载tengine
- 可以直接从官网下载
- 如果没有安装图形界面的话可以用wget命令
没有wget可以直接安装yum install -y wget
接下来可以用wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
当时cd在哪个文件夹就自动保存到哪个文件夹 - 可以从主机下载拖到虚拟机,不过需要安装tools映像文件
部署tengine
准备编译环境以及编译器
yum install -y gcc make zlib-devel pcre pcre-devel openssl-devel
解压
useradd www
tar xvf tengine-2.3.2.tar.gz
cd tengine-2.3.2
配置
./configure --user=www --group=www --prefix=/usr/local/nginx
编译
make
安装
make install
启动调试
- 确保关闭httpd
systemctl stop httpd
usr/local/nginx/sbin/nginx
- 关闭防火墙
systemctl stop firewalld
- 使用浏览器访问本机的IP,
http://127.0.0.1
,如果看到了NGINX的网页,说明部署成功
扩展内容
- 清理原有YUM配置,国外服务器慢
[root@192 yum.repos.d]# rm -rf /etc/yum.repos.d/*
- 下载阿里巴巴开源镜像阿里官方配置。国内服务器更快
https://developer.aliyun.com/mirror/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
-O 指定下载地址
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
在下载epel包,几乎所有软件都包括了 - 更新YUM仓库
yum makecache
用yum repolist
验证 - 执行安装
yum install -y httpd
任务计划
一次性调度计划at
语法格式at <TIMESPEC>
<TIMESPEC>示例
now +5min
teatime tomorrow (teatime is 16:00)
noon +4 days
5pm august 3 2029
4:00 2019-11-27
Example
初识一次性任务计划
- 设置一个定时创建用户的任务
- 查询任务(
atq
) - 验证结果
[root@192 ~]# at now +2min
at> useradd uuuuu<EOT>
//在把所有2分钟后要执行的命令都敲完之后,再输入CTRL+D退出
job 1 at Sun Jan 31 10:29:00 2021
[root@192 ~]# atq
1 Sun Jan 31 10:29:00 2021 a root
[root@192 ~]# id uuuuu
uid=1002(uuuuu) gid=1002(uuuuu) 组=1002(uuuuu)
循环调度执行cron
简介:cron的概念和crontab是不可分割的
crontab是一个命令,常见于Unix和Linux的操作系统中用于设置周期性被执行的命令,该命令从标准输入设备读取指令,并将其放于"crontab"文件中,以供以后读取和执行
查看进程状态
systemctl status crond.service
ps aux | grep crond
crond程序运行是计划任务执行的根本
cron示例
计划存储位置
ls /var/spool/cron
管理方式
创建计划
crontab -e
Edit jobs for the current user
查询计划
crontab -l
List the jobs for the current user
管理员可以使用-u username,去管理其他用户的计划任务
删除计划
crontab -r
Remove all jobs for the current users
语法格式Job format
* * * * * command
前五个*分别代表:分时日月周
5 1 15 4 * /mysql_back.sh
每年4月15号1点05分执行
*/5 * * * *
每隔五分钟
符号 | 作用 |
---|---|
星号(*) | 代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。 |
逗号(,) | 可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” |
中杠(-) | 可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” |
正斜线(/) | 可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。 |