TLCL之第三章(1)


第三章


1. 软件包管理

软件包管理是指系统中一种安装和维护软件的方法。

打包系统

不同的Linux发行版使用不同的打包系统,一般而言,大多数发行版分别属于两大包管理技术阵营:Debian的".deb"和红帽的".rpm"。

主要的包管理系统家族

包管理系统发行版(部分列表)
Debian Style(.deb)Debian,Ubuntu,Xandros,Linspire
Red Hat Style(.rpm)Fedora,CentOS,Red Hat Enterprise Linux

软件包管理系统是怎样工作的

在商业化软件中,获取软件的最新版本通常需要买一张安装媒介,比如说”安装盘“,然后运行一个”安装向导“,来在系统中安装新的应用程序。
Linux不是这样的,Linux系统中几乎所有的软件都可以在互联网上找到。其中大多数软件由发行商以包文件的形式提供,剩下的则以源码形式存在,可以手动安装。

包文件

在包管理系统中软件单元是包文件,包文件是一个构成软件包的文件压缩集合。一个软件包可能由大量程序以及支持这些程序的数据文件组成。除了安装文件之外,软件包文件也包括关于这个包的元数据,如软件包及其内容的文本说明。另外,许多软件包还包括预安装和安装后脚本,这些脚本用来在软件安装之前和之后执行配置任务。

资源库

中心资源库中包含成千上万的软件包,每一个软件包都是专门为这个系统发行版建立和维护。
因软件开发生命周期不同阶段的需要,一个系统发行版可能维护这几个不同的资源库。
一个系统发行版可能也会拥有相关第三方的资源库。

依赖性

程序很少独立工作,他们需要依赖其他程序的组件来完成他们的工作,程序所共有的活动,如输入/输出,就是由一个被多个程序调用的子例程处理的。这些子例程存储在动态链接库中。动态链接库为多个程序提供基本服务。如果一个软件包需要一些共享的资源,如一个动态链接库,它就被称作有一个依赖。现代的软件包管理系统都提供了一些依赖项解析方法,以确保安装软件包时,其所有的依赖也被安装。

上层和底层软件包工具

软件包管理系统通常由两种工具类型组成:底层工具用来处理安装和删除软件包文件等这类任务;上层工具用来完成元数据搜索和依赖解析。我们将看一下由Debian风格的系统提供的工具,还有那些由Red Hat产品使用的工具。虽然所有基于Red Hat风格的发行版都依赖于相同的底层程序(rpm),但是它们却使用不同的上层工具。

包管理工具

发行版底层工具上层工具
Debian-Styledpkgapt-get,aptitude
Fedora,Red Hat Enterprise Linux,CentOSrpmyum

常见软件包管理任务

通过命令行软件包管理工具可以完成许多操作。这一底层工具也支持软件包文件的创建。
在以下讨论中,”package_name“这个术语是指软件包实际名称,而不是指”package_file“,它是包含在软件包中的文件名。

查找资源库中的软件包

使用上层工具来搜索资源库元数据,可以根据软件包的名字和说明来定位它。

软件包查找工具

风格命令
Debianapt-get update;apt-cache search search_string
Red Hatyum search search_string

例如搜索一个yum资源库来查找emacs文本编辑器,使用以下命令:
yum search emacs

从资源库中安装一个软件包

上层工具允许从一个资源库中下载一个软件包,并经过完全依赖解析来安装它。

软件包安装命令

风格命令
Debianapt-get update;apt-get install package_name
Red Hatyum install package_name

例如,从一个apt资源库中安装emacs文本编辑器:
apt-get update;apt-get install emacs

通过软件包文件来安装软件

如果从某处而不是资源库中下载了一个软件包文件,可以使用底层工具来直接(没有经过依赖解析)安装它。

底层软件包安装命令

风格命令
Debiandpkg --install package_file
Red Hatrpm -i package_file

例如已经从一个并非资源库的网站下载了软件包文件file_name.rpm,则可以通过这个方法来安装它:
rpm -i file_name.rpm
注意,因为这项技术使用底层的rpm程序来执行安装任务,所以没有运行依赖解析。如果rpm程序发现缺少了一个依赖,则会报错并退出。

卸载软件

使用上层或者底层工具来卸载软件,下面是可用的上层工具:

软件包删除命令

风格命令
Debianapt-get remove package_name
Red Hatyum erase package_name

经过资源库来更新软件包

常见的软件包管理任务是保持系统中的软件包都是最新的,上层工具仅需一步就能完成这个至关重要的任务。

软件包更新命令

风格命令
Debianapt-get update;apt-get upgrade
Red Hatyum update

apt-get update;apt-get upgrade

经过软件包文件来升级软件

如果已经从一个非资源库网站下载了一个软件包的最新版本,可以安装这个版本,用它来代替先前的版本:

底层软件升级命令

风格命令
Debiandpkg --install package_file
Red Hatrpm -U package_file

注意:rpm程序安装一个软件包和升级一个软件包所用的选项是不同的,而dpkg程序所用的选项是相同的。

列出所安装的软件包

下表中的命令可以用来显示安装到系统中的所有软件包列表:

列出所安装的软件包命令

风格命令
Debiandpkg --list
Red Hatrpm -qa

确定是否安装了一个软件包

这些低端工具可以用来显示是否安装了一个指定的软件包:

软件包状态命令

风格命令
Debiandpkg --status package_name
Red Hatrpm -q package_name

显示所安装软件包的信息

查看软件包信息命令

风格命令
Debianapt-cache show package_name
Red Hatyum info package_name

查找安装了某个文件的软件包

风格命令
Debiandpkg --search file_name
Red Hatrpm -qf file_name

在Ret Hat系统中,查看哪个软件包安装了/usr/bin/vim这个文件
rpm -qf /usr/bin/vim


2. 存储媒介

在前面章节中,我们已经在文件级别上见识了数据的操作,在这章里,我们将从设备级别来考虑数据。Linux有着令人惊奇的能力来处理存储设备,不管是物理设备,比如说硬盘,还是网络设备,或者是虚拟存储设备,像RAID(独立磁盘冗余阵列)和LVM(逻辑卷管理器)。

mount - 挂载一个文件系统
umount - 卸载一个文件系统
fsck - 检查和修复一个文件系统
fdisk - 分区表控制器
mkfs - 创建文件系统
fdformat - 格式化一张软盘
dd - 把面向块的数据直接写入设备
genisoimage - 创建一个ISO 9660 的映像文件
wodim - 把数据写入光存储媒介
md5sum - 计算MD5检验码

挂载和卸载存储设备

在大多数情况下,我们只要把设备连接到系统中,他就能工作,在非桌面系统中,这是一个手动过程,因为服务器经常有几段的存储需求和复杂的配置要求。
管理存储设备的第一步是把设备连接到文件系统树中,这个叫做"挂载"的过程允许设备连接到操作系统中。类Unix的操作系统,比如Linux在单一文件系统树中维护连接在各个节点的各种设备。
有一个叫做/etc/fstab的文件可以列出系统启动时要挂载的设备(典型地,硬盘分区)。下面来自于Fedora7系统的/etc/fstab文件实例(只列出了前三个):

LABEL=/12               /               ext3        defaults        1   1
LABEL=/home             /home           ext3        defaults        1   2
LABEL=/boot             /boot           ext3        defaults        1   2

这些是硬盘分区,每行由6个字段组成,如下所示:

/etc/fstab字段

字段内容说明
1设备名传统上,这个字段包含与物理设备相关联的设备文件的实际名字,比如说/dev/hda1(第一个IDE通道上第一个主设备分区)。然而今天的计算机,有很多热插拔设备(像USB驱动设备),许多现代的Linux发行版用一个文本标签和设备相关联。当这个设备连接到系统中时,这个标签(当存储媒介格式化时,这个标签被添加到存储媒介中)会被操作系统读取,那样的话,不管赋给实际物理设备哪个设备文件,这个设备仍然能被系统正确地识别
2挂载点设备所连接到的文件系统树的目录
3文件系统类型Linux允许挂载许多文件系统类型,大多数本地的Linux文件系统是ext3,但是也支持很多其它的
4选项文件系统可以通过各种各样的选项来挂载,比如,有可能挂载只读的文件系统,或者挂载阻止执行任何程序的文件系统(一个有用的安全特性,避免删除媒介)
5频率一位数字,指定是否和在什么时间用dump命令来备份一个文件系统
6次序一位数字,指定fsck命令按照什么次序来检查文件系统

查看挂载的文件系统列表

这个mount命令被用来挂载文件系统,执行这个不带参数的命令将会显示一系列当前挂载的文件系统:

[me@linuxbox ~]$ mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
...
/dev/sdd1 on /media/disk type vfat (rw,nosuid,nodev,noatime,
uhelper=hal,uid=500,utf8,shortname=lower)
twin4:/musicbox on /misc/musicbox type nfs4 (rw,addr=192.168.1.4)

这个列表格式是:设备,on,挂载点,type,文件系统类型(选项)。例如,第一行所示设备/dev/sda2被挂载到根目录下"/",文件系统类型是ext3,并且可读可写(rw)。倒数第二行显示了在读卡器中的一张2G的SD内存卡,挂载到了/media/disk上。最后一行是一个网络设备,挂载到了/music/musicbox上。
当我们插入光盘后,使用mount命令就会发现末尾多了一行。
音频CD和CD-ROM不一样。音频CD不包含文件系统,这样在通常意义上,它就不能被挂载了。

将CD-ROM重新挂载到另一个位置的操作:

#1. 首先我们需要超级用户身份:
[me@linuxbox ~]$ su -
Password:

#2. 卸载光盘
[root@linuxbox ~]# umount /dev/hdc

#3. 创建一个新的光盘挂载点,简单点说,一个挂载点就是文件系统树中的一个目录。
#它没有上面特殊的,它甚至不必是一个空目录,如果你把设备挂载到了一个非空目录上,
#你将不能看到这个目录中的原来的内容,知道你写在这个设备,就我们的目的而言,我们将创建一个新目录:
[root@linuxbox ~]# mkdir /mnt/cdrom

#4. 最后我们把这个CD-ROM挂载到一个新的挂载点上,这个-t选项用来指定文件系统类型:
[root@linuxbox ~]# mount -t iso9660 /dev/hdc /mnt/cdrom

#之后我们可以通过这个新挂载点来查看CD-ROM的内容:
[root@linuxbox ~]# cd /mnt/cdrom
[root@linuxbox cdrom]# ls
[root@linuxbox cdrom]# umount /dev/hdc
umount: /mnt/cdrom: device is busy

#如果某个用户或进程正在使用这个设备的话,我们不能卸载一个设备。
#当前我们把工作目录更改到了CD-ROM的挂载点,使得设备忙碌。
#只要我们把工作目录更改到其他目录就可以解决这个问题。
[root@linuxbox cdrom]# cd
[root@linuxbox ~]# umount /dev/hdc

确定设备的名称

如今,我们利用现代Linux桌面系统的功能来自动地获取设备,然后在确定设备名称,但是如果我们正在管理一台服务器或者其他一些不会发生的环境,我们该如何查清设备名?
首先,让我们看一下系统怎样来命名设备。我们列出目录/dev的内容
[me@linuxbox ~]$ ls /dev
这个列表的内容揭示了一些设备命名的模式,这里有几个:

Linux存储设备名称

模式设备
/dev/fd*软盘驱动器
/dev/hd*老系统中的IDE(PATA)磁盘。典型的主板包含两个 IDE 连接器或者是通道,每个连接器 带有一根缆线,每根缆线上有两个硬盘驱动器连接点。缆线上的第一个驱动器叫做主设备, 第二个叫做从设备。设备名称这样安排,/dev/hda 是指第一通道上的主设备名;/dev/hdb 是第一通道上的从设备名;/dev/hdc 是第二通道上的主设备名,等等。末尾的数字表示 硬盘驱动器上的分区。例如,/dev/hda1是指系统中第一硬盘驱动器上的第一个分区,而 /dev/hda 则是指整个硬盘驱动器。
/dev/lp*打印机
/dev/sd*SCSI磁盘。在最近的 Linux 系统中,内核把所有类似于磁盘的设备(包括 PATA/SATA 硬盘, 闪存,和 USB 存储设备,比如说可移动的音乐播放器和数码相机)看作 SCSI 磁盘。 剩下的命名系统类似于上述所描述的旧的/dev/hd*命名方案。
/dev/sr*光盘(CD/DVD 读取器和烧写器)

另外,我们经常看到符号链接比如说/dev/cdrom,/dev/dvd和/dev/floppy,它们指向实际的设备文件,提供了这些链接是为了方便使用,如果你工作的系统不能自动挂载可移动的设备,你可以使用下面的技巧来决定当可移动设备连接后,它是怎样被命名的。首先,启动一个实时查看文件/var/log/messages(你可能需要超级用户权限):
[me@linuxbox ~]$ sudo tail -f /var/log/messages
这个文件的最后几行会被显示,然后停止。下一步,插入这个可移动的设备。在 这个例子里,我们将使用一个16MB 闪存。瞬间,内核就会发现这个设备, 并且探测它:
显示再次停止之后,输入 Ctrl-c,重新得到提示符。输出结果的有趣部分是一再提及“[sdb]”, 这正好符和我们期望的 SCSI 磁盘设备名称。知道这一点后,有两行输出变得颇具启发性:

Jul 23 10:07:59 linuxbox kernel: sdb: sdb1
Jul 23 10:07:59 linuxbox kernel: sd 3:0:0:0: [sdb] Attached SCSI
removable disk

这告诉我们这个设备名称是/dev/sdb 指整个设备,/dev/sdb1是这个设备的第一分区。 正如我们所看到的,使用 Linux 系统充满了有趣的监测工作。

小贴士:使用这个 tail -f /var/log/messages 技巧是一个很不错的方法,可以实时 观察系统的一举一动。

创建新的文件系统

假若我们想要用 Linux 本地文件系统来重新格式化这个闪存驱动器,而不是它现用的 FAT32系统。 这涉及到两个步骤:1.(可选的)若已存在的分区不是我们喜欢的创建一个新的分区布局。2. 在这个闪存上创建一个新的空的文件系统。

用fdisk命令操作分区

这个 fdisk 程序允许我们直接在底层与类似磁盘的设备(比如说硬盘驱动器和闪存驱动器)进行交互。 使用这个工具可以在设备上编辑,删除,和创建分区。以我们的闪存驱动器为例, 首先我们必须卸载它(如果需要的话),然后调用 fdisk 程序,如下所示:

[me@linuxbox ~]$ sudo umount /dev/sdb1
[me@linuxbox ~]$ sudo fdisk /dev/sdb

注意我们必须指定设备名称,就整个设备而言,而不是通过分区号。这个程序启动后,将看到以下提示:

Command (m for help):
#我们想要做的第一件事情是检查已存在的分区布局,输入”p“会打印出这个设备的分区表:
Command (m for help):p

Disk /dev/sdb: 16 MB, 16006656 bytes
1 heads, 31 sectors/track, 1008 cylinders
Units = cylinders of 31 * 512 = 15872 bytes

Device Boot     Start        End     Blocks   Id        System
/dev/sdb1           2       1008      15608+   b       w95 FAT32

在此例中,我们看到一个16MB 的设备只有一个分区(1),此分区占用了可用的1008个柱面中的1006个, 并被标识为 Windows 95 FAT32分区。有些程序会使用这个标志符来限制一些可以对磁盘所做的操作, 但大多数情况下更改这个标志符没有危害。然而,为了叙述方便,我们将会更改它, 以此来表明是个 Linux 分区。在更改之前,首先我们必须找到被用来识别一个 Linux 分区的 ID 号码。 在上面列表中,我们看到 ID 号码“b”被用来指定这个已存在的分区。要查看可用的分区类型列表, 参考之前的程序菜单。我们会看到以下选项:

l   list known partition types

如果我们在提示符下输入“l”,就会显示一个很长的可能类型列表。在它们之中会看到“b”为已存在分区 类型的 ID 号,而“83”是针对 Linux 系统的 ID 号。
回到之前的菜单,看到这个选项来更改分区 ID 号:

t   change a partition's system id

我们先输入“t”,再输入新的 ID 号:

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83
Changed system type of partition 1 to 83 (Linux)

这就完成了我们需要做得所有修改。到目前为止,还没有接触这个设备(所有修改都存储在内存中, 而不是在此物理设备中),所以我们将会把修改过的分区表写入此设备,再退出。为此,我们输入 在提示符下输入”w”:

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
[me@linuxbox ~]$

如果我们已经决定保持设备不变,可在提示符下输入”q”,这将退出程序而没有写更改。我们 可以安全地忽略这些不祥的警告信息。

用mkfs命令创建一个新的文件系统

完成了分区编辑工作(它或许是轻量级的),是时候在我们的闪存驱动器上创建一个新的文件系统了。 为此,我们会使用 mkfs(”make file system”的简写),它能创建各种格式的文件系统。 在此设备上创建一个 ext3文件系统,我们使用”-t” 选项来指定这个”ext3”系统类型,随后是我们要格式化的设备分区名称:

[me@linuxbox ~]$ sudo mkfs -t ext3 /dev/sdb1
mke2fs 1.40.2 (12-Jul-2007)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
3904 inodes, 15608 blocks
780 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=15990784
2 block groups
8192 blocks per group, 8192 fragments per group
1952 inodes per group
Superblock backups stored on blocks:
8193
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[me@linuxbox ~]$

当 ext3被选为文件系统类型时,这个程序会显示许多信息。若把这个设备重新格式化为它最初的 FAT32文件 系统,指定”vfat”作为文件系统类型:

[me@linuxbox ~]$ sudo mkfs -t vfat /dev/sdb1

任何时候添加额外的存储设备到系统中时,都可以使用这个分区和格式化的过程。虽然我们 只以一个小小的闪存驱动器为例,同样的操作可以被应用到内部硬盘和其它可移动的存储设备上 像 USB 硬盘驱动器。

测试和修复文件系统

在之前讨论文件/etc/fstab 时,我们会在每行的末尾看到一些神秘的数字。每次系统启动时, 在挂载系统之前,都会按照惯例检查文件系统的完整性。这个任务由 fsck 程序(是”file system check”的简写)完成。每个 fstab 项中的最后一个数字指定了设备的检查顺序。 在上面的实例中,我们看到首先检查根文件系统,然后是 home 和 boot 文件系统。若最后一个数字 是零则相应设备不会被检查。
除了检查文件系统的完整性之外,fsck 还能修复受损的文件系统,其成功度依赖于损坏的数量。 在类 Unix 的文件系统中,文件恢复的部分被放置于 lost+found 目录里面,位于每个文件 系统的根目录下面。
检查我们的闪存驱动器(首先应该卸载),我们能执行下面的操作:

[me@linuxbox ~]$ sudo fsck /dev/sdb1
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
/dev/sdb1: clean, 11/3904 files, 1661/15608 blocks

以我的经验,文件系统损坏情况相当罕见,除非硬件存在问题,如磁盘驱动器故障。 在大多数系统中,系统启动阶段若探测到文件系统已经损坏了,则会导致系统停止下来, 在系统继续执行之前,会指导你运行 fsck 程序。

格式化软盘

对于那些还在使用配备了软盘驱动器的计算机的用户,我们也能管理这些设备。准备一 张可用的空白软盘要分两个步骤。首先,对这张软盘执行低级格式化,然后创建一个文件系统。 为了完成格式化,我们使用 fdformat 程序,同时指定软盘设备名称(通常为/dev/fd0):

[me@linuxbox ~]$ sudo fdformat /dev/fd0
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
Verifying ... done

接下来,通过 mkfs 命令,给这个软盘创建一个 FAT 文件系统:

[me@linuxbox ~]$ sudo mkfs -t msdos /dev/fd0

注意我们使用这个“msdos”文件系统类型来得到旧(小的)风格的文件分配表。当一个软磁盘 被准备好之后,则可能像其它设备一样挂载它。

直接把数据移入/出设备

虽然我们通常认为计算机中的数据以文件形式来组织数据,也可以“原始的”形式来考虑数据。 如果我们看一下磁盘驱动器,例如, 我们看到它由大量的数据“块”组成,而操作系统却把这些数据块看作目录和文件。然而,如果 把磁盘驱动器简单地看成一个数据块大集合,我们就能执行有用的任务,如克隆设备。
这个 dd 程序能执行此任务。它可以把数据块从一个地方复制到另一个地方。它使用独特的语法(由于历史原因) ,经常它被这样使用:

dd if=input_file of=output_file [bs=block_size [count=blocks]]

比方说我们有两个相同容量的 USB 闪存驱动器,并且要精确地把第一个驱动器(中的内容) 复制给第二个。如果连接两个设备到计算机上,它们各自被分配到设备/dev/sdb 和 /dev/sdc 上,这样我们就能通过下面的命令把第一个驱动器中的所有数据复制到第二个 驱动器中。

dd if=/dev/sdb of=/dev/sdc

或者,如果只有第一个驱动器被连接到计算机上,我们可以把它的内容复制到一个普通文件中供 以后恢复或复制数据:

dd if=/dev/sdb of=flash_drive.img

警告!这个 dd 命令非常强大。虽然它的名字来自于“数据定义”,有时候也把它叫做“清除磁盘” 因为用户经常会误输入 if 或 of 的规范。

创建CD-ROM映像

  1. 创建一个CD-ROM的映像拷贝

如果想要制作一张现有 CD-ROM 的 iso 映像,我们可以使用 dd 命令来读取 CD-ROM 中的所有数据块, 并把它们复制到本地文件中。比如说我们有一张 Ubuntu CD,用它来制作一个 iso 文件,以后我们可以用它来制作更多的拷贝。插入这张 CD 之后,确定 它的设备名称(假定是/dev/cdrom),然后像这样来制作 iso 文件:

dd if=/dev/cdrom of=ubuntu.iso

这项技术也适用于 DVD 光盘,但是不能用于音频 CD,因为它们不使用文件系统来存储数据。 对于音频 CD,看一下 cdrdao 命令。

  1. 从文件集合中创建一个映像

创建一个包含目录内容的 iso 映像文件,我们使用 genisoimage 程序。为此,我们首先创建 一个目录,这个目录中包含了要包括到此映像中的所有文件,然后执行这个 genisoimage 命令 来创建映像文件。例如,如果我们已经创建一个叫做~/cd-rom-files 的目录,然后用文件 填充此目录,再通过下面的命令来创建一个叫做 cd-rom.iso 映像文件:

genisoimage -o cd-rom.iso -R -J ~/cd-rom-files

“-R”选项添加元数据为 Rock Ridge 扩展,这允许使用长文件名和 POSIX 风格的文件权限。 同样地,这个”-J”选项使 Joliet 扩展生效,这样 Windows 中就支持长文件名了。

写入CD-ROM镜像

有了一个映像文件之后,我们可以把它烧写到光盘中。下面讨论的大多数命令对可 记录的 CD-ROW 和 DVD 媒介都适用。

  1. 直接挂在一个ISO镜像

有一个诀窍,我们可以用它来挂载 iso 映像文件,虽然此文件仍然在我们的硬盘中,但我们 当作它已经在光盘中了。添加 “-o loop” 选项来挂载(同时带有必需的 “-t iso9660” 文件系统类型), 挂载这个映像文件就好像它是一台设备,把它连接到文件系统树上:

mkdir /mnt/iso_image
mount -t iso9660 -o loop image.iso /mnt/iso_image

上面的示例中,我们创建了一个挂载点叫做/mnt/iso_image,然后把此映像文件 image.iso 挂载到挂载点上。映像文件被挂载之后,可以把它当作,就好像它是一张 真正的 CD-ROM 或者 DVD。当不再需要此映像文件后,记得卸载它。

  1. 清除一张可重写入的CD-ROM

可重写入的 CD-RW 媒介在被重使用之前需要擦除或清空。为此,我们可以用 wodim 命令,指定 设备名称和清空的类型。此 wodim 程序提供了几种清空类型。最小(且最快)的是 “fast” 类型:

wodim dev=/dev/cdrw blank=fast
  1. 写入镜像

写入一个映像文件,我们再次使用 wodim 命令,指定光盘设备名称和映像文件名:

wodim dev=/dev/cdrw image.iso

除了设备名称和映像文件之外,wodim 命令还支持非常多的选项。常见的两个选项是,”-v” 可详细输出, 和 “-dao” 以 disk-at-once 模式写入光盘。如果你正在准备一张光盘为的是商业复制,那么应该使用这种模式。 wodim 命令的默认模式是 track-at-once,这对于录制音乐很有用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值