10. 使存储棒对用户可访问

到目前为止,我们所描述的只是设置系统和格式化存储棒的步骤。我们必须使 USB 文件系统的挂载更加持久,并且我们必须使非 root 用户更容易挂载此类设备。只需要做几件事。

下面描述的程序适用于具有双分区的存储棒的更复杂情况(第 9 节)。如果分区是单个 ext2,则应简化该程序,方法是省略引用 vfat 部分的行并更改sda2sda1.

假设挂载点/mnt/memstick/mnt/fatstick已被创建。您不必使用这些词,它们甚至不必是/mnt

为了更容易记住,创建以下符号链接

 
             # ln -s /dev/sda1 /dev/fatflash
             # ln -s /dev/sda2 /dev/flash 
   

为了更顺畅和更容易地挂载,将以下行添加到/etc/fstab: ( 请参阅 第 7.3 节 末尾的注释 )

             none          /proc/bus/usb usbfs       defaults       0 0 
             /dev/flash    /mnt/memstick ext2,vfat   rw,user,noauto 0 0 
             /dev/fatflash /mnt/fatstick vfat        rw,user,noauto 0 0 
   

中间行允许在 ext2 或 vfat 中挂载。最后两行使任何用户都可以通过以下命令挂载设备

             $ mount /dev/flash  [for ext2 or vfat] 
             $ mount /dev/fatflash  [for vfat] 
   

可以同时挂载两个分区。请参阅第 9 节

对于 ext2 格式化的设备,用户(root 用户除外)似乎无法以读写模式挂载。解决方案是在存储棒上创建一个目录,该目录归特定用户所有,并具有完全权限。Root 用户应该这样做

             # mount /dev/flash 
             # mkdir -m 777 /mnt/memstick/superdir 
             # chown charles:charles /mnt/memstick/superdir 
   

如果设备是 vfat 格式,则此步骤是不必要的。

总之,这是一个我用来挂载和卸载我的 (ext2) 闪存驱动器的小脚本

             #!/bin/bash 
             EXCODE="keepit" 
             green='\033[0;32m' 
             yellow='\033[0;33m' 
             ## ___________________________ 
             ## Function to echo in colours 
             echo_in_color () 
             { 
                  message=$2 
                  message1=$4 
                  color=$1 
                  color1=$3 
                  echo -e -n $color 
		      echo -n $message 
                  echo -e -n $color1 " " 
                  echo  -n $message1 " " 
                  tput sgr0 
                  return 
             } 
             ## ___________________________ 
             clear 
             mount /dev/flash 
             echo_in_color $green "Flash drive mounted" 
             sleep 2 
             while [ $EXCODE != "flexit" ] 
                  do 
                     clear 
                     echo_in_color $yellow "Enter [flexit] to unmount and exit:" 
                     read EXCODE 
                  done 
             umount /dev/flash 
             exit 
   

我通过以下方式从 FVWM 菜单调用它Exec exec xterm -geometry 43x2+1250+0 -e /home/nikos/bin/flashdrive这会将其放置在屏幕一角的一个小 x-term 中。水平位移 1250 可能需要根据您屏幕的水平分辨率进行修改。