第四天-硬盘分区与挂载-软件安装
一、硬盘分区与挂载
添加新硬盘
- 右键虚拟机,点击设置
- 选择硬盘,添加
添加硬盘过程一直下一步直至完成
添加完硬盘后需要重启系统
注:开机状态下添加硬盘需重启,关机状态下添加硬盘后开机即可
查看新添加的硬盘
- 添加的硬盘名称为sdb
ls /dev/sd 按两次tab即可出现如下图列表
硬盘命名方式,以sd开头,从字母a开始,添加的硬盘顺次变更字母(sdb、sdc…)
- 使用df -h命令查看当前硬盘分区情况(新添加的硬盘还未分区、挂载,所以没有显示)
- fdisk -l显示系统已经识别到硬件详细列表(大小 - 分区等)
换算单位问题:我们实际分配给硬盘大小是20GB,而在上图中显示的是21.5GB,其换算过程如下:
20GB x 1024 x 1024 x 1024 = 21474836480 bytes
21474836480 bytes / 1000 / 1000 / 1000 = 21.5GB
新加的硬盘现在是一块完全空白的盘
fdisk工具对硬盘进行分区
fdisk工具只能管理2tb大小以内的分区,基于MBR分区表,最多只能有4个主分区,可以有无限多个逻辑分区。
挂载:将新硬盘挂载到当前硬盘的某一目录下,一般是/mnt/目录下,挂载后此目录下就是一块硬盘,都是以文件夹形式展示。
fdisk工具进入方式:fdisk /dev/sdb
fdisk工具可使用的命令:
- 分区
Linux文件系统比较灵活,用多少切割多少格式化多少,无需像Windows那样分区需要全盘格式化;
MBR:有四个主分区,将其中一个主分区变为拓展分区(1-4),logical(以逻辑分区的形式不断拓展);
n(new) -> 选择分区类型 -> e(extend),p(primary) -> l(logical),p(primary);
对于主分区(选择标号);对于逻辑分区(每添加一个分区,增加编号,从5开始);
指定起始和终止位置:默认起始位置为已分配区域的结尾,默认的终止位置为磁盘的结束;
通常以空间进行计算决定终止为止 +size(KB,MB,GB);
w命令:保存退出
分配一个主分区(大小为1GB)
n -> p -> 1 -> 默认1 -> +1GB
使用命令p查看当前分区情况
分配拓展分区(选择主分区的编号,并将其作为拓展分区)
n -> e -> 2 -> 默认 -> 默认,将剩余的所有空间都分配给拓展分区
使用命令p查看当前分区情况
将分出的拓展分区进行逻辑分区的划分
- 分配第一个逻辑分区
此时已经将所有空间分配完了,所以不能再分出拓展分区,只能将之前分的拓展分区细分成逻辑分区
n -> l -> 默认 -> +1GB,给第一个逻辑分区分配1GB大小的空间
使用命令p查看当前分区情况
接着分配第二个逻辑分区
n -> l -> 默认 -> +1GB,给第二个逻辑分区分配1GB大小的空间
使用命令p查看当前分区情况
剩余空间暂不分配,接着使用w命令保存
格式化
此时使用ls /dev/sd tab两次查看,发现多出了刚刚分配的分区
格式化分区
-
常见文件系统
vfat:FAT文件系统,包括FAT12,FAT16,FAT32
ext3:支持最大16TB空间,2TB单个文件
ext4:支持最大1EB空间,16TB单个文件
swap:交换分区
-
分区格式化命令
刷新分区表:partprobe
查看分区表:cat /proc/partitions
格式化为ext文件系统:mkfs.ext4 /dev/sdb1
格式化为swap文件系统:mkswap /dev/sdb5
格式化化为FAT32文件系统:mkfs.vfat -F 32 /dev/sdb6
将刚才分配的分区进行格式化
- 将sdb1格式化成ext4格式
mkfs .ext4 /dev/sdb1
- 将sdb5格式化成fat32格式
mkfs .vfat -F 32 /dev/sdb5
- 将sdb6格式化成swap分区
mkswap /dev/sdb6
挂载
挂载分为两种方式,临时挂载和永久挂载
临时挂载
在/mnt下创建两个挂载点(文件夹):ext4和fat21
mkdir /mnt/ext4
mkdir /mnt/fat32
将sdb1挂载至ext4目录,将sdb5挂载至fat32目录
mount /dev/sdb1 /mnt/ext4
mount /dev/sdb5 /mnt/fat32
使用df -Th命令查看挂载情况
- 启动交换分区文件命令swapon /dev/sdb6
关闭交换分区文件命令swapoff /dev/sdb6
永久挂载
编辑/etc/fstab文件
将要挂载的分区信息添加至文件末尾
/dev/sdb1 /mnt/ext4 ext4 defaults {dump?}(0-2) {check?}(0-2) 数字代表级别,数字越大级别越低
/dev/sdb5 /mnt/fat32 ext4 defaults {dump?}(0-2) {check?}(0-2)
/dev/sdb6 swap swap defaults {dump?}(0-2) {check?}(0-2)
重启后依旧是挂载状态
卸载命令
umount /dev/sdb1
umount /dev/sdb5
swapoff /dev/sdb6
parted工具对硬盘进行分区
与fdisk分区工具相比,parted工具支持2TB以上的磁盘分区,支持对GPT分区的管理,支持并且允许调整分区的大小。
parted工具进入方式:parted /dev/sdb
parted工具可使用的命令:
命令p查看当前分区状态
Partition Table:msdos代表当前硬盘位MBR分区
使用命令删除原有分区,由于只有一个主分区和一个拓展分区,逻辑分区是在拓展分区上的,所以只需要删除1和2分区即可
rm 1
rm 2
更改硬盘为GPT分区,提示需要格式化全盘
mklabel gpt
对硬盘进行分区操作
由于GPT分区对主分区、逻辑分区个数没有限制,所以可以顺次分区,分区时设置是primary或logical即可
mkpart primary 1 1025 —- (1指的起始位置,1025指结束位置,大小以MB为单位)
mkpart logical 1025 2049
mkpart logical 2049 3073
q命令退出当前工具,提示需要更新/etc/fstab挂载文件
二、媒体设备的挂载
U盘、移动硬盘
可以使用fdisk -l查看分区情况,直接mount挂载
光盘(只读)
/dev/cdrom 有界面时自动挂载至/media
无界面时,手动挂载
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
挂载完成后即可通过cd进入光盘,或者ls/ll查看光盘内文件等操作
三、软件安装
软件安装有三种方式
- 源码包,获取源码包后需要解压,配置参数,安装;源码包安装时需要解决与其它软件包的依赖问题
- 安装包,直接解压后即可使用,如需全局使用则配置环境变量即可
- rpm软件包,可通过yum命令安装,可以自动解决软件包之间的依赖问题
DNS配置
使用wget、yum等需要从网络下载,或ping 主机名时会报unknown host,此时需要对网卡配置DNS
在配置前ping主机名时失败提示未知主机,但是直接ping IP地址时能联通
配置步骤
- 进入网卡信息文件
vi /etc/sysconfig/network-scripts/ifcfg-etho
- 在其中加入以下两条DNS服务器信息
DNS1=8.8.8.8
DNS2=114.114.114.114
重启网络服务
service network restart
进行校验,直接ping www.baidu.com,此时能联通
安装软件pcre(源码包)
获取软件包
首先将当前目录切换到存放软件包的目录,如/home,接着获取软件包
获取方式:
wget方式从网络获取
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
通过Xftp从Windows传输
安装软件包
解压软件包
tar – linux下压缩、解压文件命令
tar -zxvf pcre-8.38.tar.gz
tar命令携带的参数
z有gzip属性的文件使用
v显示信息
x解压
f要解压的文件
j有bz2属性的文件使用
注:前面的参数顺序可以不相同,但参数f需要在最后面
切换到解压后的路径
cd pcre-8.38
执行安装时出错,提示需要C编译环境
./configure –prefix=/usr/local/pcre
./configure执行该文件夹下的安装前配置文件,对安装过程进行配置
–prefix指定将软件安装到的目录
此时通过yum安装c环境
yum install gcc
每次出现提示y/N时需要手动输入y进行确认
安装完成c环境后再次执行
./configure –prefix=/usr/local/pcre
再次出现错误,本次提示需要c++依赖,
此时通过yum安装c++环境
yum -y install gcc-c++
yum命令加上了参数y,此时安装每次出现提示都会自动输入y,不需要手动输入了
安装完成c++环境后再次执行
./configure –prefix=/usr/local/pcre
本次执行成功,未报错
执行命令进行编译并安装
make && make install
此条命令等同于先执行make后执行makeinstall
- 安装成功
安装jdk
解压使用
通过Xftp从Windows将jdk压缩包传输至Linux的/home目录下
解压压缩包
tar -zxvf jdk-8u171-linux-x64.tar.gz
已经可以通过全路径的形式执行java命令
/home/jdk1.8.0_171/bin/java -version
配置环境变量
在配置环境变量前使用which java或者java -version,系统调用系统自带的openjdk命令
配置环境变量的目的是为了使java命令在全局都能够使用
Windows中变量的引入 – %var%,多个路径之间的分隔符 – ;
Linux中变量的引入 – $var,多个路径之间的分隔符 – :
环境变量分为系统变量和用户变量
系统变量 – 对所有用户都生效,只能由
配置文件在/etc/profile
用户变量
配置文件在/home/cry/.bash_profile
在系统变量中加入如下语句
JAVA_HOME=/home/jdk1.8.0_171
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH
- 保存退出后执行命令source /etc/profile
删除系统自带的openjdk
配置完环境变量后由于系统内置的jdk优先权较高,所以which java或者java -version还是会调用系统的openjdk
此时需要想办法“破坏”系统自带的openjdk,尝试将/usr/bin/java改名,改名后which java能正确定位到用户自己安装的jdk,但是执行java -version时依旧寻找系统自带的openjdk
使用重命名的方法”破坏”不成功,接下来直接使用rpm对软件进行卸载
- 先查找到java相关的目录
rpm -qa|grep java
找到三个目录
- 使用命令依次将这三个目录删除
rpm -e –nodeps xxx
-e 删除
–nodeps 忽略依赖
- 通过rpm删除后,即可使用用户安装的jdk了
通过rpm命令删除自带的openjdk后再通过rpm -qa|grep java是找不到用户自行安装的jdk的,原因是用户自己安装的jdk是通过直接解压安装的,而不是通过rpm安装的,rpm命令只能管理通过rpm方式安装的软件。
四、还原快照,为以后学习做准备
仅主机模式
在开发环境中,多台linux服务器仅需要与主机连接,而不需要连接至外网,所以设置为仅主机模式
- 右键虚拟机,打开设置,选择网络适配器,修改为仅主机模式
打开编辑菜单,选择虚拟网络编辑器,查看子网地址
本机进主机的子网地址为192.168.128.0
在CentOS中操作(界面模式下)
修改IPv4地址,子网掩码和网关,注意IP地址和网关需要与上一步中的子网地址相匹配
- 修改Windows中hosts文件如下图
测试
在Windows中ping 虚拟机,成功
在CentOS中ping网关地址,成功
测试Xshell、nodepad++软件连接虚拟机,均连接成功,完成
修改启动级别
在开发环境中,一般无需用到Linux的界面模式,只需将启动级别设置为3(完全的多用户模式,有网络,命令行模式)即可。
修改/etc/inittab配置文件
vi /etc/inittab
删除系统自带的jdk
bigdata用户安装jdk
- 使用Xshell连接之间添加的bigdata用户,注意左上角ssh地址中的用户名是否相符
在用户名相符的情况下打开Xftp软件将jdk传入bigdata用户的家目录下
执行解压命令
tar -zxvf jdk-8u171-linux-x64.tar.gz
配置bigdata用户的环境变量文件
vi .bash_profile
PATH=$PATH:$HOME/bin JAVA_HOME=/home/bigdata/jdk1.8.0_171/ PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export JAVA_HOME export PATH
使用which java命令和java -version命令测试环境变量是否配置成功,如下图即代表配置成功