RHCSA --- Linux存储管理

存储管理 

Boot:可引导操作系统的分区(必须是主分区)

分区

ll /dev/nvme0n*    表示的是    nvme接口的磁盘    0n1 1    0n2 2    0n3 3   
    brw-rw----. 1 root disk 259, 0 Nov 15 19:31 /dev/nvme0n1    磁盘1
    brw-rw----. 1 root disk 259, 3 Nov 15 19:31 /dev/nvme0n2    磁盘2


lspci    查看设备上硬件的信息
ll /dev/sd*    表示的是    sata接口的磁盘    sda 1    sdb 2    sdc 3   

fdisk -l    列出磁盘设备    scsi(服务器使用)    ide    sata    nvme 

fdisk -l | grep dev    显示各磁盘及磁盘分区信息
fdisk -l | grep Disk    显示各磁盘及磁盘分区信息
fdisk -l | grep Disk | grep dev | grep -v mapper    显示磁盘信息

fdisk /dev/磁盘设备名称    管理磁盘    交互式    parted 
    一级菜单  
         d    删除一个分区(delete a partition)
        l    列出已知分区的类型(list known partition types)
        n    添加一个新分区(add a new partition)
        p    打印分区表(print the partition table)
        t    修改分区类型(change a partition type)
        m    打印帮助菜单(print this menu)
        w    保存并退出(write table to disk and exit)
         q    退出不保存(quit without saving changes)

        创建主分区:
             Command (m for help): n
            Partition type
            p(组分区)    primary (0 primary, 0 extended, 4 free)    4个组分区
            e(扩展分区)    extended (container for logical partitions)    从4个组分区中选一个作为扩展分区(分为逻辑分区),分后扩展分区不可用,只可用主分区和逻辑分区
            Select (default p): p
            Partition number (1-4, default 1):  
            First sector (2048-41943039, default 2048):     2048之前为元数据空间,之后为数据空间
            Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5G    以数字大小做分区

        创建扩展分区:
            Command (m for help): n
            Partition type
               p   primary (1 primary, 0 extended, 3 free)
               e   extended (container for logical partitions)
            Select (default p): e
            Partition number (2-4, default 2): 
            First sector (10487808-41943039, default 10487808): 
            Last sector, +sectors or +size{K,M,G,T,P} (10487808-41943039, default 41943039): 
            
            Created a new partition 2 of type 'Extended' and of size 15 GiB.

        创建逻辑分区:
            Command (m for help): n
            All space for primary partitions is in use.
            Adding logical partition 5
            First sector (10489856-41943039, default 10489856): 
            Last sector, +sectors or +size{K,M,G,T,P} (10489856-41943039, default 41943039): 
            
            Created a new partition 5 of type 'Linux' and of size 15 GiB.


格式化
    在磁盘分区上创建文件系统的过程,叫格式化

mkfs
    mkfs -t xfs /dev/磁盘设备分区的名称
    mkfs.xfs /dev/磁盘设备分区的名称    xfs最新的默认的文件系统    
                    ext 系列    ext2/3/4   .....
        mkfs.xfs /dev/nvme0n2p1
        mkfs.ext4 /dev/nvme0n2p5

挂载
    将文件系统中的某个目录和分区建立映射关系的过程
    反之为    取消挂载    


mount /dev/nvme0n2p1 /test     /dev/nvme0n2p1    挂载源    /test    挂载点    挂载目标  
           挂载的分区           挂载的目录        

df -h   查看已经挂载的文件系统及设备;

再次挂载后,目录所创文件保留在原挂载分区中

挂载点有内容的文件夹,在挂载后内容消失,卸载后内容重现,也就是说挂载后会将原文件内容掩盖,但并不对其进行其他操作。

umount 挂载源/挂载点     取消挂载  


自动挂载

vim /etc/fstab

[root@localhost ~]# ll /etc/fstab 
-rw-r--r--. 1 root root 687 Jan 19 11:47 /etc/fstab


6个字段    
1    2    3    4    5    6
挂载源    挂载点    文件系统    挂载选项    0    0

mount  -a  挂载所有的  /test02   

UUID:唯一标识符

blkid    查看UUID   

LVM(Logical volume manager)    逻辑卷管理
    通过软件将物理磁盘逻辑化,运用逻辑思想(自由)解决物理问题
        物理磁盘:磁盘
        逻辑化后:PV    物理卷
        再组合:    VG    卷组(不能直接使用)
        再分区:    LV    逻辑卷(可添加、可取消、可扩展)


创建PV    
pvcreate /dev/nvme0n2 
    需要逻辑化的物理磁盘

查看
pvs
pvdisplay
 
创建PV
pvcreate /dev/sda
pvs

创建VG
vgcreate vgname /dev/nvme0n2

查看
vgs

创建LV
lvcreate -n lvname -L 8G vgname 

查看
lvs
lvdisplay 
vgdisplay 
lvs
lvdisplay 

格式化:在分区上创建文件系统
注意路径:/dev/卷组名称/逻辑卷的名称

mkfs.xfs /dev/vgname/lvname 
ll /test
mount /dev/vgname/lvname /test
df -h
vim /etc/fstab 
reboot
vi /etc/fstab 
reboot
df -h
ll /dev/vgname/lvname 
ll /dev/mapper/vgname-lvname 
vim /etc/fstab 
blkid
vim /etc/fstab 

删除:
lvs
vgs
pvs
lvremove /dev/vgname/lvname 
umount /test
df -h
lvremove /dev/vgname/lvname
lvs
vgremove vgname 
pvremove /dev/nvme0n2
pvs
vgs
lvs

自动挂载
vim /etc/fstab

虚拟机异常:紧急模式 ---》 修改

挂在之后会出现路径的变化:
                                 链接到
dev/vgname/lvname ---> ../dm-2(dev)
                                              链接到
dev/mapper/vgname-lvname ---> ../dm-2(dev)    推荐(常用)
UUID    最推荐
创建的LV与dm-2设备是同一个,系统提供两个软链接方便使用

dm-2:device mapper(设备映射)

利用了Mapper Device机制( Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制)每次将卷组的一部分切为逻辑卷时,它都会显示为dm-xx设备

swap    交换空间(不可以当内存使用,暂存)


    硬盘中专门开辟的空间,供内存作为数据(没用的)转移使用,转移的数据不会影响当前操作

    fdisk dev/sda    在磁盘上以交互式建立分区

    mkswap /dev/sda1    使用指定分区创建交换空间(必须是单独分区空间)
    
    free -m    查看内存总数(MB)及交换空间大小的使用情况
    
    swapon /dev/sda1    启用创建好的交换空间
    
    swapon -s    查看启用的交换空间由哪些设备组成
    
    swapoff /dev/sda1    停用已经启用的交换空间(分区还在)
    
    mkfs.xfs /dev/sda1 -f    在停用该交换空间以后,强制格式化指定分区,以作他用(可做文件系统)。
    
    /etc/fstab文件    交换空间开机启用
    写法:
    /dev/sda1    none    swap    defaults    0   0
            无挂载点    格式    挂载选项
设备:
    /dev/null        黑洞
    /dev/random    随即设备:产生数据
    /dev/urandom    产生随机数
    /dev/zero        生成0数据,填满设备
    /dev/sr0        光驱(包含光盘镜像文件)

    dd    转换并拷贝文件
                       数据到什么地方去
        dd if=/dev/zero of=hehe bs=1M count=5000
              数据从什么地方来         每次1MB,生成5000次
        dd if=/dev/zero of=/dev/nvme0n1    覆盖性擦除磁盘数据
    
    mnt目录    挂载光驱、USB设备、Windows分区的文件系统
        AppStream    除操作系统以外的所有软件包
        BaseOS        
        mount /dev/sr0 /mnt    
        df -h

软件包管理

rpm    软件包管理器    

    /mnt/BaseOS/Packages/

rpm -i zsh-5.5.1-6.el8_1.2.x86_64.rpm    指定安装包文件名来安装程序    
    软件包的文件名(与程序名无关)

rpm -qa | grep zsh    通过过滤关键字来确认是否已经安装某个程序

rpm -e zsh    删除指定软件包(卸载程序)

    部分软件包之间具有依赖关系:一起安装
        yp-tools-4.2.3-1.el8.x86_64.rpm
        ypbind-2.5-2.el8.x86_64.rpm
        nss_nis-3.0-8.el8.x86_64.rpm
    方案一:
    rpm -i ypbind-2.5-2.el8.x86_64.rpm yp-tools-4.2.3-1.el8.x86_64.rpm
    方案二:仓库配置文件

rpm -qf /etc/yum.conf    指定文件查找该文件的创建者。。。

rpm -ql yum    查询软件包安装过程中生成了多少文件。。。。

仓库管理

仓库配置文件

    1、软件都在哪里        baseurl
    2、仓库名称        name 
    3、仓库标识符        []
    4、要不要启用        enable
    5、要不要检查软件包    gpgcheck

yum    
    解决软件管理的问题    依赖的问题、软件包路径的问题  。。。

    配置文件:
        cd /etc/yum.repos.d/

vim cangkuwenjian.repo    创建仓库文件(.repo)

[root@localhost yum.repos.d]# cat cangkuwenjian.repo 
[biaozhifu]
name=cangku1    仓库名称
baseurl=/mnt/BaseOS    软件位置
enable=1    启用
gpgcheck=0    检查软件包

    RPM-GPG-KEY    验证软件包是否是红帽厂商打包

[biaozhifu2]
name=cangku2
baseurl=/mnt/AppStream
enable=1
gpgcheck=0

yum install ypbind        安装指定软件

yum remove ypbind    卸载指定软件    

dnf    用法和yum完全一致    -y    表示直接确认。


系统管理(服务管理)

    systemctl start        启动服务
        stop        停止服务
        reload        重新加载服务
        enable        开机自启动服务
        disable        禁止开机自启动服务
        is-active        是否已经启动服务
        is-enabled    是否已经开机自启动服务
        mask        是否已经标记(禁止服务以任何形式启动)
        unmask        取消标记服务
        status        查看服务状态
                服务名称     

vim /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80
ServerName 0.0.0.0:80

systemctl start httpd
systemctl status httpd
systemctl stop firewalld

systemctl stop firewalld    关闭防火墙


综合实验:

#停止防火墙
systemctl stop firewalld

#关闭SELINUX selinu(安全框架)    
getenforce 
setenforce 0    关闭     

#挂载光盘镜像
mount /dev/sr0 /mnt

#安装httpd服务
yum/dnf install httpd -y

#编辑文档/etc/httpd/conf/httpd.conf
95 ServerName 0.0.0.0:80

#安装数据库
yum install mariadb mariadb-server -y

#启动数据库
systemctl start mariadb


# 初始化数据库
[root@localhost ~]# mysql_secure_installation 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

#数据库root账户密码(默认无密码)
Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

#设置数据库root账户密码
Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

#是否移除匿名账号
Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

#是否禁止root用户远程登录
Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

#是否访问并删除测试的数据库
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

#是否重新加载权限表
Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

# 安装php组件
yum install php -y

yum install php-* libjpeg* -y

#重启服务
systemctl restart mariadb
systemctl restart httpd
systemctl enable httpd
systemctl start httpd
systemctl status httpd

# 创建数据库
[root@localhost ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database luntan;
Query OK, 1 row affected (0.000 sec)

#退出
MariaDB [(none)]> exit
Bye

传输压缩包文件

#移动压缩包到指定目录下
[root@localhost ~]# mv Discuz_X3.4_SC_UTF8_20191201.zip /var/www/html/
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ll
total 11524
-rw-r--r--. 1 root root 11800498 Jan 19 16:15 Discuz_X3.4_SC_UTF8_20191201.zip

#解压文件
[root@localhost html]# unzip Discuz_X3.4_SC_UTF8_20191201.zip

#删除源文件
[root@localhost html]# rm -rf Discuz_X3.4_SC_UTF8_20191201.zip 
[root@localhost html]# ll
total 96
-rw-r--r--.  1 root root 18451 Jul  3  2019 qqqun.png
drwxr-xr-x.  2 root root   102 Dec  1  2019 readme
-rw-r--r--.  1 root root 70883 Dec  1  2019 readme.html
drwxr-xr-x. 13 root root  4096 Dec  1  2019 upload
drwxr-xr-x.  4 root root    94 Dec  1  2019 utility

#切换目录
[root@localhost html]# cd upload/
[root@localhost upload]# ll
#修改指定目录及指定目录下的所有文件的文件权限
[root@localhost upload]# chmod 777 uc_server/ uc_client/ data/ config/ -R

#浏览器访问路径
http://192.168.242.128/upload/install/

#页面安装数据库
填写数据库信息
数据库服务器:localhost(本地)
数据库名:luntan
数据库用户名:root
数据库密码:redhat
数据库前缀:pre_
系统邮箱 Email:admin@admin.com

填写管理员信息
管理员账号:admin
管理员密码:redhat
重复密码:redhat
管理员 Email:admin@admin.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法之冒泡排序

算法之冒泡排序 冒泡排序Bubble Sort 交换排序相邻元素两两比较大小,有必要则交换。元素越小或越大,就会在数列中慢慢的交换并“浮”向顶端,如同水泡咕嘟咕嘟往上冒。 核心算法 排序算法,一般都实现为就地排序,输出…

vscode c++ 报错identifier “string“ is undefined

vscode c 报identifier “string” is undefined 问题 新装了电脑, 装好vsc和g等, 发现报错 但开头并没问题 解决 shiftctrlp选择 C/C Edit:COnfigurations (JSON)自动生成打开 c_cpp_properties.json添加g路径等 "cStandard": "c11","cppStanda…

【数据结构(二)】单链表(3)

文章目录 1. 链表介绍2. 单链表应用实例2.1. 顺序添加方式2.1.1. 思路分析2.1.2. 代码实现 2.2. 按照编号顺序添加方式2.2.1. 思路分析2.2.2. 代码实现 3. 单链表节点的修改3.1. 思路分析3.2. 代码实现 4. 单链表节点的删除4.1. 思路分析4.2. 代码实现 5. 单链表常见面试题5.1.…

Universal adversarial perturbations(2017 CVPR)

Universal adversarial perturbations----《普遍对抗扰动》 通俗UAP算法步骤理解:对于 x i ∈ X {x_i} \in X xi​∈X 的每个采样数据点,比较 k ^ ( x i v ) \hat k({x_i} v) k^(xi​v) 与 k ^ ( x i ) \hat k({x_i}) k^(xi​) ,如果 k…

Rust与其他语言对比:优势在哪里?

大家好!我是lincyang。 今天,我们将深入探讨Rust语言与其他编程语言比较的优势,并通过具体的代码示例和性能数据来加深理解。 Rust与其他语言的比较 1. 内存安全性 Rust:采用所有权系统,编译器在编译时检查内存安全…

西南科技大学814考研二

C语言数据结构与算法 线性表 顺序表(静态分配内存) #include <stdio.h> #include <stdbool.h> //静态顺序表 #define MAX_SIZE 8 //顺序表储存的数据类型 typedef int ElemType; typedef struct {ElemType data[MAX_SIZE];int length; }SeqList; //初始化顺序表…

redis 非关系型数据库

redis 非关系型数据库&#xff0c;缓存型数据库。 关系型数据库和非关系型数据库的区别 关系型数据库是一个机构化的数据库&#xff0c;行和列。 列&#xff1a;声明对象 行&#xff1a;记录对象属性。 表与表之间是有关联&#xff0c;使用sql语句&#xff0c;来对指定的表…

Oracle 存储过程数据插入临时表慢以及SQL语句查询慢

/*parallel*/ 解释: 一般表数据量比较大&#xff08;超过100万&#xff09;时&#xff0c;可以使用parallel强制启动并行度来提升查询速度 用法&#xff1a;/*parallel(table_short_name,cash_number)*/ 可以加到insert、delete、update、select的后面来使用 比如&#xff…

Linux:安装MySQL服务(非docker方式)

1、下载安装包 下载MySQL安装包&#xff0c;需要Oracle官网的账号 下面是网友提供的账号及密码&#xff0c;亲测有效。 账户&#xff1a;3028064308qq.com 我用的这个&#xff0c;可以登陆 密码&#xff1a;OraclePassword123!Oracle Account: 602205528qq.com Oracle Pass…

计算机毕业设计选题推荐-掌心办公微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

分形简单版

我的代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N1000; int n; char s[N][N]; void work(int x) {if(x1) {s[0][0]*;return;}work(x-1);for(int i0;i<(1<<x-2);i)for(int j(1<<x-2);j<(1<<x-1);j) s[i][j]s[i][j-(…

Java的IO流-打印流

打印流 PrintStream public void println&#xff08;&#xff09;自动换行 PrintWriter package com.itheima.println;import java.io.FileInputStream; import java.io.PrintStream; import java.io.PrintWriter;public class Test2 {public static void main(String[] arg…

【Linux】第十九站:进程替换

文章目录 一、单进程版---最简单的程序替换二、进程替换的原理三、多进程的程序替换1.多进程的程序替换实例2.那么程序在替换时候有没有创建子进程呢3.再谈原理4.一个现象5.我们的CPU如何得知程序的入口地址&#xff1f; 四、各个接口的介绍1.execl2.execlp3.execv4.execvp5.ex…

【Spring Boot】使用WebSocket协议完成来单提醒及客户催单功能

1 WebSocket介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信(双向传输)——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c; 并进行双向数据传输。 1.1 HTTP协议和WebSocket协议对比 1、HTTP是短…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(六)

新增菜品 1.1 需求分析与设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 2.2 代码开发2.2.1 文件上传实现2.2.2 新增菜品实现 2.3 功能测试 1.1 需求分析与设计 1.1.1 产品原型 后台系统中可以管理菜品信息&#xff0c;通过 新增功能来添加一个新的菜品&#xff0c;在添加菜品…

Ubuntu 下C++数字雨

以前写过一个Window下的数字雨&#xff0c;像黑客帝国里那样的01数字&#xff0c;现在补充一版Linux下的。使用了curses库&#xff0c;安装方法与使用方法参照 Linux下curses函数库的详细介绍_libcurses库-CSDN博客 5-linux学习笔记之-----curses-CSDN博客 效果如下&#xf…

拜托!佛系点,你只是给社区打工而已

社区人到年底了各种要写的东西很烦啊&#xff01;突然看到这个&#xff0c;真的谢谢啊&#xff01; 家人们谁懂啊&#xff1f;&#xff01;&#xff01;平时写个东西起码两三天&#xff0c;试了一下这东西&#xff01;输入需求&#xff0c;一键生成&#xff0c;写好了&#xf…

webpack快速上手之搭建cesium三维地球环境

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 Cesium介绍 初始化一个Cesium地球 ​编辑 Webpack的使用 Webpac…

汽车ECU的虚拟化技术初探(三)--U2A虚拟化辅助功能分析1

目录 1.基本概述 1.1 U2A虚拟化辅助功能 1.2 U2A虚拟化使能和资源分配 2. U2A架构概述 3. CPU运行模式 3.1 虚拟化模式 3.2 限制运行模式 3.3 权限运行模式 3.4 CPU运行模式小结 4.小结 1.基本概述 1.1 U2A虚拟化辅助功能 在汽车ECU的虚拟化技术初探(二)-CSDN博客中…

文心一言 VS 讯飞星火 VS chatgpt (139)-- 算法导论11.4 3题

三、用go语言&#xff0c;考虑一个采用均匀散列的开放寻址散列表。当装载因子为 3/4 和 7/8 时&#xff0c;试分别给出一次不成功查找和一次成功查找的探查期望数上界。 文心一言&#xff1a; 在开放寻址法中&#xff0c;当散列表的装载因子超过其阈值时&#xff0c;会触发重…