Linux学习之任务调度与磁盘管理、RPM与YUM软件包管理及Discuz论坛的搭建
1. 任务调度
通用Linux系统支持实时和非实时两种进程,实时进程相对于普通进程具有绝对的优先级。对应地,实时进程采用SCHED_FIFO或者SCHED_RR调度策略,普通的进程采用SCHED_OTHER调度策略。
在Linux里面,定时任务调用,是指系统在指定的时间去执行相关的命令或程序。
任务调度分两种:
- 系统工作:每天的日志处理,每天进行病毒扫描。
- 个别用户工作:和我们相关服务端软件有关联的一系列操作,每天2:00对数据库进行备份(自动化,运维Shell Python)。
1.1 crontab 任务调度指令
1.2 占位符的含义
1.3 特殊符号的说明
1.4 特定时间的案例
[root@localhost ~]# vim mytask.sh
//注意一下新建脚本的权限问题 至少要有x
date >> /root/to.txt
cal >> /root/to.txt
[root@localhost ~]# crontab -e
*/1 * * * * /root/mytask.sh
[root@localhost ~]# chmod 755 mytask.sh
//案例
//每一分钟 将命令历史 输出到> /root/list.txt文件中 不要行号 只保留命令
[root@localhost ~]# vim h.sh
history | cut -d " " -f 5-10 > /root/list.txt [root@localhost ~]# chmod 755 h.sh [root@localhost ~]# crontab -e
*/1 * * * * /root/h.sh
[root@localhost ~]# service crond restart
//重启定时服务
2. 磁盘分区与挂载
2.1 磁盘分区
-
mbr分区
(1)最多支持四个主分区
(2)系统只能安装在主分区
(3)扩展分区要占一个主分区
(4)mbr最大支持2TB,但有最好的兼容性的 -
gtp分区
(1)支持无限多个主分区(但是OS有限制,Windows最多支持128个)
(2)最大支持18EB的容量 (1EB=1024PB 1PB=1024TB 1TB=1024GB)
(3)Windows7 x64以后都是支持gtp分区 新的OEM -
Windows磁盘分区
- Linux磁盘分区
(1)对于Linux来说,无论有几个分区,分给哪一个目录使用,它们归根结底就只有一个根目录 / ,一 个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分的。
(2)Linux采用了一种叫“载入”的处理方式,将目录和分区链接起来的。
如何进行分区呐?
(1)Linux硬盘分为IDE(并口)和SCSI(串口),目前基本上用的是串口。
(2)对于IDE硬盘而言,驱动器的标识符为"hdx~"。
- hd表明分区所在的设备类型 hd就是指IDE硬盘 sd指的是SCSI
- x为盘号(a基本盘 b基本从属盘 c辅助主盘 d辅助从属盘… )相互独立的硬盘个体
- ~ 为某一个硬盘的分区 一般前四个分区1~4 表示的主分区或扩展分区 5以后 逻辑分区
3.如何给Linux再去加上一块硬盘
(1)创建一个目录,用于挂载硬盘
(2)在虚拟机设置中,添加一块1GB硬盘
(3)查看新硬盘,并重启
(4)给硬盘分区
(5)格式化硬盘
(6)挂载 (临时挂载 重启之后就失效了)
(7)永久化挂载
4. RPM与YUM软件包管理
RPM Redhat Package Manager 红帽的软件包管理工具 类似于Windows上setup.exe
- 相关查询软件的操作
//查找所有安装的应用程序
[root@localhost /]# rpm -qa
//查询指定名称的应用程序
[root@localhost /]# rpm -qa | grep firefox
firefox-38.3.0-2.el7_1.x86_64
//查询安装程序的信息
[root@localhost /]# rpm -qi firefox
Name : firefox
Version : 38.3.0
Release : 2.el7_1
Architecture: x86_64
Install Date: 2021年05月22日 星期六 19时43分04秒
Group : Applications/Internet
Size : 137678054
License : MPLv1.1 or GPLv2+ or LGPLv2+
Signature : RSA/SHA256, 2015年09月21日 星期一 14时43分41秒, Key ID 199e2f91fd431d51
Source RPM : firefox-38.3.0-2.el7_1.src.rpm
Build Date : 2015年09月17日 星期四 17时37分14秒
Build Host : x86-035.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : http://www.mozilla.org/projects/firefox/
Summary : Mozilla Firefox Web browser
Description :
Mozilla Firefox is an open-source web browser, designed for standards
compliance, performance and portability.
//查询软件包中的文件
[root@localhost rh]# rpm -ql firefox
-
卸载软件
[root@localhost rh]# rpm -e firefox
-
安装软件
//前往系统镜像所在的路径
[root@localhost media]# cd /run/media/root
//进入到系统进行文件中
[root@localhost root]# cd RHEL-7.2\ Server.x86_64/
//进入到系统镜像中 软件包这个文件夹
[root@localhost Packages]# cd Packages/
//查看火狐安装包
[root@localhost Packages]# ls -l firefox-38.3.0-2.el7_1.x86_64.rpm
//将火狐的安装包复制到/opt下
[root@localhost Packages]# cp firefox-38.3.0-2.el7_1.x86_64.rpm /opt
//进入到opt目录
[root@localhost Packages]# cd /opt
//安装火狐
[root@localhost opt]# rpm -ivh firefox-38.3.0-2.el7_1.x86_64.rpm
- YUM 基于RPM的一个包管理命令,能够从指定的服务器(指定本地)上去下载RPM包并执行,可以自动处理一些包之间的依赖关系,并依次安装。
//查看当前YUM源上有哪些可以安装的程序包
[root@localhost opt]# yum list
[root@localhost opt]# yum list | grep firefox
//卸掉本地的火狐 [root@localhost opt]# rpm -e firefox
//从YUM源上安装火狐浏览器
[root@localhost opt]# yum install firefox-38.3.0-2.el7_1.x86_64.rpm
- 在Linux上安装Java开发环境
//把JDK下载下来 复制到/opt下 XFTP或rz
//解压
[root@localhost opt]# tar -zxvf jdk-7u79-linux-x64.gz
//配置环境变量
[root@localhost /]# vim /etc/profile
//最后一行输入
JAVA_HOME=/opt/jdk1.7.0_79
PATH=/opt/jdk1.7.0_79/bin:$PATH
export JAVA_HOME PATH
//注销后重新登录
5. Discuz论坛的搭建
(1)连接光驱,将光驱挂载到/mnt目录下
[root@localhost ~]# mount /dev/sr0 /mnt
(2)配置本地源
//切换到YUM源配置的目录
[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
//编辑一个新文件 创建本地源配置
[root@localhost yum.repos.d]# vim csa.repo
[base]
name=baseos
baseurl=file:///mnt
gpgcheck=0
(3)从本地源里面安装httpd服务器环境
[root@localhost yum.repos.d]# yum install httpd -y
(4)安装数据库
[root@localhost yum.repos.d]# yum install mariadb-server.x86_64 -y
(5)开启httpd服务和数据库,并关闭防火墙
[root@localhost yum.repos.d]# systemctl start mariadb httpd
[root@localhost yum.repos.d]# systemctl stop firewalld
(6)输入虚拟机地址用浏览器访问 打开的是httpd自己的测试页面 自己定义一个主页面
(7)安装php环境
[root@localhost html]# yum install php* -y
(8)配置数据库
[root@localhost html]# mysql_secure_installation
(9)查看数据库
[root@localhost html]# mysql -u root -p
Enter password:
exit退出
(10)装论坛软件包
//先去httpd网页资源目录
[root@localhost html]# cd /var/www/html/
//通过rz或XFTP上传Discuz包
//删除刚才我们自己创建的一个静态页面
[root@localhost html]# rm -rf index.html
//解压Discuz包 并删除
[root@localhost html]# unzip Discuz_X2.5_SC_UTF8.zip
[root@localhost html]# rm -rf Discuz_X2.5_SC_UTF8.zip
//进入到Discuz的主目录
[root@localhost html]# cd upload/
将相关的目录改权限,为了给论坛用户增加写的权限
[root@localhost upload]# chmod o+w config/ data/ uc_client/ uc_server/ -R
打开Selinx的安全
[root@localhost upload]# getenforce Enforcing
[root@localhost upload]# setenforce 0
[root@localhost upload]# getenforce Permissive
重启httpd
[root@localhost upload]# systemctl restart httpd
浏览器访问192.168.30.131/upload/