LVM組件詳解&創建實驗流程

   前言:根據前面的學習我們知道,一個磁盤一旦分完區并且格式化后,其空間大小是沒有辦法進行調整了。因此推出了LVMLogical Volume Manager)邏輯卷管理機制,LVM重點在于可以彈性的調整文件系統的容量!并非在于性能和數據保全方面,需要文件的讀寫性能或者數據的可靠性,需要用到RAID。而LVM可以整合多個物理分區在一起,讓這些分區看起來像是一個磁盤一樣,而且還可以將其他的物理分區或將從這個LVM管理的磁盤中刪除。實現磁盤的擴大和縮小容量,LVM最精華的部分是可以實現快照功能,快照就是將當前的系統信息記錄下來,將來有任何數據改動了,就會將原始數據移動到快照,沒有改動的區域則由快照區域和文件系統共享。并且LVM在我們實際的生產環境中運用廣泛,因此我們必須要非常熟悉其基本原理和使用方法,下面我們通過一個實驗來演示其各個階段,讓我們一睹為快吧!

一、PV,PEVG,LV的含義

1、PVPhysical Volume)物理卷

我們實際的分區需要調整系統標示符(system id)成為8eLVM的標示符)然后經過pvcreate的命令將它轉為LVM最底層的物理卷PV,之后才能將這些PV加以利用,調整system id的方法是使用fdisk命令。

2、VGVolume Group)卷用戶組

所謂的LVM大磁盤就是將許多PV整合成這個VG,因此VG就是PV組合起來的大磁盤。那么這個大磁盤的容量為多少呢?這是與有多少個PE有關,我們默認VG最多可以有65534PE,后續我們介紹PE,在這里我們先知道一個VG最大可達256G的容量。

3、PEPhysical Extend)物理擴展塊

LVM默認使用4MPE塊,而LVMVG最多僅能含有65534PE,因此兩者相乘就得到上述所說的256G。PE是整個LVM最小的存儲塊,也就是說,其實我們的文件數據都是有寫入PE來處理的,簡單地說,這個PE就有點像文件系統的block大小,又有點像RAID中的chunk,因此調整PE的大小,會影響到VG的最大容量。

4、LVLogical Volume)邏輯卷

最終的VG還會被切割成LV,這個LV就可以最后被格式化使用的類似分區。LV的容量也是和LV中的PE的數量有關的,其大小是不可以調整的,當然我們可以通過VG里面的沒有使用的PE加入到LV里面,就可以實現LV的擴容。為了方便LVM管理其系統,它的設備名通常指定為“/dev/vgname/lvname”的樣式,而VG的名字是可以隨意指定的。這一點必須的注意!

二、VG、LV、PE的相互關系

圖片1.png

如上圖所示,我們知道LVM里面最小的儲存塊就是PE,但是它可以屬于不同階段的PE,上圖表示的VG內的PE會分給虛線部分的LV作為LVPE,如果將來這個VG需要擴充的話,我們增加其他的PV即可。而重要的LV擴充的話,可以通過加入VG內沒有使用的PE來擴充,當然如果LV需要降低容量,可以將其內的PE扔回VG即可。

三、LVM各組件實現的流程

通過PVVG、LV的規劃之后,再利用mkfs就可以將你得LV格式化成可以利用的文件系統了,而且這個文件系統的容量將來還可以能夠進行擴充或減少,里面的數據不會受到影響。下面我們來了解下到底有哪些階段,如下圖所示:

圖片2.png


四、LVM實際操作流程

實驗目的:了解LVM的命令使用方法

實驗規劃流程:

·分出4個分區,每個分區的容量為2G,且system id需要更改為8e

·全部的分區需要整合到一個VG內,VG的名稱我們設置為andyvg,且我們設置PE的大小為16M

·全部的VG容量都丟給LV,LV的名稱設置為/dev/andyvg/andylv(實際我們也需要演示丟6GVG容量給LV)

·最終我們將LV格式化ext4的文件系統,并且實現開機掛載到/mnt/lvm中

根據上述實驗規劃流程,我們趕緊進入實際操作中來。

1、先規劃自己系統的環境,前提就是刪除之前實驗操作的分區全部刪除,具體我們可以按照下面幾步操作來還原系統:

(1)利用umount先卸載之前掛載的文件系統

(2)修改/etc/fstab里面的數據,讓開機不會自動掛載

(3)利用fdisk將對應的分區刪除

(4)注意一點如果機器之前做過RAID的實驗,需要卸載,修改/etc/fstab文件,然后再關閉服務,并且要得刪除RAID的配置文件,具體操作請查閱軟RAID的模擬實驗。

(5)如果已經掛載了LVM,我們也需要刪除,具體操作后續也會介紹。

我開始實驗前的系統環境:

[root@centos7 ~ #1]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  200G  0 disk 
├─sda1        8:1    0  200M  0 part /boot
├─sda2        8:2    0  100G  0 part /
├─sda3        8:3    0    4G  0 part [SWAP]
├─sda4        8:4    0    1K  0 part 
├─sda5        8:5    0   20G  0 part /testdir
└─sda6        8:6    0   10G  0 part /mnt/home
sdb           8:16   0  200G  0 disk 
├─sdb1        8:17   0   10G  0 part 
├─sdb2        8:18   0   10G  0 part /mnt/sdb2
├─sdb3        8:19   0   10G  0 part 
└─sdb4        8:20   0    1K  0 part 
sdc           8:32   0   20G  0 disk 
├─sdc1        8:33   0    2G  0 part /test
└─sdc2        8:34   0   10G  0 part 
sdd           8:48   0   20G  0 disk 
└─sdd2        8:50   0 19.8G  0 part 
sde           8:64   0   20G  0 disk 
├─sde1        8:65   0   10G  0 part 
│ └─vg0-lv0 253:0    0   17G  0 lvm  /mnt/lvm
├─sde2        8:66   0    5G  0 part 
│ └─vg0-lv0 253:0    0   17G  0 lvm  /mnt/lvm
└─sde3        8:67   0    2G  0 part 
  └─vg0-lv0 253:0    0   17G  0 lvm  /mnt/lvm
sdf           8:80   0   20G  0 disk 
sr0          11:0    1  7.2G  0 rom

按照上面的還原系統的流程,達到下面環境即可

[root@centos7 ~ #5]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0    4G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
├─sda5   8:5    0   20G  0 part /testdir
└─sda6   8:6    0   10G  0 part 
sdb      8:16   0  200G  0 disk 
sdc      8:32   0   20G  0 disk 
sdd      8:48   0   20G  0 disk 
sde      8:64   0   20G  0 disk 
sdf      8:80   0   20G  0 disk 
sr0     11:0    1  7.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@centos7 ~ #6]# blkid
/dev/block/8:2: UUID="bd6898a4-e81d-484f-a98c-bf0db692a30b" TYPE="xfs" 
/dev/block/8:1: UUID="cfa0ba95-faf2-41ed-a849-70c59f56e00a" TYPE="xfs" 
/dev/block/8:3: UUID="4c2a179a-61d4-4a7f-91f0-15979fc699f2" TYPE="swap" 
/dev/sr0: UUID="2015-12-09-22-36-30-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda5: UUID="b1c4ae19-2384-4e09-bea7-2f1cffaa3dcb" TYPE="xfs" 
/dev/sda6: LABEL="/home" UUID="2cf5ce7d-46d7-443a-bb1d-3b782bb65200" TYPE="ext4" 
/dev/sdb: PTTYPE="dos" 
/dev/sde: PTTYPE="dos" 
/dev/sdd: PTTYPE="dos" 
/dev/sdc: PTTYPE="dos"

實驗第一步:我們在/dev/sdc上分出4個分區,每個分區的容量為2G,且system id需要更改為8e,具體使用fdisk完成操作,其具體創建細節我們就不再多介紹,最終結果如下:

[root@centos7 ~ #11]# fdisk -l
#...................省略................
Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xef657dc4
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     4196351     2097152   83  Linux
/dev/sdc2         4196352    39847935    17825792    5  Extended
/dev/sdc5         4198400     8392703     2097152   8e  Linux LVM
/dev/sdc6         8394752    12589055     2097152   8e  Linux LVM
/dev/sdc7        12591104    16785407     2097152   8e  Linux LVM
/dev/sdc8        16787456    20981759     2097152   8e  Linux LVM

上面的/dev/sdc{5,6,7,8}這四個分區就是我們的物理分區。

 

實驗第二步:PV階段

要創建PV其實很簡單,只要pvcreate即可,我們先看看有關PV的相關命令。

·pvcreate:將物理分區新建成為PV

·pvscan:查詢目前系統里面任何具有PV的磁盤

·pvdisplay:顯示目前系統上面的PV狀態

·pvs:PV的報表

·pvremove:將PV屬性刪除,讓該分區不具有PV的屬性

[root@centos7 ~ #19]# pvscan
  No matching physical volumes found
[root@centos7 ~ #20]# pvcreate /dev/sdc{5,6,7,8}
  Physical volume "/dev/sdc5" successfully created
  Physical volume "/dev/sdc6" successfully created
  Physical volume "/dev/sdc7" successfully created
  Physical volume "/dev/sdc8" successfully created
[root@centos7 ~ #21]# pvscan
  PV /dev/sdc6         lvm2 [2.00 GiB]
  PV /dev/sdc8         lvm2 [2.00 GiB]
  PV /dev/sdc5         lvm2 [2.00 GiB]
  PV /dev/sdc7         lvm2 [2.00 GiB]
  Total: 4 [8.00 GiB] / in use: 0 [0   ] / in no VG: 4 [8.00 GiB]
[root@centos7 ~ #22]# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdc5       lvm2 ---  2.00g 2.00g
  /dev/sdc6       lvm2 ---  2.00g 2.00g
  /dev/sdc7       lvm2 ---  2.00g 2.00g
  /dev/sdc8       lvm2 ---  2.00g 2.00g
[root@centos7 ~ #23]# pvdisplay
  "/dev/sdc6" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc6
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               7dOEay-UWx3-4jYw-5LyD-av1c-VFPE-Sc65GM
   
  "/dev/sdc8" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc8
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               KDQjbZ-wqGi-cxBB-mttK-X0ZE-KvDd-KheRR4
   
  "/dev/sdc5" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc5
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               7QGfnu-5tFo-bYAj-g3vi-V0Sq-df8S-e3wwja
   
  "/dev/sdc7" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc7
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               rrE1dF-QoEs-d4na-l6Or-gtDu-Jyrf-OjHEJX

實驗第三步:VG階段

我們仍然先看下新建VG和VG相關的命令

·vgcreate:新建VG的命令,記住實驗要求PE的大小是16M,這里需要加上-s選項,指定PE的大小,后面需要跟上VG名稱和PV名稱

具體:vgcreate -s 16M andyvg /dev/sdc{5,6,7}

·vgscan:查找系統上面是否存在VG

·vgs:VG的報表

·vgdisplay:顯示系統上面VG的狀態

·vgextend:在VG內增加額外的PV

具體:vgextend andyvg /dev/sdc8

·vgreduce:在VG內刪除PV

·vgchange:設置VG是否被啟動(active)

·vgremove:刪除一個VG

在這里我們需要注意的是,VG的名稱是我們自己定義的,我們知道PV的名稱實際就是設備文件名,根據實驗要求我們將VG取名為andyvg,下面是我們的創建過程:

[root@centos7 ~ #25]# vgscan
  Reading all physical volumes.  This may take a while...
[root@centos7 ~ #26]# vgcreate -s 16M andyvg /dev/sdc{5,6,7}
  Volume group "andyvg" successfully created
[root@centos7 ~ #27]# pvscan
  PV /dev/sdc5   VG andyvg   lvm2 [1.98 GiB / 1.98 GiB free]
  PV /dev/sdc6   VG andyvg   lvm2 [1.98 GiB / 1.98 GiB free]
  PV /dev/sdc7   VG andyvg   lvm2 [1.98 GiB / 1.98 GiB free]
  PV /dev/sdc8               lvm2 [2.00 GiB]
  Total: 4 [7.95 GiB] / in use: 3 [5.95 GiB] / in no VG: 1 [2.00 GiB]
[root@centos7 ~ #30]# vgs
  VG     #PV #LV #SN Attr   VSize VFree
  andyvg   3   0   0 wz--n- 5.95g 5.95g
[root@centos7 ~ #31]# vgdisplay
  --- Volume group ---
  VG Name               andyvg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               5.95 GiB
  PE Size               16.00 MiB
  Total PE              381
  Alloc PE / Size       0 / 0   
  Free  PE / Size       381 / 5.95 GiB
  VG UUID               Mq13Pt-okme-YhVy-yW2M-7TFJ-mefj-lfCWIQ

我們再利用vgextend再額外添加一個PV

[root@centos7 ~ #32]# vgextend andyvg /dev/sdc8
  Volume group "andyvg" successfully extended
[root@centos7 ~ #34]# vgdisplay
  --- Volume group ---
  VG Name               andyvg
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               7.94 GiB
  PE Size               16.00 MiB
  Total PE              508
  Alloc PE / Size       0 / 0   
  Free  PE / Size       508 / 7.94 GiB
  VG UUID               Mq13Pt-okme-YhVy-yW2M-7TFJ-mefj-lfCWIQ

我們發現VG的大小又增加了2G,正是我們額外增加的PV的效果。


實驗第四步:LV階段

創造了VG這個大磁盤后,再來的我們就是需要分區,這個所謂的分區指的就是LV,我們先演示將6G的VG容量丟給LV,然后觀察其效果后,我們再將所有的VG容量全部丟給LV。下面我們先了解下新建LV和其相關的命令:

·lvcreate:新建LV

·lvscan:查閱系統上面的LV

·lvdisplay:顯示系統上面的LV狀態

·lvs:LV的報表

·lvextend:在LV里面增加容量

·lvreduce:在LV里面減少容量

·lvremove:刪除一個LV

·lvresize:對LV進行容量的大小調整

[root@centos7 ~ #35]# lvscan
[root@centos7 ~ #36]# lvcreate -n andylv -L 6G andyvg
  Logical volume "andylv" created.
[root@centos7 ~ #37]# ll /dev/andyvg/andylv 
lrwxrwxrwx. 1 root root 7 Aug 30 03:24 /dev/andyvg/andylv -> ../dm-0
[root@centos7 ~ #38]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/andyvg/andylv
  LV Name                andylv
  VG Name                andyvg
  LV UUID                fQhokh-cHJJ-uLeL-jFju-XclH-fsTG-Khaflz
  LV Write Access        read/write
  LV Creation host, time centos7, 2016-08-30 03:24:34 -0400
  LV Status              available
  # open                 0
  LV Size                6.00 GiB
  Current LE             384
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
[root@centos7 ~ #39]# lvextend -l +100%FREE /dev/andyvg/andylv
  Size of logical volume andyvg/andylv changed from 6.00 GiB (384 extents) to 7.94 GiB (508 extents).
  Logical volume andylv successfully resized.
[root@centos7 ~ #40]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/andyvg/andylv
  LV Name                andylv
  VG Name                andyvg
  LV UUID                fQhokh-cHJJ-uLeL-jFju-XclH-fsTG-Khaflz
  LV Write Access        read/write
  LV Creation host, time centos7, 2016-08-30 03:24:34 -0400
  LV Status              available
  # open                 0
  LV Size                7.94 GiB
  Current LE             508
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

我們可以看到先創建了一個6G的LV名稱為/dev/andyvg/andy/lv,后來我們使用邏輯卷擴展命令lvextend將VG里面所有的容量全部耗盡丟給了LV,增加指8G。


實驗第五步:文件系統階段

這個部分非常簡單了,我們直接看操作吧,我LV格式化ext4的文件系統,并且實現開機掛載到/mnt/lvm中

[root@centos7 ~ #41]# mkfs.ext4 /dev/andyvg/andylv
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
520192 inodes, 2080768 blocks
104038 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2130706432
64 block groups
32768 blocks per group, 32768 fragments per group
8128 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
 
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 
 
[root@centos7 ~ #42]# mkdir /mnt/lvm
mkdir: cannot create directory ‘/mnt/lvm’: File exists
[root@centos7 ~ #43]# rm -fr /mnt/lvm/
[root@centos7 ~ #44]# mkdir /mnt/lvm
[root@centos7 ~ #45]# mount /dev/andyvg/andylv /mnt/lvm
[root@centos7 ~ #46]# df
Filesystem                1K-blocks    Used Available Use% Mounted on
/dev/sda2                 104806400 7553512  97252888   8% /
devtmpfs                     919820       0    919820   0% /dev
tmpfs                        934344      88    934256   1% /dev/shm
tmpfs                        934344    9280    925064   1% /run
tmpfs                        934344       0    934344   0% /sys/fs/cgroup
/dev/sda5                  20961280  140744  20820536   1% /testdir
/dev/sda1                    201388  143048     58340  72% /boot
tmpfs                        186872       4    186868   1% /run/user/42
tmpfs                        186872      16    186856   1% /run/user/0
/dev/sr0                    7587292 7587292         0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/andyvg-andylv   8061368   36564   7592268   1% /mnt/lvm
 
[root@centos7 ~ #47]# cp -a /etc/* /mnt/lvm

我們發現/etc/目錄的下面的文件會全部拷到/mnt/lvm目錄下,下面我們需要將其寫到/etc/fstab文件里面即可。

[root@centos7 /mnt/lvm #5]# blkid
/dev/block/8:2: UUID="bd6898a4-e81d-484f-a98c-bf0db692a30b" TYPE="xfs" 
/dev/block/8:1: UUID="cfa0ba95-faf2-41ed-a849-70c59f56e00a" TYPE="xfs" 
/dev/block/8:3: UUID="4c2a179a-61d4-4a7f-91f0-15979fc699f2" TYPE="swap" 
/dev/sr0: UUID="2015-12-09-22-36-30-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda5: UUID="b1c4ae19-2384-4e09-bea7-2f1cffaa3dcb" TYPE="xfs" 
/dev/sda6: LABEL="/home" UUID="2cf5ce7d-46d7-443a-bb1d-3b782bb65200" TYPE="ext4" 
/dev/sdc1: LABEL="TEST" UUID="1272e17b-eaac-4e68-a57e-96cdee34bb76" TYPE="ext4" 
/dev/sdb: PTTYPE="dos" 
/dev/sde: PTTYPE="dos" 
/dev/sdd: PTTYPE="dos" 
/dev/sdc5: UUID="7QGfnu-5tFo-bYAj-g3vi-V0Sq-df8S-e3wwja" TYPE="LVM2_member" 
/dev/sdc6: UUID="7dOEay-UWx3-4jYw-5LyD-av1c-VFPE-Sc65GM" TYPE="LVM2_member" 
/dev/sdc7: UUID="rrE1dF-QoEs-d4na-l6Or-gtDu-Jyrf-OjHEJX" TYPE="LVM2_member" 
/dev/sdc8: UUID="KDQjbZ-wqGi-cxBB-mttK-X0ZE-KvDd-KheRR4" TYPE="LVM2_member" 
/dev/mapper/andyvg-andylv: UUID="23f51195-fabd-4ac2-b1a8-80121283c23b" TYPE="ext4"

圖片3.png

[root@centos7 /mnt #63]# umount /mnt/lvm
[root@centos7 /mnt #64]# mount -a
[root@centos7 /mnt #65]# df
Filesystem                1K-blocks    Used Available Use% Mounted on
/dev/sda2                 104806400 7553104  97253296   8% /
devtmpfs                     919820       0    919820   0% /dev
tmpfs                        934344      88    934256   1% /dev/shm
tmpfs                        934344    9280    925064   1% /run
tmpfs                        934344       0    934344   0% /sys/fs/cgroup
/dev/sda5                  20961280  140744  20820536   1% /testdir
/dev/sda1                    201388  143048     58340  72% /boot
tmpfs                        186872       4    186868   1% /run/user/42
tmpfs                        186872      16    186856   1% /run/user/0
/dev/sr0                    7587292 7587292         0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/andyvg-andylv   8061368   72464   7556368   1% /mnt/lvm


    本文僅介紹了LVM的創建流程和基本原理,后續我們還會介紹LVM的擴充和減小容量以及其精華部分的LVM快照的原理,和實現過程。

原創文章,作者:AndyIvanXue,如若轉載,請注明出處:http://www.www58058.com/42191

(0)
AndyIvanXueAndyIvanXue
上一篇 2016-08-30
下一篇 2016-08-30

相關推薦

  • centos系統啟動流程詳解

    centos系統啟動流程詳解 CentOS啟動流程: POST 加電自檢 主板上有一個ROM芯片,有只讀程序,CPU被設計為一旦通電就會自動去找ROM芯片上的程序并運行,即檢查各種硬件設備是否存在。 BootSequence 引導過程 加電自檢后按BIOS中設定的次序查找各引導設備,第一個有引導程序的設備即是本次啟動用到的設備 MBR(BootLoader)…

    Linux干貨 2017-09-04
  • 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 目錄管理類的命令: mkdir, rmdir mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自動按需創建父目錄; -v: verbose,顯示詳細過程; -m MODE:直接給定權限; 注意:路徑…

    Linux干貨 2018-01-17
  • 淺談RPM

    淺談RPM    [先絮叨下編譯啊]   1、 庫:其實就是一個程序模塊(它沒有執行入口,不能獨立執行,只能被能獨立運行的程序調用時執行)你可以把它想象成工具螺絲刀,可執行的程序是就是你自己;螺絲刀能自己干活嗎?沒有螺絲刀能擰螺絲嗎?或者說你現在制作一個? 螺絲刀可以實現這個功能但需要你來執行這個動作。   2、靜態編譯:將程序所需要的所有的庫都編…

    Linux干貨 2015-04-27
  • lamp安裝配置詳細過程(把以前的筆記貼上來)

    準備; 首先進入/usr/local/目錄 #cd /usr/local 刪除所有安裝過的php mysql apache 以及libxml 首先查看目前 /usr/local目錄下面的內容 #ls –l 如果看到php5 php apache2 apache mysql mysql5 libxml libxml2字樣的目錄都將其刪除具體命令如下 #rm –…

    Linux干貨 2015-05-01
  • CentOS7下重置root密碼

    CentOS7下重置root密碼          Linux系統、UNIX系統和其他類UNIX系統中,存在唯一的超級用戶root。普通用戶密碼忘掉可以用root用戶重置,但是一旦root密碼忘掉,事情就復雜起來了。本文主要介紹root密碼忘掉之后,重置密碼的過程。   &nbs…

    Linux干貨 2017-03-30
  • MAN手冊使用指南及快捷鍵鍵位整理

      MAN手冊使用指南及快捷鍵鍵位整理 Man mnual 手冊說明          基本使用:man 命令 Man一共可分為八個章節: man1,man2,man3,man4……man8 1:用戶命令 2:系統調用 3:C庫調用 4:設備文件及特殊文件 5:文件格式…

    Linux干貨 2016-10-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-01 13:12

    總結的很不錯,作者很用心,通過自己的語言組織了文字,通讀整篇能學到很多東西,繼續保持。

欧美性久久久久