centos入门介绍(centos教程)
CentOS磁盘扩容【细致讲解+图解】
在虚拟机环境中,随着业务的增长和数据的积累,磁盘空间不足成为一个常见的问题。为了解决这个问题,需要对虚拟机的磁盘进行扩容,以提供更多的存储空间。
本文将介绍如何在虚拟机中扩展磁盘的步骤。我们将着重介绍在CentOS 7操作系统中进行磁盘扩容的方法,但是大部分步骤也适用于其他Linux发行版。
在进行磁盘扩容之前,需要仔细考虑和规划,以确保操作顺利进行并防止数据丢失。
我们首先将检查现有磁盘的使用情况,创建新的分区和物理卷,并将其添加到卷组中。接着,我们将扩展逻辑卷的大小,并通过相应的命令扩展文件系统以使用新的空间。
一、虚拟机磁盘扩展
在进行磁盘扩展时,我们首先需要创建新的磁盘分区。使用命令(m for help): n,并选择默认分区类型和大小,通常我们会创建一个5GB的分区。
创建完成后,我们需要重启系统或使用特定命令查看新创建的分区。
接着,我们查看剩余内存情况,以确保有足够的空间进行下一步操作。
二、对逻辑卷进行扩容
为了增加逻辑卷的存储空间,我们需要创建新的物理卷,并将其添加到卷组中。查看卷组名后,将物理卷添加到已有的卷组中。
在扩展逻辑卷前,我们首先需要检查逻辑卷的名字,通常根逻辑卷(root)是最需要扩展的。
我们使用lvextend命令来扩展逻辑卷,但在执行过程中可能会遇到空间不足的问题。通过查看物理卷信息,我们可以发现物理卷的可用空间不足。为解决此问题,我们需要调整物理卷大小或逻辑卷大小以实现磁盘扩容。
四、扩容文件系统
磁盘扩容后,文件系统大小需要相应调整,否则无法充分利用新增的空间。我们查看系统文件系统类型,对于xfs类型文件系统,使用xfs_growfs命令进行扩容。
执行命令后,系统会显示文件系统数据块数量的增加,表示扩容成功。完成文件系统扩容后,再次使用df-h命令检查内存使用情况,以验证扩容效果。
小结
磁盘扩容的大体步骤包括:创建新分区、添加物理卷至卷组、扩展逻辑卷、以及调整文件系统大小。通过以上步骤,可以有效解决虚拟机磁盘空间不足的问题,并为业务扩展提供足够的存储资源。
为了加深对物理卷、逻辑卷和卷组三者关系的理解,这里提供了一张直观的图解,帮助入门用户更好地掌握磁盘扩容过程。
Docker 入门第一课:CentOS 安装 Docker
参考文档: Install Docker Engine on CentOS
一、操作系统需求
在 CentOS系统上安装 Docker需要满足以下需求。确保您的系统具备 Docker运行所需的最低资源,并保持系统更新以获得最佳性能。
二、卸载旧版本
在安装新版本 Docker之前,先卸载旧版本以避免冲突。使用以下命令卸载 Docker。
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
卸载后,存储在/var/lib/docker/、/var/lib/containerd/的映像、容器、卷和网络不会自动删除。您需要手动删除它们以清理系统。
三、安装方法
有多种方法在 CentOS上安装 Docker。以下是推荐方法、手动管理方法及适用于测试和开发环境的自动安装脚本。
推荐方法:通过设置 Docker存储库简化安装和升级任务。
手动管理方法:下载 RPM包并手动安装,适合在无法访问 Internet的系统上。
自动安装脚本:适用于测试和开发环境,提供快速安装。
四、使用存储库安装
设置存储库
sudo yum install-y yum-utils; sudo yum-config-manager \--add-repo \ download.docker.com/lin...;
列出可用版本
yum list docker-ce--showduplicates| sort-r
安装指定版本
sudo yum install docker-ce- docker-ce-cli- containerd docker-buildx-plugin docker-compose-plugin
检查版本
docker-v
启动 Docker
sudo systemctl start docker;
验证安装成功
sudo docker run hello-world
升级 Docker
sudo yum install docker-ce- docker-ce-cli- containerd docker-buildx-plugin docker-compose-plugin
五、从 RPM包中安装
从 download.docker.com/lin...下载适合您 CentOS版本的.rpm包。安装 RPM包并启动 Docker以验证安装。
下载.rpm包
选择您的 CentOS版本,浏览 x86_64/stable/Packages/,下载所需版本的.rpm文件。
安装 Docker
sudo yum install/path/to/package.rpm
启动 Docker
sudo systemctl start docker;
验证安装
sudo docker run hello-world
升级 Docker
如需升级,请下载新版本包文件并重复安装过程,使用 yum-y upgrade替换 yum-y install并指向新文件。
六、使用便利脚本进行安装
使用自动化脚本进行安装,但需了解潜在风险和局限性。确保从互联网下载的脚本安全并具有权限要求。此脚本自动检测 Linux发行版和版本,配置包管理系统,但无法自定义参数、安装大量软件包,并可能导致意外版本升级。
预检查脚本
在安装前,检查脚本以了解执行步骤。
安装 Docker
使用脚本安装 Docker,可使用--dry-run选项运行脚本,查看将要执行的步骤。
启动 Docker
sudo systemctl start docker;
验证安装
sudo docker run hello-world
升级 Docker
使用脚本升级 Docker时,请注意依赖项可能不会更新到预期版本,可能导致过时的版本。
为什么centos应用程序有编程
1.为什么要学习 shell编程
Linux运维工程师在进行服务器集群管理时,需要编写 Shell程序来进行服务器管理。
对于 JavaEE和 Python程序员来说,工作的需要,你的老大会要求你编写一些 Shell脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。
对于大数据程序员来说,需要编写 Shell程序来管理集群。
2. shell是什么
示意图:
图1
请点击输入图片描述
Shell是一个命令行解释器,它为用户提供了一个向 Linux内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell来启动、挂起、停止甚至是编写一些程序.
3. shell编程快速入门- shell脚本的执行方式
3.1脚本格式要求
脚本以#!/bin/bash开头
脚本需要有可执行权限
图2
请点击输入图片描述
3.2脚本的常用执行方式
方式 1(输入脚本的绝对路径或相对路径)
首先要赋予 helloworld.sh脚本的+x权限
执行脚本
图3
请点击输入图片描述
方式2(sh+脚本),不推荐(了解即可)
说明:不用赋予脚本+x权限,直接执行即可
图4
请点击输入图片描述
4. shell的变量
4.1 shell的变量的介绍
Linux Shell中的变量分为,系统变量和用户自定义变量。
系统变量:HOME、HOME、PWD、SHELL、SHELL、USER等等
比如: echo$HOME
等等..
图5
请点击输入图片描述
请点击输入图片描述
显示当前 shell中所有变量:set
4.2 shell变量的定义
基本语法
注意:=两侧不能有空格
1)定义变量:变量=值
2)撤销变量:unset变量
3)声明静态变量:readonly变量,注意:不能 unset
快速入门
案例 1:定义变量 A
案例 2:撤销变量 A
图6
请点击输入图片描述
案例 3:声明静态的变量 B=2,不能 unset
图7
请点击输入图片描述
案例 4:可把变量提升为全局环境变量,可供其他 shell程序使用【一会举例。】
4.3定义变量的规则
1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头。2)等号两侧不能有空格3)变量名称一般习惯为大写
4.4将命令的返回值赋给变量(重点)
A=`ls-la`反引号,运行里面的命令,并把结果返回给变量 A
A=$(ls-la)等价于反引号
图8
请点击输入图片描述
5.设置环境变量
5.1基本语法
1) export变量名=变量值(功能描述:将 shell变量输出为环境变量)
2) source配置文件(功能描述:让修改后的配置信息立即生效)
3) echo$变量名(功能描述:查询环境变量的值)
图9
请点击输入图片描述
5.2快速入门
在/etc/profile文件中定义 TOMCAT_HOME环境变量
图10
请点击输入图片描述
请点击输入图片描述
查看环境变量 TOMCAT_HOME的值
echo$TOMCAT_HOME
在另外一个 shell程序中使用 TOMCAT_HOME
图11
请点击输入图片描述
请点击输入图片描述
注意:在输出 TOMCAT_HOME环境变量前,需要让其生效
source/etc/profile
6.位置参数变量
6.1介绍
当我们执行一个 shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变
量,比如:./myshell.sh 100 200,这个就是一个执行 shell的命令行,可以在 myshell
脚本中获取到参数信息
6.2基本语法
$n(功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十
以上的参数需要用大括号包含,如${10})
$*(功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$@(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)
6.3位置参数变量应用实例
案例:编写一个 shell脚本 positionPara.sh,在脚本中获取到命令行的各个参数信息
图12
请点击输入图片描述
7.预定义变量
7.1基本介绍
就是 shell设计者事先已经定义好的变量,可以直接在 shell脚本中使用
7.2基本语法
$$(功能描述:当前进程的进程号(PID))$!(功能描述:后台运行的最后一个进程的进程号(PID))$?(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令
正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令
执行不正确了。)
7.3应用实例
在一个 shell脚本中简单使用一下预定义变量
图13
请点击输入图片描述