源码安装 & 磁盘管理和维护

1. 源码安装

源码安装:

第一步:前置条件:安装编译工具
yum install gcc gcc-c++
第二步:下载源码包
cd /usr/local/src/
wget http://…tar.gz
(源码包建议保存位置:/usr/local/src/)
第三步:安装源码包
先解压 tar -zxf 源码包
再进入源码包
第四步:编译安装源码包
(1)./configure --prefix=/usr/local/apache(在local目录下)
检验没通过继续下载依赖,安装,解压
(检查编译环境,指定安装路径,指定依赖关系的安装目录: 解决依赖关系)
禁用和启用功能模块
makefile
第五步:执行编译make,将源码包编译为机器码
make
将源码编译成机器码,如果有禁用和启用功能模块,在这个阶段编译
第六步:make install
根据makefile文件中的指定的路径进行安装
第七步:启动服务
进入 /usr/local/httpd/bin/下 启动
输入./apachectl start
可以输入ps -ef | grep httpd 进行查看
再输入iptables -F关闭防火墙, 就完成了
最后在网页上输入自己的IP,进入/usr/local/httpd/htdocs/,可以编写index.html文件

2.磁盘管理和维护

2.1 磁盘文件名:

/dev/sd[a-p] [1-128]
/dev/hd[ ]
/dev/vd[ ][ ]
磁盘使用前,首先要格式化成文件系统可以识别的类型,变成可以挂载的数据块(磁盘),成为一个独立的文件系统
df -h 查看磁盘(文件系统)
扇区:(sector)是最小的物理存储单位,每个扇区都是512个字节,最小分区单位通常是扇区
**磁柱:**将扇区组成一个圆是磁柱
磁盘分区表主要有两种格式,一种是限制较多的MBR分区,一种是GPT格式。MBR分区中,第一个扇区最重要,主要存放开机区的MBR和分区表
柱面:(逻辑概念)以柱面的形式读取数据
**簇:**将物理相邻的若干个扇区称为了一个簇。操作系统读写磁盘的基本单位是扇区,而文件系统的基本单位是簇(Cluster)
文件系统:
只有将磁盘分区格式化之后,才能成为操作系统能够利用的文件系统格式(filesystem)
Linux文件系统:权限和属性数据存放在inode中,实际数据存放在data block中,文件系统的整体信息放在superblock中。

2.2 分区命令

源码安装 & 磁盘管理和维护
源码安装 & 磁盘管理和维护
fdisk /dev/sda 对sda磁盘进行分区
fdisk-l 查看系统的分区详细信息

[root@CentOS6 ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a2895

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        1344    10485760   83  Linux
/dev/sda3            1344        1997     5242880   83  Linux
/dev/sda4            1997        2611     4934656    5  Extended
/dev/sda5            1997        2258     2097152   82  Linux swap /

说明:硬盘的大小是21.5GB,有255个扇面(heads),63个扇区(sectors/track),2610个磁柱(cylinders),每个磁柱的容量是8225280 bytes=8225.280 k=8.225280M

fdisk /dev/sda


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):

a:切换可引导标志
b:编辑BSD磁盘标签
c:切换DOS兼容性标志
d:删除分区
l:列出已知分区类型
m:打印这个菜单
n:添加新分区
o:创建新的空DOS分区表
p:打印分区表
q:不保存更改就退出
s:创建新的空Sun磁盘标签
t:更改分区的系统ID
u:更改显示/输入单位
v:验证分区表
w:将表写入磁盘并退出
x:额外功能(仅限专家)

2.3 格式化命令:

	mkfs.ext4	/dev/sda
	mkfs.xfs  /dev/sda

创建一个新的分区
1.首先对sda磁盘进行分区:fdisk /dev/sda
2.然后输入n :建立一个新的分区,再出现e和p,e是扩展分区p是主分区,选择p,再定义分区号(主分区只能用四个),first忽略,在last上定义大小,再输入w保存刚才的配置信息
3.对硬盘进行更新:partx -a /dev/sda(有时还不行需要进行重启reboot)
4.查看有没有刚建好的分区:fdisk -l
5.格式化:mkfs.xfs (Cent7):mkfs.xfs /dev/sda6
mkfs.ext4 (Cent6);mkfs.ext4 /dev/sda6
6.进行挂载使用:mount /dev/sda6 /mnt/

2.4 文件系统管理类命令

2.4.1 mkfs
创建文件系统的工具:mkfs.ext2,ext3,ext4,(文件系统类型)
xfs
btrfs
mkfs.ext2 分区:格式化
-t :指定创建的文件系统类型
mkfs -t ext4 =mkfs.ext4
-b:创建文件系统指明块大小
1024 2048 4096
-l:label:指明卷标
-j:创建有日志功能的文件系统

-i:指明inode与子节的比率
-N:直接指定创建的文件系统的inode数量
-m:指定预留空间
2.4.2 e2label:设定与查看卷标
设定 e2label device labe1
查看 e2label device
e2label /dev/sda1 test
2.4.3 fsck:检测及修复文件系统的工具
fsck.ext2
-c:显示检查的进度

2.5 查看属性的工具

2.5.1 dumpe2fs

2.5.2 tune2fs 修改文件系统属性(ext系列)
文件系统的块大小
tune2fs /dev/sda6
-l:查看块内容
-j:修改指定的文件系统类型
-L:修改卷标
-m:调整预留空间百分比

2.5.3 resize2fs
调整 ext系列的文件系统的大小
-f:强制执行
-M:直接将文件系统缩小到最小值
-P:显示文件系统的最小值

2.5.4 e2fsck
磁盘修复,修复时需要卸载挂载点
-a:检查分区,发现问题可以直接修复
-b:设定superblock位置
-B size:设定区块大小
-c:检查是否有坏道
-f:强制检查

2.5.5 blkid :获取文件系统类型,UUID,卷标
blkid device
(blkid /dev/sda1)
-U:UUID 定位设备
-L:label 定位设备

交换分区

Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

fdisk device
t 82

增加一个交换分区
(这个分区必须先卸载挂载点 umount /dev/sda* /mnt)
1.首先查看当前的交换分区:free -m,再swapon -s
2.准备分区:fdisk /dev/sda,输入t,改变分区的id,再输入分区号,写入82
3.进行更新:partprobe /dev/sda,可以进行查看ll /dev/sda*
4.初始化分区:mkswap /dev/sda1
5.进行挂载:blkid /dev/sda1
/dev/sdb1: UUID=“ea5b1c77-e540-463c-9644-0d75450f8b4c” TYPE=“swap”
再vim /etc/fstab
UUID=“ea5b1c77-e540-463c-9644-0d75450f8b4c” swap swap default 0 0
6.再查看交换分区swapon -s

mkswap :格式化
dd if=/dev/zero of=/dir/filename bs=1[K,M,G] count=N

/etc/fstab
UUID=“4a3d5ab7-4e3e-4baa-a3a3-f0386901a12f” swap swap defaults 0 0
swapon -a 根据文件挂载swap分区
swapoff device

[root@nebulalinux03 ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
或者
[root@nebulalinux03 ~]# dd </dev/zero >/swap2.img bs=1M count=512
[root@nebulalinux03 ~]# mkswap /swap2.img
[root@nebulalinux03 ~]# vim /etc/fstab
/swap2.img                 swap  swap default 0 0
[root@nebulalinux03 ~]# swapon -a
swapon: /swap2.img: insecure permissions 0644, 0600 suggested.
[root@nebulalinux03 ~]# chmod 600 /swap2.img
[root@nebulalinux03 ~]# swapon -a
[root@nebulalinux03 ~]# swapon -s
Filename Type Size Used Priority
/dev/sdb1       partition 524284 0 -1
/swap2.img      file 524284 0 -2

**mount:**挂载命令
mount -t 系统类型 -o 选项 设备 挂载点
ro
rw
acl

umount 设备
umount 挂载点

查看哪些进程占用挂载点
lsof 挂载点
fuser -v 挂载点
终止挂载点使用
fuser -km 挂载点

lsof
列出所有被打开过的文件,进程
lsof -c process: 显示进程打开的文件
lsof -p 1234(进程号):列出进程1234打开的文件
lsof -i :显示符合条件的进程
lsof /proc:列出某个文件或进程被谁使用
lsof -u 用户名:
lsof -s
lsof -i tcp/udp
lsof -i :8080

df 显示磁盘分区上所用空间
-h :以KB,MB,GB单位显示,1024为单位
-H:以1000位单位
-i:显示inode使用情况

du 文件大小
-h:以K,M,G为单位显示
-c:显示目录中文件大小,并且显示总和
-s
-S
-k
-m

挂载配置文件

/etc/fstab
第一列:device 设备文件
UUID
设备文件
卷标 label
第二列:挂载点

第三列:filesystem: xfs ext4 swap iso9660

第四列:文件系统参数 defaults

第五列:能不能备份
0 不备份
1 每天备份
2 不定期备份
第六列:是否校验扇区
0 不校验
1 最先校验
2 在1之后校验

	作业:编译安装 nginx   apache
		  分区操作
		  yum源配置
上一篇:MBR分区表的备份与还原


下一篇:Linux学习笔记NO.5(重定向、管道符、通配符与转义字符)