首页 > 编程知识 正文

linux命令速查手册,系统处于mount状态

时间:2023-05-06 10:24:18 阅读:125171 作者:4627

虽然听起来很奇怪,但我受到udev规则的启发,有一个shell脚本,可以将附加的USB设备装载到系统文件树中。 规则似乎没有问题,因为该脚本在USB设备连接到系统时运行。 我在syslog上监视脚本的进度,也很好。 即使mount命令返回零,它也会说:

根[ 1023 ] 3360 mount :/dev/sda1mounted on/media/partition label。

但是,没有安装最后的设备。 未在/etc/mtab/proc/mountsfind mntmount中列出。 如果在设备上运行umount,也可能表示没有安装该设备。

但是,如果以root身份手动从终端运行脚本,则可以正常运行并装载设备,但不是在udev上运行

脚本开始时添加了8秒的休眠时间,以确保不是时间问题。 此外,从规则文件名中删除数字,udevd确认新规则位于规则队列的底部,脚本遵守其他系统规则,但未成功。

系统日志:

(装置添加后)

kernel : USB1- 1.2:新高- speedusbdevicenumber 12 using DWC _ otg

kernel : USB1- 1.2: newusbdevicefound,idVendor=058f,idProduct=6387

kernel : USB1- 1.2: newusbdevicestrings : MFR=1,Product=2,串行编号=3

kernel : USB1- 1.2:产品:质量存储

kernel : USB1- 1.2:制造器:通用

kernel : USB1- 1.2: serial number :24 DCF 568

kernel : USB-storage1-1. 2:1.0: usbmassstoragedevicedetected

kernel : SCSI host 63360 USB-storage1- 1.2:1.0

kernel : SCSI 633600336003360033600336003360 direct-accessgenericflashdisk 8.07 pq : ansi :

kernel : SD 633600336003360033600336003360 [ sda ] 1968128512-bytelogicalblocks : (1.00 GB/961 MIB ) ) )。

kernel : SD 6:033600336003360033600336003360 [ sda ] writeprotectisoff

kernel : SD 63360033600336003360033600336003360 [ sda ] mode sense 3360230000

kernel : SD 63360033600336003360033600336003360 [ sda ] write cache : disabled,read cache: enabled,doesn ' t suport dpor or

kernel: sda: sda1

kernel : sda : P1 size 1968126扩展sbeyondeod,enabling native capacity

kernel: sda: sda1

kernel : sda : P1 size 1968126扩展sbeyondeod,中继

kernel : SD 6:033600336003360033600336003360 [ sda ] attachedscsiremovabledisk

root[1004]: /usr/local/s曾经的荷花/udev-auto-mount.sh-status 3360 startedtoautomountsda 1

root[1019]: /usr/local/s曾经的荷花/udev-auto-mount.sh-status 3360 devicelabelispartitionlabelandfilesystemimint

root[1021]: /usr/local/s曾经的哈士奇/udev-auto-mount.sh-status 3360 mountingthedevicesda1byfilesystemvfatto/s

根[ 1023 ] 3360 mount :/dev/sda1mounted on/media/partition label。

root[1024]: /usr/local/s曾经的荷花/udev-auto-mount.sh status 3360 mountcommandproceedforvfat,retval is 0

root[1025]: /usr/local/s曾经的荷花/udev-auto-mount.sh-status 3360 succeed!

CONFIGS :

/etc/udev/rules.d/local-rules :

在udev中定义的规则如下:

# /etc/udev/rules.d/local-rules

ENV{ID_BUS}=='usb ',ACTION=='add ',ENV{DEVTYPE}=='partition ',

RUN='/usr/local/s曾经的哈士奇/udev-automounter.sh % k $ env { id _ fs _ label _ enc } '

udev-auto-mount.sh

脚本由udev规则中定义的另一个脚本启动。

以这种方式,您可以直接使用挂载点目录及其文件系统类型和一些常见选项在挂载点上安装USB设备。 将“-v”选项添加到mount命令中,使其更详细,并将所有输出重定向到syslog。 因此,我知道它是如何工作的,但不太多。

#! /曾经的荷花/sh

## /usr/local/s曾经的哈士奇/udec-auto-mount.sh

##

logger-s ' $0- status 3360 startedtoautomount $ {1} '

设备=$ 1

sleep 8

# .

# .

# Checking inputs,gettingfilesystemtype (id _ fs _ type ),分区标签

#(id_fs_label ) and .

mkdir '/media/${ID_FS_LABEL} '

logger-s ' $0- status 3360 mountingthedevice $ { device } by file system $ { id _ fs _ type } to/media/$ { id _ fs _ }

case $ID_FS_TYPE in

vat ) mount -v -t vfat -o sync,noatime,nosuid,nodev/dev/$ { device } '/media/$ { id _ fs _ label } ' 21|lo vvice

let retVal=$?

logger-s ' $0status 3360 mountcommandproceedforvfat,retval is ${retVal} '

mount-v-t自动同步,noatime/dev/$ { device } '/media/$ { id _ fs _ label } '

欧洲联盟

if [ ${retVal} -eq 0 ]; 陈真

logger -s '$0 - status: succeed!'

exit 0

else

logger-s ' $0error 3360 unabletomountthedevice $ { device },retval is ${retVal} '

rmdir '/media/${ID_FS_LABEL} '

fi

exit 0

可能会有帮助:

在脚本无法安装USB设备后,如果断开设备的连接,系统日志可能会出现以下错误:

kernel : USB1- 1.2: USB disconnect,设备编号11

系统更新[ 143 ] :错误:/dev/sda : nosuchfileordirectory

系统更新[ 977 ] : inotify _ add _ watch (7,/dev/sda,10 ) failed : nosuchfileordirectory

编辑:

这是“mount”版本:

$mount -V:

mount fromutil-Linux2. 27.1 (lib mount2. 27.0:资产,调试) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。