Linux使用经验点滴

Linux的用户有100个兴许就有100个习惯,100×N个经验谈,此处的点滴tips也是自己的备忘录。
Linux用户的多样性很像生物的多样性,能生存下来的就是合理的和正确的。


- Linux下的烧录
mkisofs和cdrecord
用mkisofs制作iso光盘镜像文件,用cdrecord刻录。
$ mkisofs -o test.iso -Jrv -V test_disk /home/carla/


在上面的示例中:
* -o 为新的 .iso 映像文件命名(test.iso)
* -J 为了与 Windows 兼容而使用 Joliet 命名记录
* -r 为了与 UNIX/Linux 兼容而使用 Rock Ridge 命名约定,它使所有文件都公共可读
* -v 设置详细模式,以便在创建映像时获得运行注释
* -V 提供了卷标识(test_disk);该标识就是出现在 Windows 资源管理器中的盘名
* 列表中的最后一项是选择要打包到 .iso 中的文件(都在 /home/carla/ 中)
将映像写到盘中再简单不过了。首先,找到 CD-R/RW 的 SCSI 地址:
$ cdrecord -scanbus


Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jrg Schilling
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.5'
scsibus0:
0,0,0 0) 'TOSHIBA ' 'DVD-ROM SD-M1202' '1020' Removable CD-ROM
0,1,0 1) 'LITE-ON ' 'LTR-24102B ' '5S54' Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *



一项的前三个数字分别指 SCSI 总线、设备标识和 LUN(逻辑单元号,Logical Unit
Number)。(第四个数字也是设备标识。)cdrecord 需要这三个数字。在上面的示例中,CD 刻录机是 0,1,0。SCSI 总线 0
上的设备都可以缩写为 1,0,即省去头一个 0。这是一个公共约定。如果有其它总线的话,则必须指定 — 没有快捷方式。


现在向盘中写内容:
$ cdrecord -v -eject speed=8 dev=0,1,0 test.iso


在上面的示例中:

* -v 指详细方式
* -eject 在完成写任务后弹出盘
* -speed 指定写速度(8)
* -dev 是从 cdrecord -scanbus 获得的设备号(0,1,0)
* 最后一个是所烧录的映像的名称(test.iso)



于创建用于公用分发的盘,这是一种简单且可用的方法,因为它创建了可以在任何 Windows 或 Linux 系统上读取的盘。mkisofs
本身就非常适合于创建供下载的 .iso,而且 mkisofs 可以为许多平台创建文件系统。请参阅 mkisofs 联机帮助页以获取更多信息。


在一台运行速度极快且内存很大的机器上,您可以在刻录期间从容地处理非 CPU 密集型任务,但是在烧录盘期间最好别做别的事情。激光器不能先停下来,然后从停下来的地方重新开始,所以任何中断都是致命的。

cdrecord
将试图以最快速度运行刻录机,因此不必指定速度,但是,应该根据经验来判断如何做。指定较慢的速度对于纠正错误和缓冲区欠载运行很有用。采用“burn-
proof”技术的新型驱动器(开发这项技术的初衷与它现在的名字正好相反;同样,谁取的这些名称呢?)不会有老式驱动器那样的缓冲区欠载运行烦恼。


复制盘
要直接将内容从源盘复制到可刻录盘,请使用下面的命令:
$ cdrecord -v dev=0,1,0 speed=4 -isosize /dev/scd0


这条命令直接将 CD-ROM 即 /dev/scd0 的内容“流”入 CD 刻录机 dev=0,1,0。不要在速度慢的旧机器上这么做。直接复制速度很快,但却更容易出错。更好的做法是:先将源盘的内容复制到硬盘驱动器,再从硬盘驱动器复制到 CD 刻录机:
$ mount /cdrom
$ dd if=/dev/scd0 of=/tmp/diskfile.iso
$ cdrecord dev=0,1,0 speed=8 fs=8m -v -eject -dummy /tmp/diskfile.iso



注意两个新选项 fs=8m 和 -dummy。fs=8m
定义了环形缓冲区的大小:在一定程度上,越大越好。记住,中断是致命的;如果什么东西让数据传送慢下来了,那么 fs=8m
将创建一个足够大的缓冲区来让刻录机保持运行。如果 8 MB 还不够,那么您可能需要一台更好的 PC。另一方面,超过 8 MB
也不一定更好,因为操作系统重新装入 MMU(内存管理单元,Memory Management Unit)表时会浪费时间。缺省值是 4 MB。


-dummy 是一个了不起的选项,可以用它来先进行一次“排练”,然后在实际的盘上冒险。刻录机执行一切操作,但是不打开激光头,这使用户有机会在将内容提交到盘上之前捕获错误。

多段刻录
CD
由段构建而成,而段由磁道构成。只有一个段的盘上有一个导入点、一个 TOC(目录,table of
content)、数据和一个导出点,导出点标记着这张盘的终点,并阻止在这张盘上进行进一步的刻录。mkisofs 将单独段链接在一起。用 GUI
程序(如 X-CD-Roast 或 KonCD)创建多段刻录盘可能要更容易一些,但这里演示的是如何用命令行工具完成这一任务。


第一次在盘上刻录一个段时,请在 cdrecord 中使用 -multi 开关:
$ cdrecord -v -eject speed=8 dev=0,1,0 -multi test.iso


盘将会以某种方式被固定下来,使得盘可读,也可以添加更多数据。要向这张盘中添加更多段,mkisofs 需要知道起始扇区号和结束扇区号,可以象下面这样来找到这些号码:
$ cdrecord dev=0,1,0 -msinfo
0,27139


确保把要添加数据的盘放入了 CD 刻录机。然后,添加两个新开关 -C 和 -M:
$ mkisofs -o test2.iso -Jr -V Session2 -C 0,27139 -M 0,1,0 /files/path/


或者更好的办法是,让命令 shell 完成这项工作:
$ mkisofs -o test2.iso -Jr -V Session2 -C `cdrecord dev=0,1,0 -msinfo` -M 0,1,0 /files/path/


多段刻录 CD 驱动器读取已写入的最后一个段。上面的命令从最后一个段获取 TOC,然后将它组合进新 TOC 中。在刻录盘上的最后一个段时,请省略 -multi 选项。

- RAR包解压缩!
安装rarlinux包,可以从这里下载。
解压缩并以root用户权限执行
make install
安装完成!可以用
unrar x packag.rar
来解压。


- 我的Linux全面起用Unicode编码,问题良多
所有问题正在解决中,
1. 原来GBK encoding的就文件转换还是沿用?
这个问题通过一个叫zhcode的编码转换工具很容易解决。


2. 所有工具的多码处理需要码?
……
Unicode术语定义:
ISO 10646 - 通用字符集(UCS);
UTF-8 兼容现有系统(ASCII)的Unicode编码支持,不定长编码;
BMP 基本多语言面,UCS定义的前16位字符集;


Fedora Core 2加自定义的内核,运行良好,大部分软件使用UTF8编码。

问题:Unicode中文字体太少,特别是没有免费的?
添加了cyberbit Unicode字体到texmf-local的体系当中,
这下不但可以用
[GBK][song]
还可以用[UTF8][song]了!


- Linux的中文输入法?不知何从
到现在为止,最新的输入法框架iiimf还没有成熟,没有时间去测试,所以暂时卸载不用;
我最喜欢的输入法是fcitx,小企鹅输入法,轻巧实用;
据说suzhe的SCIM十分不错,出于习惯,一直没时间一试,有机会要用用的!
还有的输入法就不是很清楚了!

Comments

Popular posts from this blog

Freeware Software Top 300 from winAddons.Com!

What is DevOPS?

RPM Build Tips!