中易网

linux中挂载的USB设备会自动更换名称,怎么解决

答案:2  悬赏:70  
解决时间 2021-03-18 04:01
linux中挂载的USB设备会自动更换名称,怎么解决
最佳答案
具体的操作过程如下:
1.接入usb设备,然后运行命令:devlabel add -d /dev/sda1 -s /dev/usbdevice (--automount 可去掉!)
/dev/sda1是usb设备名称,具体可以用fdisk -l查看,如果fdisk不能显示,可以用一个万能的方法: (#表示0,1,2,3....)
检测/proc/scsi/usb-storage-#是否存在;
如果存在,检测/proc/scsi/usb-storage-#/#是否存在;
如果存在,检查文件/proc/scsi/usb-storage-#/#中最后一行Attach:是否是YES;
如果是YES,那么 0 = sda, 1=sdb, 2=sdc ;
/dev/usbdevice是要使用的用户定义的设备名称,这个可以放在任意的目录中,名字大家自己定
automount指定:在 devlabel 重新启动时,如果 /etc/fstab 中有这个设备项目而且这个设备项目存在(找到了带有同一 UUID 的设备),那么就自动挂载这个项目。
2.建一个目录/mnt/usb
3.打开/etc/fstab,在里面添加一行:/dev/usbdevice /mnt/usb auto noauto,owner 0 0
这时就OK了,以后插入usb存储设备时就会自动挂载到/mnt/usb目录下了(前提是要有这个目录)
解决思想:当某个 USB 设备被插入,hotplug 就会运行 updfstab 程序。如果这个usb贮存设备存在,该程序会为它在 /etc/fstab 中添加一项记录。所添加的这一行包含实际设备名称(如 /dev/sda1)和 kudzu 选项。kudzu 选项通知 Kudzu工具如果设备不存在就删除这一行。因为这一行是 devlabel 所需的,你必须删除 kudzu 选项才能使这一行被保留在文件内。你还需把设备名称改成 devlabel 设备名称(如 /dev/usbdevice),并创建挂载点(如 /mnt/usb)。
所以修改后的就是上面的第3步.
最后,还有一种最最简单的方法,也是我现在使用的方法哈:
可以直接打开/etc/hotplug/usb.agent ,在里面找到"add)",在其中的
if [ -x /sbin/devlabel ]; then
/sbin/devlabel restart
fi
后面加上
[ -x /usr/sbin/udisk ]&& /usr/sbin/udisk
其中udisk是一个简单的挂载脚本:
#! /bin/sh
mount|grep /mnt/usb
if [ "$?" = "0" ]; then
umount /mnt/usb
rmdir /mnt/usb
else
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb
fi
这样做的目的是:当usb设备接入时,hotplug程序就会自动运行,在运行脚本中加入一个挂载脚本,不就一切OK了么~~
不过上面的讨论都只能用于挂载,卸载还是必须用umount(选第3种办法的直接打udisk),这是同WIN一样的.
全部回答
用crontab * */1 * * * /etc/init.d/network restart; 每隔一小时重启一下网络服务。 或插拔usb. * */1 * * * "umount /dev/hdd1;mount /dev/hdd1 /mnt/usb" 通常,在linux系统中,如果要使用硬盘、光盘、软盘或u盘等存储设备, 一般先要挂载(但有些高版本的linux可以做到自动识别和加载设备). 当存储设备挂载完成后就可以像目录一样进行访问了. 在挂载之前需要确定下列三种信息: *) 要挂载对象的文件系统类型; *) 要挂载对象的设备名称; *) 确定挂载点. 1) 获得挂载对象的文件系统类型: cat /proc/filesystems 可以查看当前linux系统支持的文件类型: vfat : windows常用的fat32文件系统,兼容fat16系统. hpfs : os2文件系统. ext3 : linux文件系统 iso9660 : 光盘文件系统 2) 确定设备名称: 在linux下设备名称通常都在/dev目录下,这些设备的命名都是有规则的,比如: /dev/hda1 "hd"即: hard disk,代表ide硬盘; 'hd'同样也可以用'sd'代替,即scsi,代表scsi硬盘; a代表第一个设备,如果pc机上可以连接4块ide硬盘, 则设备名称依次为hda,hdb,hdc,hdd. 如果是scsi硬盘, 则设备名称为sda.sdb,sdc,sdd. 数字1表示a硬盘的第一个分区,hda2,代表硬盘的第二个分区. 查看/var/log/messages文件,可找出linux辨认出来的设备代号. 3) 确定挂载点: linux系统中有一个/mnt目录,专门用作挂载点目录: 挂载光盘的例子: $mount -t iso9660 /dev/cdrom /mnt/cdrom $umount /mnt/cdrom 挂载软盘的例子: $mount /dev/fd0 /mnt/floppy $umount /mnt/floppy 挂载u盘的例子: $fdisk -l查看外挂闪存的设备号,一般为/dev/sda1 $mount /dev/sda1 /mnt/usb $umount /mnt/usb 挂载外挂硬盘分区: $fdisk -l 查看外挂的硬盘分区设备号,假设为: /dev/hda1 $mount -t vfat /dev/hda1 /mnt/vfat $umount /mnt/vfat 所以,根据上面流程思想,我们现在来看看如何把自己的usb(u盘设备挂载到系统中来),从而可以自由访问u盘里边的文件。看了以下的操作,你会发现操作命令并不是那么的复杂的。此次测试是在vmware+redhat9.0 上测试的。 首先要查看usb设备的名称。 我们在terminal终端用这个命令: dmesg|more 查看系统相关信息。dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里边。 得到usb设备的设备名称为 sdb 然后在/mnt/下建立一个usb的文件夹: mkdir /mnt/usb 最后要用mount命令来挂载sdb(也就是u盘)里边的东西了。 mount /dev/sdb /mnt/usb 其实mount 中并不无其他参数。 因为mount里可以自动识别其中的文件系统。 这样在/mnt/usb下即可以看到里边的文件了。 当卸载usb时,需用umount命令来卸载
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
这个极限如何转换到这一步
求初音樱之雨钢琴伴奏~
寄信给同学、地址:北京市朝阳区高碑店乡梆子
为什么稀有气体各原子轨道填满电子
深圳市兴鑫和科技有限公司在什么地方啊,我要
音箱3.5接头电线,3线,总线径3mm,功率不高
求一些像萌战无双一样的改编动漫化的单机游戏
柴火烧水快,还是6000w的电炉快。烧一样的水
干红枣泡着喝有什么好处呢 红枣好处
丢了钱300快心情不好
涂改液到衣服上了,洗不掉.网上说用风油精,我
动画片的名字
佰丽人生我想知道这个在什么地方
烟台婚纱影楼 侬侬和巴黎哪个好?
苹果手机左侧竖排打不开了怎么回事
推荐资讯
平顶山新站到建设路与诚朴路交叉口向南100米
赛兔羊绒精品店地址有知道的么?有点事想过去
进外企和进医院那个好些?
气相色谱分离中,在实验中为什么要先开气路?又
成都首套房贷款政策 成都首套房贷款首付是多
山西省农业广播电视学校地址在哪,我要去那里
我是文科生,我想考军校,有点近视,200度,
上联(晒萝卜丝,晒萝卜干,晒萝卜片)求下联
查申通快递山东潍坊航空部发往广东揭阳航空部
手机升级软件时经常提示空间不足怎么回事,
怀孕前三月可以用生姜洗发水吗?
关于春水的古诗词
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?