在Linux系統(tǒng)下卸載設備時,經常會遇到“Device is busy”的提示,報錯的原因通常是由于待卸載磁盤正在使用,導致無法直接卸載,需要降當前使用數據盤的進程殺掉,才能卸載。如果貿然強行刪除,可能會導致數據丟失或設備損壞。需要使用fuser命令查找和刪除占用的程序。
成都創(chuàng)新互聯專業(yè)為企業(yè)提供麥積網站建設、麥積做網站、麥積網站設計、麥積網站制作等企業(yè)網站建設、網頁設計與制作、麥積企業(yè)網站模板建站服務,10多年麥積做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
例如:無法卸載的設備為/dev/vdd1,運行以下命令:
PS: 如果bash在使用此磁盤,會發(fā)現bash退出了,新開bash 并再次查看fuser -mv /dev/vdd1
確認是否還有占用進程。
找到PID對應的進程或者服務,然后殺死或者停止相應服務即可。
此案例中即使使用上述所有操作刪除占用的進程,但還是提示磁盤busy,使用kill去殺進程,發(fā)現進程號一直在變化,驚覺可能是某個服務進程一直在運行,使用fuser -m -v /dev/vdd1 去查看詳細的進程信息,發(fā)現是docker服務一直在占用。
解決方案:停止docker服務
以RH9為例,上面有只有兩個分區(qū)
/dev/sda1
和/dev/sda2
#fdisk
/dev/sda
(注意sda后不要加數字)
command(m
for
help):
m
輸入m后,就會看到很多命令
command(m
for
help):
p
輸出當前磁盤的狀態(tài)
command(m
for
help):
q
想要不存儲離開嗎?按下q,請不要隨便按w
新增分區(qū):#fdisk
/dev/sda
command(m
for
help):
n
此時系統(tǒng)會提示新增P(主分區(qū))還是E(擴展分區(qū)),系統(tǒng)一般是(4個P)+E,而且E分區(qū)號必須從5開始
p
這里自行決定是P還是E
Partition
number(1-4):3
編號可以隨意
First
cylinder:
這里按下ENTER就行了
Last
cylinder
or
..............:
+100M
再輸入P的時候就能看到新增的分區(qū)了
刪除分區(qū):
#fdisk
/dev/sda
command(m
for
help):
d
選擇分區(qū)號
記住q---不存儲離開
w---存儲離開
附上容易混淆的兩個命令:
df(disk
free)---顯示磁盤的文件系統(tǒng)與使用情形
du(disk
usage)---顯示指定的目錄或文件所占用的磁盤空間
下面是我之前的一些筆記,沒來及整理,希望幫到你!所有指令均在我電腦測試通過,根據你自己的實驗環(huán)境,你可能需要做一些修改!
# 掛載(mount)光盤鏡像文件、移動硬盤、U盤以及Windows網絡共享和UNIX NFS網絡共享。
掛接命令(mount)
命令格式:
mount [-t vfstype] [-o options] device dir
其中:
1.-t vfstype指定`文件系統(tǒng)`的類型,通常不必指定。mount會自動選擇正確的類型。常用類型有:
```c
光盤或光盤鏡像:iso9660
DOS fat16文件系統(tǒng):msdos
Windows 9x fat32文件系統(tǒng):vfat
Windows NT ntfs文件系統(tǒng):ntfs
Mount Windows文件網絡共享:smbfs
UNIX(LINUX)文件網絡共享:nfs
```
2.-o options主要用來描述設備或檔案的掛接方式。常用的參數有:
```c
loop:用來把一個文件當成硬盤分區(qū)掛接上系統(tǒng)
ro:采用只讀方式掛接設備
rw:采用讀寫方式掛接設備
iocharset:指定訪問文件系統(tǒng)所用字符集
```
3.device要掛接(mount)的設備。
4.dir設備在系統(tǒng)上的掛接點(mount point)。
掛接光盤鏡像文件
在Windows下許多人都習慣把軟件和資料做成光盤鏡像文件通過虛擬光驅來使用。linux系統(tǒng)下制作和使用光盤鏡像比Windows系統(tǒng)更方便,不必借用任何第三方軟件包。
1、從光盤制作光盤鏡像文件。將光盤放入光驅,執(zhí)行下面的命令。
`#cp /dev/cdrom /home/sunky/mydisk.iso或`
`#dd if=/dev/cdrom f=/home/sunky/mydisk.iso`
注:執(zhí)行上面的任何一條命令都可將當前光驅里的光盤`制作`成光盤鏡像文件/home/sunky/mydisk.iso
2、將文件和目錄`制作`成光盤鏡像文件,執(zhí)行下面的命令。
`mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir`
注:這條命令將/home/sunky/mydir目錄下所有的目錄和文件制作成光盤鏡像文件/home/sunky/mydisk.iso,光盤卷標為:mydisk
3、光盤鏡像文件的掛接(mount)
注:建立一個目錄用來作掛接點(mount point)
`#mkdir /mnt/vcdrom`
注:使用/mnt/vcdrom就可以訪問盤鏡像文件mydisk.iso里的所有文件了。
掛接移動硬盤
`#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom`
sudo mount -o loop -t iso9660 /home/lking/system/elementaryos.iso /mnt/iso
卸載:`sudo umount -t iso9660 /mnt/iso`
對linux系統(tǒng)而言,`USB接口`的移動硬盤是當作SCSI設備對待的。插入移動硬盤之前,應先用fdisk–l或more /proc/partitions`查看系統(tǒng)的硬盤和硬盤分區(qū)情況`。
[root at pldyrouter /]# `fdisk -l`
在這里可以清楚地看到系統(tǒng)有一塊SCSI硬盤/dev/sda和它的四個磁盤分區(qū)/dev/sda1 -- /dev/sda4, /dev/sda5是分區(qū)/dev/sda4的邏輯分區(qū)。接好移動硬盤后,再用fdisk–l或more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況
[root at pldyrouter /]# fdisk -l
大家應該可以發(fā)現多了一個`SCSI`硬盤/dev/sdc和它的兩個磁盤分區(qū)`/dev/sdc1`?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分區(qū)的邏輯分區(qū)。我們可以使用下面的命令掛接/dev/sdc1和/dev/sdc5。
注:建立目錄用來作掛接點(mount point)
`#mkdir -p /mnt/usbhd1`
`#mkdir -p /mnt/usbhd2`
注:對ntfs格式的磁盤分區(qū)應使用-t ntfs參數,對`fat32格式的磁盤分區(qū)應使用-t vfat參數`。
`#mount -t ntfs /dev/sdc1 /mnt/usbhd1`
`#mount -t vfat /dev/sdc5 /mnt/usbhd2`
若漢字文件名顯示為亂碼或不顯示,可以使用下面的命令格式。
`#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1`
`#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2`
linux系統(tǒng)下使用fdisk分區(qū)命令和mkfs文件系統(tǒng)創(chuàng)建命令可以將移動硬盤的分區(qū)制作成linux系統(tǒng)所特有的ext2、ext3格式。這樣,在linux下使用就更方便了。使用下面的命令直接掛接即可。
#mount /dev/sdc1 /mnt/usbhd1
# 掛接U盤
和USB接口的移動硬盤一樣對linux系統(tǒng)而言U盤也是當作SCSI設備對待的。使用方法和移動硬盤完全一樣。插入U盤之前,應先用fdisk–l或more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況。
[root at pldyrouter root]# `fdisk -l`
插入U盤后,再用fdisk–l或more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況。
[root at pldyrouter root]# `fdisk -l`
系統(tǒng)多了一個SCSI硬盤`/dev/sdd`和一個磁盤分區(qū)`/dev/sdd1`,/dev/sdd1就是我們要掛接的U盤。
注:建立一個目錄用來作掛接點(mount point)
`#mkdir -p /mnt/usb`
`#mount -t vfat /dev/sdd1 /mnt/usb`
卸載:`umount -t vfat /dev/sdb4 `
注:現在可以通過/mnt/usb來訪問U盤了,若漢字文件名顯示為亂碼或不顯示,可以使用下面的命令。
`#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb`
掛接Windows文件共享
Windows網絡共享的核心是SMB/CIFS,在linux下要掛接(mount)windows的磁盤共享,就必須安裝和使用samba軟件包?,F在流行的linux發(fā)行版絕大多數已經包含了samba軟件包,如果安裝linux系統(tǒng)時未安裝samba請首先安裝samba。當然也可以到
當windows系統(tǒng)共享設置好以后,就可以在linux客戶端掛接(mount)了,具體操作如下:
注:建立一個目錄用來作掛接點(mount point)
`# mkdir–p /mnt/samba`
`# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba`
注:administrator和pldy123是ip地址為10.140.133.23 windows計算機的一個用戶名和密碼,c$是這臺計算機的一個磁盤共享
如此就可以在linux系統(tǒng)上通過/mnt/samba來訪問windows系統(tǒng)磁盤上的文件了。以上操作在redhat asserver3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windows xp、windows 2003環(huán)境下測試通過。
掛接UNIX系統(tǒng)NFS文件共享
類似于windows的網絡共享,UNIX(Linux)系統(tǒng)也有自己的網絡共享,那就是NFS(網絡文件系統(tǒng)),下面我們就以SUN Solaris2.8和REDHAT as server 3為例簡單介紹一下在linux下如何mount nfs網絡共享。
在linux客戶端掛接(mount)NFS磁盤共享之前,必須先配置好NFS服務端。
1、Solaris系統(tǒng)NFS服務端配置方法如下:
(1)修改/etc/dfs/dfstab,增加共享目錄
share -F nfs -o rw /export/home/sunky
(2)啟動nfs服務
`# /etc/init.d/nfs.server start`
(3)NFS服務啟動以后,也可以使用下面的命令增加新的共享
`share /export/home/sunky1`
`share /export/home/sunky2`
注:/export/home/sunky和/export/home/sunky1是準備共享的目錄
2、linux系統(tǒng)NFS服務端配置方法如下:
(1)修改/etc/exports,增加共享目錄
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目錄下的sunky、sunky1、sunky2是準備共享的目錄,10.140.133.23、*、linux- client是被允許掛接此共享linux客戶機的IP地址或主機名。如果要使用主機名linux-client必須在服務端主機/etc/hosts文件里增加linux-client主機ip定義。格式如下:10.140.133.23 linux-client
(2)啟動與停止NFS服務
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默認啟動的)
/etc/rc.d/init.d/nfs start啟動NFS服務
/etc/rc.d/init.d/nfs stop停止NFS服務
注:若修改/etc/export文件增加新的共享,應先停止NFS服務,再啟動NFS服務方能使新增加的共享起作用。使用命令exportfs -rv也可以達到同樣的效果。
3、linux客戶端掛接(mount)其他linux系統(tǒng)或UNIX系統(tǒng)的NFS共享
`mkdir–p /mnt/nfs`
注:建立一個目錄用來作掛接點(mount point)
`#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs`
注:這里我們假設10.140.133.9是NFS服務端的主機IP地址,當然這里也可以使用主機名,但必須在本機/etc/hosts文件里增加服務端ip定義。/export/home/sunky為服務端共享的目錄。
如此就可以在linux客戶端通過/mnt/nfs來訪問其它linux系統(tǒng)或UNIX系統(tǒng)以NFS方式共享出來的文件了。以上操作在redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86sparc環(huán)境下測試通過。
在日常使用過程中,可能會經常遇到Linux服務器磁盤空間滿的問題。
一、遇到磁盤空間不足的報錯時候,首先使用df -h查看磁盤空間使用情況,如下圖所示
二、進入目錄/home/zhang,查找磁盤空間中的大文件,使用命令du -sh *查找占用空間大的目錄,通過逐層定位,最后會找到具體的文件。
三、第二步的命令雖然能看到了,但是文件太多不好找,使用du -h --max-depth=1命令查找空間占用大的文件。
Linux下每個文件系統(tǒng)都有獨立的inode,block,super block等信息,這個文件系統(tǒng)要掛載到目錄樹才可以使用,將文件系統(tǒng)與目錄樹結合的操作稱為掛載,反之則為卸載。
也就是說,掛載點一定是目錄,而目錄是進入磁盤分區(qū)(也就是文件系統(tǒng))的入口。
掛載時有三點需要注意:
1.單一文件系統(tǒng)不應該重復被掛載到不同的掛載點(目錄)中;
2.單一目錄不應該重復掛載多個文件系統(tǒng)
#這兩點可以類比windows磁盤與盤符的關系,一一對應。
3.作為掛載點的目錄理論上應該是空目錄
#如果目錄不是空的,那么掛載文件系統(tǒng)后目錄下東西會暫時消失,直到所掛載設備卸載后原內容才會顯示出來
下面是具體操作
運行環(huán)境:Ubuntu Kylin14.04.1 LTS
kernel版本:Linux 3.13.0-32-generic
接下來的操作需要root權限,如果是新安裝的Ubuntu需要執(zhí)行以下操作設置root密碼
1.圖形界面下按Ctrl+ALT+F1~F6(F1~F6任意一個都可以)進入命令行模式,桌面打開Terminal也可
2.執(zhí)行sudo passwd root
3.輸入當前用戶密碼
4.根據提示輸入兩次root用戶密碼,設置完畢
卸載操作:
1.執(zhí)行su root切換到root用戶
2.執(zhí)行df -h顯示當前所有文件系統(tǒng),如圖,ubuntu kylin安裝時已經自動幫我們掛載了sda設備
除sda9掛載到/目錄,其他都自動掛載到了media/lkx/目錄
#本機是linux+win7+windows xp三系統(tǒng),ubuntu kylin自動掛載功能過于強大所以把其他兩個NTFS格式系統(tǒng)分區(qū)也掛載上了,理論上而言,一個系統(tǒng)中不應該掛載其他系統(tǒng)的分區(qū)!
/dev/sda1 16G 7.2G 7.9G 48% /media/lkx/B6FC23AAFC2363B9為Windows xp分區(qū)
/dev/sda7 45G 33G 12G 74% /media/lkx/win7 為win7分區(qū)
3.下面我們把sda1,sda7,sda6全部卸載掉
執(zhí)行
umount sda1
umount sda7
umount sda6
#Linux中奉行“沒有消息就是好消息”,所以卸載之后沒有什么提示,當參數錯誤時才會報錯
查看卸載后系統(tǒng)中還有的設備
執(zhí)行df -h,可以看到這三個設備已經被卸載掉了
掛載操作:
剛才卸載掉了/dev/sda6--soft ,現在我們把它掛載到根目錄下test文件夾下
首先執(zhí)行一些初始化操作
cd /
mkdir test
直接掛載
mount /dev/sda6 /test
查看結果
df -h
發(fā)現磁盤已經被掛載上了
掛載上磁盤后,我們就可以從目錄進入文件系統(tǒng)查看其中數據了
執(zhí)行cd test
ls -l
理解Linux文件系統(tǒng)中掛載的概念可以把它類比成windows系統(tǒng)下給一個新磁盤分配盤符,根據盤符才能進入磁盤之中訪問數據,但是還是有些許不同,windows是先有磁盤才有目錄,而linux可以把文件系統(tǒng)(磁盤)掛載到一個目錄中,這是ext2/3文件系統(tǒng)自身特性決定的
裝載:
1、啟動vm,選擇vm-Settings,按向導添加一塊SCSI磁盤。進入Linux系統(tǒng)。
2、 fdisk -l 會看到有一塊新的設置,如果你先前有一塊硬盤(sda1, sda3...),新加的這塊應該是(/dev/sdb)。
[root@localhost ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
3、分區(qū):
[root@localhost ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
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): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044):
Using default value 1044
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1044 8385898+ 83 Linux
4、格式化:
[root@localhost ~]# mkfs -t ext3 /dev/sdb1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1048576 inodes, 2096474 blocks
104823 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
5、裝載:
[root@localhost ~]# mount /dev/sdb1 /u01/app/oracle
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
/dev/sdb1 7.9G 147M 7.4G 2% /u01/app/oracle
6、編輯fstab文件(不然重啟電腦后系統(tǒng)將不會保存之前的掛載操作):
[root@localhost ~]# vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/dev/sdc1 /u03 ext3 defaults 1 1
/dev/sdb1 /u01/app/oracle ext3 defaults 1 1
# Beginning of the block added by the VMware software
.host:/ /mnt/hgfs vmhgfs defaults,ttl=5 0 0
# End of the block added by the VMware software
卸載:
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
網頁題目:linux卸載硬盤命令 linux系統(tǒng)卸載命令
鏈接地址:http://m.rwnh.cn/article42/hiishc.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站制作、靜態(tài)網站、關鍵詞優(yōu)化、微信小程序、網站維護、營銷型網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯