系统管理指南:设备和文件系统

访问可移除介质

无论是否使用卷管理,都可以访问有关可移除介质的信息。有关使用 GNOME 的文件管理器访问可移除介质相关信息的信息,请参见 GNOME 桌面文档。

卷管理 (vold) 可主动管理所有的可移除介质设备。因此,使用设备名称(如 /dev/rdsk/cntndnsn/dev/dsk/cn tndn sn)访问可移除介质的任何尝试都将失败。

使用可移除介质名称

可以使用不同名称访问所有可移除介质。下表介绍了在使用或不使用卷管理的情况下可以访问的不同介质名称。

表 3–1 可移除介质名称

介质 

卷管理设备名称 

卷管理设备别名 

设备名称 

第一个软盘驱动器 

/floppy

/vol/dev/aliases/floppy0

/dev/rdiskette

/vol/dev/rdiskette0/

volume-name

第一个、第二个、第三个 CD-ROM 或 DVD-ROM 驱动器 

/cdrom0

/cdrom1

/cdrom2

/vol/dev/aliases/cdrom0

/vol/dev/aliases/cdrom1

/vol/dev/aliases/cdrom2

/vol/dev/rdsk/cnt n[dn] /

volume-name

第一个、第二个、第三个 PCMCIA 驱动器 

/pcmem/pcmem0

/pcmem/pcmem1

/pcmem/pcmem2

/vol/dev/aliases/pcmem0

/vol/dev/aliases/pcmem1

/vol/dev/aliases/pcmem2

/vol/dev/rdsk/cnt ndn /

volume-name

USB 内存条 

/rmdisk/noname

/vol/dev/aliases/rmdisk0

/vol/dev/dsk/cntndn/volume-name:c

访问可移除介质数据的指导原则

大多数 CD 和 DVD 都是按照可移植的 ISO 9660 标准格式化的。因此,卷管理可以挂载大多数 CD 和 DVD。但是,具有 UFS 文件系统的 CD 或 DVD 不能在体系结构之间移植。因此,它们必须在针对其设计的体系结构上使用。

例如,x86 平台无法识别 SPARCTM 平台上具有 UFS 文件系统的 CD 或 DVD。同样,SPARC 平台上的卷管理也无法挂载 x86 UFS CD。此限制通常也适用于软盘。但是,一些体系结构共享相同的位结构,因此有时特定于一种体系结构的 UFS 格式可被另一种体系结构识别。但是,UFS 文件系统结构的设计不能保证此兼容性。

要适应不同的格式,可将 CD 或 DVD 分成若干个片。这些片在作用上与硬盘上的分区类似。9660 部分可移植,但 UFS 部分特定于体系结构。如果在挂载 CD 或 DVD 时出现问题,尤其是安装 CD 或 DVD 时,应确保其 UFS 文件系统适合系统的体系结构。例如,可以检查 CD 或 DVD 上的标号。

Procedure如何添加新的可移除介质驱动器

通常,大多数新式总线类型支持热插拔。如果系统的总线类型支持热插拔,则可能只需执行下面的步骤 5。如果系统的总线类型不支持热插拔,则可能必须执行下面步骤 1-6 中介绍的任务。

有关热插拔设备的更多信息,请参见第 6 章,动态配置设备(任务)

  1. 成为超级用户。

  2. 创建 /reconfigure 文件。


    # touch /reconfigure
    
  3. 使系统转至运行级 0。


    # init 0
    
  4. 关闭系统电源。

  5. 连接新的介质驱动器。

    有关特定说明,请参见硬件手册。

  6. 打开系统电源。

    系统会自动进入多用户模式。

Procedure如何停止和启动卷管理 (vold)

有时,可能需要在不使用卷管理的情况下管理介质。本节介绍如何停止和重新启动卷管理。

  1. 确保未使用介质。

    如果无法确定是否已找到介质的所有用户,请使用 fuser 命令。请参见如何确定可移除介质是否仍在使用

  2. 成为超级用户。

  3. 选择以下操作之一:

    • 停止卷管理。


      # svcadm disable volfs
      
    • 启动卷管理。


      # svcadm enable volfs
      
      volume management starting.

Procedure如何访问可移除介质上的信息

  1. 插入介质。

    几秒后将挂载介质。

  2. (可选的)如果使用的是传统的非 USB 软盘设备,请检查驱动器中的介质。


    % volcheck
    
  3. 列出介质的内容。


    % ls /media
    

    通过命令行界面使用适当的设备名称访问信息。有关设备名称的说明,请参见表 3–1


示例 3–1 访问可移除介质上的信息

此示例说明如何访问软盘上的信息。


$ $ ls /floppy

myfile

此示例说明如何访问 USB 内存条上的信息。


$ ls /rmdisk

rmdisk0/		rmdisk1/

此示例说明如何访问 DVD 或 CD 上的信息。


$ ls /cdrom

cdrom0       sol_10_305_sparc

此示例说明如何查看 DVD 或 CD 上的符号链接。


$ ls -lL /cdrom/cdrom0

total 24

dr-xr-xr-x   2 root     sys         2048 Jan 23 03:24 s0

drwxr-xr-x  18 root     root         512 Jan 23 03:25 s1

drwxr-xr-x   2 root     root         512 Jan 23 03:27 s2

drwxr-xr-x   2 root     root         512 Jan 23 03:27 s3

drwxr-xr-x   2 root     root         512 Jan 23 03:27 s4

drwxr-xr-x   2 root     root         512 Jan 23 03:27 s5

此示例说明如何访问 PCMCIA 内存卡上的信息,如下所示:


$ ls /pcmem/pcmem0

pcmem0 myfiles

Procedure如何从可移除介质复制信息

与任何其他文件系统一样,可以访问可移除介质上的文件和目录。仅有的重要限制与拥有权和权限有关。

例如,如果您将文件从 CD 复制到文件系统中,则您即是属主。但是,您不会具有写入权限,因为 CD 上的文件从没有写入权限。您必须自行更改权限。

  1. 确保已挂载介质。


    $ ls /media
    

    ls 命令会显示已挂载介质的内容。如果未显示内容,请参见如何访问可移除介质上的信息

  2. (可选)复制文件或目录。

    例如,对于 DVD,可以执行以下操作:


    $ cp /cdrom/sol_10_305_sparc/s0/Solaris_10/Tools/add_install_client .
    
    $ ls -l
    
    -rwxr-xr-x   1 pmorph	  gelfs   66393 Jun 14 16:08 add_install_client

    例如,对于 PCMCIA 内存卡,可以执行以下操作:


    $ cp /pcmem/pcmem0/readme2.doc .
    
    $ cp -r /pcmem/pcmem0/morefiles .
    

Procedure如何确定可移除介质是否仍在使用

  1. 成为超级用户。

  2. 确定正在访问介质的进程。


    # fuser -u /media
    

    -u 显示介质的用户。

    有关更多信息,请参见 fuser(1M)

  3. (可选)中止正在访问介质的进程。


    # fuser -u -k /media
    

    -k 中止正在访问介质的进程。


    注意 – 注意 –

    仅在紧急情况下才能中止正在访问介质的进程。


  4. 检验进程是否已中止。


    # pgrep process-ID
    

示例 3–2 确定介质是否仍在使用

以下示例说明用户 pmorph 正在访问 /cdrom/sol_10_305_sparc/s0/Solaris_10/Tools 目录。


# fuser -u /cdrom/sol_10_305_sparc/s0/Solaris_10/Tools

/cdrom/sol_10_305_sparc/s0/Solaris_10/Tools:  13737c(pmorph)  4712c(pmorph)

Procedure如何弹出可移除介质

  1. 确保未使用介质。

    请记住,如果 shell 或应用程序正在访问介质的任何文件或目录,则表明“正在使用”该介质。如果无法确定是否已找到 CD 的所有用户(例如,隐藏在桌面工具之后的 shell 可能正在访问 CD),请使用 fuser 命令。请参见如何确定可移除介质是否仍在使用

  2. 弹出介质。


    # eject media
    

    例如,对于 CD,可以执行以下操作:


    # eject cdrom
    

    例如,对于 USB 内存条,可以执行以下操作:


    # eject rmdisk0
    

    例如,对于 PCMCIA 内存卡,可以执行以下操作:


    # eject pcmem0