目录
LLL的数据库培训—第一部分—Linux基础知识—第5讲—Linux 7 使用—网络命令/磁盘管理/软件安装/仓库管理
一、其他命令使用
1、echo命令
主要用于打印字符或回显。
(1)echo $ORACLE_HOME --变量
(2)echo 123
(3)echo ' 123456' >>test.log
(3)echo ' ' >test.log
2、df命令
用于磁盘分区查询
(1)df -h
(2)df -Th
3、du命令
用于查看文件在磁盘中的使用量。
du -sh *
二、vi/vim命令
1、vim编辑器模式:
--命令行模式
--文本输入模式
--末行模式
2、命令行模式
可以删除、复制、粘贴、撤销;
可以切换至文本输入模式
可以从文本输入模式按ESC切换回命令行模式
dd: 删除整行; ndd: 删除从当前光标行开始的,下面共n行; u: 撤销上一次(连续u,连续撤销前一次) G: 跳到文档最后一行 gg: 跳到文档第一行 o: 跳至光标所在行的下一行行首,并可以编辑输入【进入文本输入模式】 O: 跳至光标所在行的上一行行首,并可以编辑输入【进入文本输入模式】 i: 从光标所在字符的前一个位置开始录入 【进入文本输入模式】 I: 从光标所在行的行首开始录入- 【进入文本输入模式】 a: 从光标所在字符后的一个位置开始录入--进入文本输入模式 A: 从光标所在字行的行尾开始录入--进入文本输入模式
3、文本输入模式
进行文本编辑
4、末行模式
包括查找、替换、末行保存、退出等。常用命令如下:
:w 保存 :q 退出 :wq 保存退出 :wq! 强制保存退出 :q! 强制退出 /单词:从前往后找,正向搜索 ?单词:从后往前找,反向搜索
三、网络命令
1、ifconfig 2、netstat
四、磁盘管理
1、硬盘简介
Linux 系统中硬件设备相关配置文件存放在/dev/下,常见硬盘命名为/dev/hda、/dev/sda、/dev/sdb、/dev/sdc、/dev/vda。不同硬件接口,在系统中识别的设备名称不一样。
--IDE硬盘接口在Linux中设备名为/dev/hda;
--SAS、SCSI、SATA硬盘接口在Linux中设备名sda;
--高效云盘硬盘接口会识别为/dev/vda等。
2、对磁盘的操作
MBR分区标准决定了MBR只支持2T以下的硬盘分区,为了能支持使用大于2TB的硬盘空间,续使用GPT格式进行 分区。
创建大于2TB的分区,需要使用parted工具。
(1)fdisk管理
fdisk -l fdisk /dev/sdc
3、MBR和GPT的转换
linux下,gpt的硬盘不支持fdisk命令,可以使用parted命令把gpt的硬盘转换成mbr。同时大容量的硬盘如有需要,可以使用parted命令把mbr的硬盘转换成gpt。
(1)判断当前硬盘是gpt还是mbr。
使用如下命令:
# fdisk -l /dev/sdc
出现如下图片中的“WARNING: GPT (GUID Partition Table) detected“,或WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
说明当前硬盘是gpt的,否则是mbr的。
(2)gpt的硬盘转换成mbr,使用如下命令:
在进行gpt转mbr时,硬盘的数据会被清除,需要提前备份。
# parted /dev/sdc
(3)mbr的硬盘转换成gpt,使用如下命令:
在进行mbr转gpt时,硬盘的数据会被清除,需要提前备份。
# parted /dev/sdc
4、磁盘常用格式化类型
ext3、ext4、xfs
五、LVM管理使用
1、图示
------------------------------------------------------------------------------------------------------------------------------
2、LVM简介
LVM(logical volume manager)直白的翻译就是:逻辑滚动条管理员,也就是指逻辑卷管理。
它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM是在磁盘分区与文件系统之间增加的一层逻辑层,LVM能让下层的各个磁盘分区被文件系统看做为一个整体的大磁盘,供文件系统使用。
LVM的主要内容有以下几个方面的知识:
(1)PV (Physical Volume)物理卷
PV 是LVM最基本的物理组成部分,利用fdisk命令把实际的partition转化成8e的系统格式,然后利用指令pvcreate把partition变成能够利用的physical volume。
(2)PE (Physical Extend)物理扩展块
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。 PE是LVM最小的存储单位,一般为4MB大小,它是构成VG的基本单位。 PE对于VG来说就如block对于分区来讲,它是存储数据的单元。 而pe的大小并不是固定的,而是可以变化的,所以pe决定了LVM的灵活性,即能扩增,也能缩减。
(3)VG (Volume Group)卷组
VG,说的简单些就如我们使用的磁盘,是可以进行分区的,对于LVM上面的文件系统而言,VG就是一个大磁盘。 文件系统时看不到LVM下面的组成部分的,它只管使用,而LVM则负责管理下面的组成储存块。
(4)LV (Logical Volume)逻辑卷
LV就是VG切成的类似于分区的东西啦,我们可以用格式化,挂载使用啦,但是LV是VG切割成的,而VG又是有数量众多的PE组成,所以LV的大小取决于LV所包含的PE的数量的多少。
3、lvm解决的问题。
当服务器中存储数据的分区磁盘空间不够了,我们正常的思路,是换一块较大的磁盘,但是不论多大的磁盘,总会有不够的时候,lvm就是用来解决这些问题的,可以实现动态的扩容。
4、lvm的工作原理
正常的文件传输是在文件系统和磁盘之间,lvm做的就是在文件系统和磁盘之间添加新的一层逻辑层。它对文件系统屏蔽了下层的磁盘,它对磁盘进行了封装,从而使得文件系统面向逻辑卷,逻辑卷采用一定的方式对磁盘进行操作。也就是说,磁盘的扩展直接影响的是逻辑卷。给文件系统的赶紧就是逻辑卷变大了,仅此而已。
5、常用的名词术语
物理存储介质:也就是lvm可以操作的介质有:整个磁盘,磁盘分区,raid阵列,san磁盘。
pv: 物理卷,就是存储介质加上lvm自己的一些信息 vg: 多个pv组成 lv: 建立在vg之上的,可以在lv上建立文件系统 pe: pv中最小的存储单元 le: lv中最小的存储单元。le=pe,因为lv是基于vg的,vg是由多个pv构成的,pv的存储单元是pe,lv的存储单元是le,所以他们相等。
6、LVM的命令详解
7、lvm的创建过程
多个存储介质——多个pv——合成卷组vg——从vg中划出lv——格式化lv并且进行挂载使用
--使用fdisk对sde进行分区,分区过程如下
fdisk /dev/sde
--创建pv
pvcreate /dev/sde{1,2,3,4}--查看物理卷的信息 pvdisplay /dev/sde1
--创建vg卷组
vgcreate vg01 /dev/sde1
--查看vg卷组的信息
vgdisplay vg01
--创建lv
lvcreate -n lv01 -L 16M vg01
--查看lv的信息
lvs
--查看pv的信息
pvdisplay /dev/sde1
8、lvm的扩容
pv是将许多个存储介质打上lvm的标识,是为了lvm使用的方便,也就是说将磁盘,磁盘分区,raid都看作是lvm中的物理卷。
vg是基于物理卷的操作,将多个物理卷整合起来,形成更大的空间,
lv是vg根据用户需要生成的另类的磁盘,只不过它的大小可以由用户自己设置。
当vg比较小的时候,我们需要扩容vg,也就是往vg中增加更多的空间。lv的不足,我们可以从vg中分配更多的空间给他,而vg的不足,我们需要将更多的物理卷给他
vgextend: vgextend vg_data /dev/sdb2
lvextend:lvextend -L +4.99G /dev/vg_data/lv_data
9、案例1:新增lvm
10、案例2:扩容lvm
六、分区挂载/卸载
1、手动挂载
mount/umount
mount /dev/sdc1 /data
2、fstab自动挂载
vi /etc/fstab
七、软件包管理
1、RPM软件包管理
(1)软件包分类
Linux软件包从内容上可分为二进制包( binary code)和源码包( source code),不同类别的软件包使用的管理工具也各不相同。
(2)什么是源码包
源码包是没有经过编译的包,需要经过GCC、C++编译器环境编译才能运行,二进制包无须编译,可以直接安装使用。
(3)如何区别源码包和二进制包
通常而言,可以通过后缀区别源码包和二进制包,例如以.tar.gz、zip、rar结尾的包称之为源码包,以rpm结尾的软件包称之为二进制包。
真正区分是否为源码包还是二进制包还得基于软件包里面的文件来判断,例如
--包含.hc、cpp、cc等结尾的源码文件,称之为源码包 --代码里面存在bin可执行文件,称之为二进制包。
(4)rpm包的运维管理
Centos操作系统中有一款默认软件管理的工具,即红帽包管理工具(red hat packagemanager, RPM).使用RPM工具可以对软件包实现快速安装、管理及维护。
RPM管理工具适用的操作系统包括 Centos、 Red Hat、 Fedora,susE等,RPM工具常用于管理以.rpm后缀结尾的二进程软件包。
rpm -qa 软件名称 检查软件包是否安装 rpm -ivh 软件名称 安装软件包 rpm -e 软件名称 卸载软件包 rpm -Uvh 软件包 升级软件包
(5)rpm包管理的优缺点
优点:比起源码安装,方便快捷
缺点:比起yum安装,对于依赖特别多的组件,安装特别麻烦
2、tar包管理
(1)适用范围
管理tar,tar.gz格式的源码包、压缩包等。
(2)安装
系统安装后自带
(3)打包
tar cvf test.tar test
(4)释放
tar xvf test.tar
(5)压缩
tar zcvf test.tar.gz test
(6)解压
tar xcvf test.tar.gz
3、zip包管理
(1)适用范围
(2)安装
系统安装后自带
(3)解压
unzip test.zip
(4)压缩
zip test.zip test
4、源码安装管理
(1)预编译
./configure --预编译,主要用于检测系统基准环境库是否满足gcc环境,生成makefile文件。
(2)编译
./make --编译,基于第一步生成的makefile文件,进行源代码的编译。
(3)安装
./make &&make install --安装,编译完毕之后将相关的可运行文件安装至系统中。
八、yum软件包管理
【示意图展示】
1、YUM工作原理
(1)YUM正常运行需要依赖两个部分:一是YUM源端;二是YUM客户端.
(2)YUM客户端安装的所有RPM包都是来自YUM服务端,YUM源端通过HTTP或者FTP服务器发布。
(3)YUM客户端能够从YUM源端下载依赖的RPM包是由于在YUM源端生成了RPM包的基准信息,包括RPM包版本号、配置文件、二进制信息、依赖关系等。
(4)YUM客户端需要安装软件或者搜索软件时,会查找/etc/yum. repos.d下以.repo结尾文件。
--Centos Linux默认的.repo文件名为 Centos-Base.repo,该文件中配置了YUM源端的镜像地址,所以每次安装、升级RPM包YUM客户端均会查找repo文件。
--YUM客户端如果配置了Centos官方repo源客户端操作系统必须能联通外网,满足网络条件才能下载软件并安装;如果没有网络,也可以构建光盘源或者内部YUM源。
--YUM客户端安装软件,默认会把YUM源地址 header信息、软件包、数据库信息、缓存文件存储在/var/cache/yum中,每次使用YUM工具,YUM优先通过 cache查找相关软件包, cache中不存在,然后再访问外网YUM源。
2、yum常用命令
yum list : yum 列表 yum install 软件名称 yum update: 内核升级或者软件升级 yum unpdate httpd: 更新httpd软件 yum search: YUM搜索软件包 yum clean packages: 清除缓存目录下的软件包 yum clean header : 清楚缓存目录下的headers yum clean all: 清除缓存目录下的软件包及旧的headers;
3、基于ISO镜像构建YUM本地源
此种方式,服务器不需要连接外网,使用本地源即可。
优点:不需要访问外网,本地做源
缺点:只能自己作为客户端使用。
(1)挂载ISO镜像
方法1:(物理机)
mount -o loop /backup/OracleLinux-Release7-Update6-x86_64-dvd.iso /mnt
方法2:(虚拟机)
mount /dev/cdrom /mnt
(2)配置yum源
cd /etc/yum.repos.d mkdir bk mv *.repo bk/ echo "[EL]" >> /etc/yum.repos.d/OL7.repo echo "name =Linux 7.x DVD" >> /etc/yum.repos.d/OL7.repo #yum源显示名称 echo "baseurl=file:///mnt" >> /etc/yum.repos.d/OL7.repo #ISO镜像挂载目录 echo "gpgcheck=0" >> /etc/yum.repos.d/OL7.repo #是否检查GPG-KEY,一般设置为0,不检查 echo "enabled=1" >> /etc/yum.repos.d/OL7.repo #是否启用yum源 cat /etc/yum.repos.d/OL7.repo
(3)验证yum源是否ok:
[root@yczbora yum.repos.d]# yum clean all [root@yczbora yum.repos.d]# yum repolist [root@yczbora yum.repos.d]# yum list
4、基于HTTP构建YUM网络源
YUM光盘源默认只能本机使用,局域网其他服务器无法使用YUM光盘源,如果想使用的话,需要在每台服务器上构建YUM本地源,该方案在企业中不可取,所以需要构建HTTP局域网YUM源解决。
可以通过 createrepo YUM 创建本地YUM源端,repo即为repository。
构建HTTP局域网YUM源方法及步骤如下:
(1)挂载光盘镜像文件至/mnt
mount/dev/cdrom/mnt/
(2)复制/mnt/Packages目录下所有软件包至/var/www/html/centos/
mkdir -p /var/www/html/centos/
(3)使用createrepo创建本地源,执行如下命令会在 Centos目录生成 repodata目录。
yum install createrepo* -y cd /var/www/html createrepo centos/
(4)利用HTTP发布YUM本地源。
本地YUM源通过createrepo搭建完毕,需要借助HTTP Web服务器发布/var/www/html/centos/中所有软件, YUM 或者RPM安装HTTP Web 服务器,并启动httpd服务。
--详细步骤如下:
yum install httpd httpd-devely: HTTP web安装HTTPWeb服务 useradd apache-apache: 创建 Apache用户和组 systemctl restart httpd.service: httpd重启httpd服务。 setenforce: 临时关闭 Selinux应用级安全策略。 systemetl stop firewalld.service: 停止防火墙。 ps -ef igrep httpd: httpd查看httpd进程是否启动
(5)在YUM客户端,创建/etc/yum. repos. d/http. repo文件,输入如下内容:
[base] name="centos7 http yum" baseurl = http: //192. 168. 1.115/centos/ gpgcheck = 0 enabled = 1 [updates] name="centos7 http yum" baseurl = http: //192.168.1.115/centos gpgcheck = 0 enabled = 1
(6)在yum客户端上执行以下命令
yum clean all: 清空YUM cache; yum install ntpdate -y :安装ntp软件
5、YUM源端软件包扩展
默认使用ISO镜像构建的 SHTTP yum源,会发现缺少很多软件包。
如果服务器需要挂载移动硬盘, mount挂载移动硬盘需要ntfs3g软件包支持,而本地光盘镜像中没有该软件包,此时需要往YUM源端添加ntfs-3g软件包,添加方法如下:
(1)切换至/var/www/html/centos目录,网下载ntfs-3g软件包
cd /var/www/centos/ wget http://dl.fedoraproject.org/pub/ep/7/x86 64/n/ntfs3g-2016.2.22-3.el7.x86_64.rpm http://d1.fedoraproject.org/pub/epel//x86 64/n/ntfs-3g-devel.2.22-3.el7.x86_64.rpm
(2)createrepo命令更新软件包,如需新增其他软件包,把软件下载至本地,然后通过createrepo更新即可,如图6-18所示。
createrepo --update centos/
(3)客户端YUM验证,安装ntfs-3g软件包
6、同步外网YUM源
在企业实际应用场景中,仅仅靠光盘中的RPM软件包是不能满足需要的,用户可以把外网的YUM源中的所有软件包同步至本地,完善本地YUM源的软件包数量及完整性。
获取外网UM源软件常见方法包括: rsyncwget, reposync,三种同步方法的区别为: rsync方式需要外网YUM源支持 rsync协议;wget可以直接获取; reposyne可以同步几乎所有的YUM源。
下面以 reporsync为案例,同步外网YUM源软件至本地,步骤如下:
(1)下载Centos7repo文件至/etc/yum. repos.d/,并安装 reposync命令工具
wget http: //mirrors.163.com/.help/cent0s7-base-163.repo mv Centos7-base-163.repo /etc/yun.repos.d/centos.rep yum clean all yum install yum-utils createrepo yum repolist
(2)通过命令工具获取外网YUM源所有软件包,r指定 repolist id,默认不加-r表示获取外网所有YUM软件包,p参数表示指定下载软件的路径,如图6-20所示。
reposyne -r base -p /var/www/html/centos/ reposync -r updates -p /var/www/html/centos/
(3)通过reposync工具下载完所有的软件包之后,需要执行createrepo更新本地yum仓库
createrepo /var/www/html/centos/