Monthly Archives: February 2005

mrxvt中文化配置

mrxvt是一款支持多字节字符集,并且带有tab-control的term.mrxvt基于rxvt,运行速度非常快,比konsole快了许多,并且在RH9下,显示中文的时候不会出现错位以及字符残留在屏幕上的问题,非常好用.但是在使用前,需要进行一下简要的配置.mrxvt的配置文件为:~/.mrxvtrc.
以下是我的配置内容,可以正常显示中文,并且去掉了默认状态下VI工作不正常的问题.

********************************************************
mrxvt*termName:          xterm   
mrxvt*mfont:              hanzigb16st
mrxvt*xftmfont:           simsun
mrxvt*font":          -misc-simhei-medium-r-normal–0-0-0-0-c-0-gb2312.1980-0
mrxvt*xftSize:            14
mrxvt*multichar_encoding: GB
mrxvt*inputMethod:        fcitx
mrxvt*vt0*Pixmap:      /usr/share/wallpapers/Paper01.jpg

mrxvt*vt1*Pixmap:      /usr/share/wallpapers/Paper01.jpg

mrxvt*vt2*Pixmap:      /usr/share/wallpapers/Paper01.jpg

mrxvt*vt3*Pixmap:      /usr/share/wallpapers/Paper01.jpg

mrxvt*scrollTtyOutputInhibit:     True
mrxvt*scrollWithBuffer:           True

*********************************************************

用“vga=xxx”指定终端的显示模式

 FrameBuffer,可以译作“帧缓冲”,有时简称为
fbdrv,基于fbdrv的console也被称之为fbcon。这是一种独立于硬件的抽象图形设备。FrameBuffer的优点在于其高度的可移植
性、易使用性、稳定性。使用Linux内核的
FrameBuffer驱动(vesafb),可以轻松支持到1024X768X32bpp以上的分辩率。而且目前可得到的绝大多数linux版本所发行
的内核中,已经预编译了FrameBuffer支持,通常不需要重新编译内核就可以使用。所以FrameBuffer也是zhcon推荐使用的驱动方式。

进入FrameBuffer可以简单地在系统启动时向kernel传送vga=mode-number的参数来激活FrameBuffer设备,如:
lilo:linux vga=305
将会启动1024x768x8bpp模式。

640×480 800×600 1024×768 1280×1024
8 bpp 769 771 773 775
16 bpp 785 788 791 794
32 bpp 786 789 792 795


要使linux缺省进入FrameBuffer,可以修改/etc/lilo.conf,加入一下语句:
vga=0x303

退出编辑,执行:
lilo -v

重新启动linux,可以使其进入800×600的256色模式。

grub也是一样,在grub.conf中的kernel行后面写上vga=xxx就行了,也可以用vga=ask,让系统启动的时候询问你用多大的分辨率

为redhat增加apt软件包管理工具

 

前言

你使用什么方法在管理你的 RPM,从光盘片安装,从网络下载安装、还是使用 Red Hat 的 up2date(Red Hat Network)在维护,这些都是解决问题的方法,可是你可以有更好的选择 — APT

一、 简介
redhat采用了RPM软件包管理系统,RPM软件包管理系统具有强大的编译安装功能,但是由于历史原因,RPM软件包管理系统对软件之间的依存关系没有内部定义,造成安装RPM软件时经常出现令人无法理解的软件依赖问题。
debian
系统则基于apt(Advanced Packaging Tool)工具进行软件包管理,可以自动解决并安装倚赖软件包,因此debian
linux被认为是最容易管理和升级的系统,apt工具也被认为是目前最好的软件包管理工具之一。为了解决redhat包管理系统的致命问题,
Conectiva
Linux将apt系统移植到了使用rpm软件包管理系统的Linux系统下,使得基于RPM软件包的系统可以利用apt工具提供的自动解决倚赖关系的能
力。目前已经有很多为redhat linux提供apt方式升级管理软件包的站点,如http://freshrpms.net ,
http://apt.unl.edu等等,使得redhat也成为可以利用apt工具的发行版之一,本文介绍如何在redhat
linux系统安装和使用apt软件包管理工具。
为了对apt工具的特性有一个大致的了解,下面先介绍几个使用apt with rpm管理系统的实例:
(1)删除一个软件包时自动删除相关软件包:
[root@linux root]# apt-get remove nessus-common

2)自动下载安装依赖包:
[root@linux root]# apt-get install nessus-server

(3)维护系统软件,自动更新系统 :
[root@linux root]# apt-get upgrade


二、APT 简易运作原理

我们的机器安装了 APT 套件之后就成了 APT 的使用者端,当我们在安装、升级 RPM 的时候,事实上,都是透过网络连到远程的 APT 服务器去下载 RPM 回来安装的,APT 服务器我们是可以自己指定的,而 APT 使用者端也可以同时成为 APT 服务器(在第二节我们会讲到 APT 服务器的架设)

apt-get update 指令会同步使用者端和 APT 服务器的 RPM 索引清单(package list),APT 服务器的 RPM 索引清单置于 base 资料夹内(base 数据夹是由 genbasedir 指令所产生),使用者端计算机取得 base 资料夹内的 bz2 RPM 索引清单压缩文件后,会将其解压置放于 /var/state/apt/lists/,而使用者使用 apt-get install apt-get dist-upgrade 指令的时候,就会将这个资料夹内的资料和使用者端计算机内的 RPM 数据库比对,如此一来就可以知道那些 RPM 已安装、未安装、或是可以升级的,所以一旦 APT 服务器内的 RPM 有所更动,一定要记得使用 genbasedir 指令产生新的RPM索引清单。

三、安装apt with rpm及其图形界面前端Synaptic
下面简单介绍一下如何下载和安装apt with rpm
apt with rpm可以直接到 [url]http://freshrpms.net[/url] 下载安装,目前该站点提供了redhat 6.2, 7.x和8.0的软件升级服务,下面是几个常用redhat版本的apt下载地址:
redhat 6.2
http://ftp.freshrpms.net/pub/freshrpms/redhat/6.2/apt/apt-0.5.4cnc7-fr0.62.1.i386.rpm
redhat 7.2
http://ftp.freshrpms.net/pub/freshrpms/redhat/7.2/apt/apt-0.3.19cnc55-fr7.i386.rpm
redhat 7.3
http://ftp.freshrpms.net/pub/freshrpms/redhat/7.3/apt/apt-0.5.4cnc9-fr0.1.rh73.i386.rpm
redhat 8.0
http://ftp.freshrpms.net/pub/freshrpms/redhat/8.0/apt/apt-0.5.4cnc9-fr1.i386.rpm

redhat 9.0

http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm
下载后使用rpm命令安装:

[root@linux root]# rpm -ihv apt-0.5.4cnc9-fr1.i386.rpm
freshrpms.net同时提供了一个图形界面的apt-rpm接口Synaptic,使用图形界面的apt更加方便,安装了apt后,可以直接利用apt安装Synaptic:
[root@linux root]# apt-get update
[root@linux root]# apt-get install synaptic
在几行提示之后Synaptic就安装好了,进入Xwindow,Synaptic会出现在“系统设置”菜单里面。[Fixme: redhat 7.x版本Synaptic出现在哪里?]

三、使用apt
在redhat上面使用apt和在debian下面使用几乎完全一样,配置文件在/etc/apt/,按照前面介绍安装好apt之后就可以使用并可以更新redhat提供的RPM更新以及freshrpms.net提供的更新了。主要运行命令如下:
(1)更新软件列表,获取远程rpm服务器上的软件列表和相互依赖关系列表,所有可用软件的下载地址都在/etc/apt/sources.list里面定义,下面的多数下载操作地址也是在这里定义的。
[root@linux root]# apt-get update
(2)检查本地软件依赖关系合法性,由于rpm系统的问题,很多系统会存在一些依赖问题,用下面命令检查依赖关系,同时apt-get会提供一些修复方案,只有本机没有依赖关系问题了才能良好地使用apt-rpm。一个新安装的干净系统不会有依赖关系问题。
[root@linux root]# apt-get check
(3)安装或升级一个新软件
[root@linux root]# apt-get install package-name
package-name是rpm包的名字的前面部分,不包含版本号,如果选择不同的处理器类型,可以在后面添加@i686等标识。
(4)升级所有系统软件
[root@linux root]# apt-get upgrade
(5)全面升级,比upgrade更加智能化的升级,同时解决升级时的一些依赖关系
[root@linux root]# apt-get dist-upgrade
(6)卸载软件,同时卸载依赖软件
[root@linux root]# apt-get remove package-name
(7)清除本地下载的rpm包,rpm包下载后保存在/var/cache/apt/archieves下面,本命令清除已下载安装过的rpm文件
[root@linux root]# apt-get clean
以上所有命令都可以通过图形界面的前端软件Synaptic完成,图形化的软件使用起来更加直观,理解了前面几个主要命令,就可以毫无困难地使用Synaptic了,所以本文不再赘述Synaptic的使用方法了。

四 定制apt-rpm

(1)添加软件资源列表
在apt-rpm系统里面添加软件资源非常容易,只需要按照提供apt服务的服务器的说明在/etc/apt/sources.list里面加入对网站的描述即可。
这一行参数的格式为:
rpm uri distribution [component1] [componenent2] […]

中,uri为软件资源的地址,可以是http,ftp,file等URL地址,distribution是redhat发行版本,如
7.2,7.3,8.0等等,后面的component可以忽略。有时候可能只对某软件资源的一或几部分部分感兴趣,那么可以在这里明确指出。
例如添加http://apt.unl.edu/ 提供的redhat KDE 3.1的测试软件包,只需要在sources.list里面添加一行:
rpm ftp://apt.unl.edu/apt/ 8.0 kde3-test
就将该网站的kde3部分加入了列表。

面是一些目前可以用于redhat 的apt-rpm软件资源列表,把它们加入你的 /etc/apt/sources.list
文件就可以通过apt-rpm使用他们提供的redhat软件更新和维护了,参看网站说明。(前面是网站名,后面是适用redhat版本和简介)
http://apt.freshrpms.net/  – Red Hat Linux 6.2, 7.x 、8.0and 9.0 repositories (with all freshrpms included of course!)
http://www.linux.cz/apt-rpm/  – Red Hat Linux 7.x repositories (with all freshrpms included too!)
http://apt-rpm.tuxfamily.org/ – Red Hat Linux 6.2, 7.x 、8.0and 9.0  repositories
http://apt.nlc.no/apt/ – Red Hat Linux 6.2, 7.x and Rawhide repositories
http://ftp.uninett.no/pub/linux/apt/ – Red Hat Linux 6.2, 7.x、8.0and 9.0  and Rawhide repositories
http://redhat.usu.edu/ – Red Hat Linux 7.2, 7.3 and 8.0 repositories
ftp://mirror.pa.msu.edu/apt/ – Red Hat Linux 7.2, 7.3 and 8.0 repositories
http://apt-rpm.codefactory.se/ – Red Hat Linux 7.2, 7.3 and 8.0 and gnomehide repositories
http://apt.42h.de/ – Red Hat Linux 7.2, 7.3 and 8.0 repositories
http://apt.toggletext.com.au/ – A few Red Hat Linux 7.2 custom packages
http://people.ecsc.co.uk/~matt/repository.html – Lots of custom Red Hat Linux 8.0 GNOME 2 and related packages
http://ftp-stud.fht-esslingen.de/apt/ – Red Hat Linux 7.x, 8.x and rawhide
http://apt.unl.edu/ – Red Hat Linux 7.3 and 8.0
http://kde-redhat.sourceforge.net/ – KDE for Red Hat project


(2)把redhat安装盘添加到软件源
有的时候需要从redhat安装光盘或者iso文件安装、卸载软件,这时可以把redhat安装光盘设置为软件源。这种工作方式需要首先扫面安装光盘上的软件包,并在 /var/lib/apt/cdroms.list文件中建立光盘软件列表。
如果使用redhat光盘,只需要把光盘插入光驱,下面命令会自动mount光盘并建立列表
[root@linux root]# apt-cdrom add
如果是使用ISO文件安装,首先mount ISO文件到mount-point,把mount point输入,就可以自动搜索RPM软件列表了。
[root@linux root]# apt-cdrom -m -d mount-point add
如果是解开的硬盘映像安装,只需要把路径输入,就可以自动搜索RPM软件列表了。
[root@linux root]# apt-cdrom -m -d path add

五、 架设简易 APT 服务器 (这里只讲解Redhat 9)

注意:在进行下面操作前请先确认自己的 apache 已经在正常运做,且 /var 至少还有 2G 的空间

1.为什么要架设 APT 服务器

当我们安装 freshrpms apt,安装、升级都是透过网络联机到 freshrpms 下载档案。若只维护一台服务器,还好,可是若有十台服务器,就需要花原本十倍的时间和频宽来做同样的事情,再加上若连外(美国)的频宽不充裕,这要如何是好,所以当有多台服务器要维护的时候,架设一台 APT 服务器,似乎是不错的选择。

2.安装 apt:

http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt/

请安装这网站内最新的 apt

线上安装:rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt/apt-0.5.5cnc5-fr2.i386.rpm

3.建置放置 Red Hat Linux 9 相关 rpm 的资料夹

mkdir -p /var/www/html/redhat/9
mkdir /var/www/html/redhat/9/RPMS.os
mkdir /var/www/html/redhat/9/RPMS.updates

4.将整个 Red Hat Linux 9 的 binary rpm 复制到 /var/www/html/redhat/9/RPMS.os 资料夹

(底下提供三种方法,请依自己状况挑选一种方法执行)

方法一:从光盘片复制(当手上有 Red Hat Linux 9 光盘片的时候可以用这个方法)

mount /mnt/cdrom
cp -f /mnt/cdrom/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/cdrom

依照上面方法,复制第二片、第三片光盘片内的 rpm


方法二:从 iso 文件复制(当计算机内有 Red Hat Linux 9 iso 档的时候可以用这个方法用)

mkdir /mnt/iso

mount -o loop shrike-i386-disc1.iso /mnt/iso
cp /mnt/iso/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/iso

mount -o loop shrike-i386-disc2.iso /mnt/iso
cp -f /mnt/iso/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/iso

mount -o loop shrike-i386-disc3.iso /mnt/iso
cp -f /mnt/iso/RedHat/RPMS/* /var/www/html/redhat/9/RPMS.os/
umount /mnt/iso

5.将 Red Hat Linux 9 updates 的 rpm 复制到 /var/www/html/redhat/9/RPMS.updates 资料夹

cd /var/www/html/redhat/9/RPMS.updates
wget ftp://linux.sinica.edu.tw/pub1/redhat/updates/9/en/os/i386/*

(若网络频宽不高,会花很久时间,请耐心等候)

6.使用 genbasedir 指令产生 base 数据夹和 rpm 索引清单

genbasedir –flat –bloat –bz2only /var/www/html/redhat/9 os updates

执行过程:(过程会有点久,请耐心等候)

Creating base directory… done
Components: os updates

我的sources.list资源(for RedHat 9).
# List of available apt repositories available from ayo.freshrpms.net.
# This file should contain an uncommented default suitable for your system.
#
# See http://ayo.freshrpms.net/ for a list of other repositories and mirrors.
#
# $Id: sources.list,v 1.8 2003/04/16 09:59:58 dude Exp $

# Red Hat Linux 9
rpm http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms

# Red Hat Linux 8.0
#rpm http://ayo.freshrpms.net redhat/8.0/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/8.0/i386 os updates freshrpms

# Red Hat Linux 7.3
#rpm http://ayo.freshrpms.net redhat/7.3/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/7.3/i386 os updates freshrpms

# Red Hat Linux 7.2
#rpm http://ayo.freshrpms.net redhat/7.2/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/7.2/i386 os updates freshrpms

#The follow lines add by manual.

# http://atrpms.physik.fu-berlin.de/
rpm http://apt.physik.fu-berlin.de/ redhat/9/en/i386 at-stable at-good at-testing at-bleeding
rpm-src http://apt.physik.fu-berlin.de/ redhat/9/en/i386 at-stable at-good at-testing at-bleeding
# http://dag.wieers.com/
rpm http://apt.sw.be/ redhat/9/en/i386 dag
rpm-src http://apt.sw.be/ redhat/9/en/i386 dag
# http://www.fedora.us/
rpm http://download.fedora.us/fedora/ redhat/9/i386 os updates stable unstable testing
rpm-src http://download.fedora.us/fedora/ redhat/9/i386 os updates stable unstable testing
# http://newrpms.sunsite.dk/
rpm http://newrpms.sunsite.dk/apt/ redhat/en/i386/9.0 newrpms
rpm-src http://newrpms.sunsite.dk/apt/ redhat/en/i386/9.0 newrpms

##############################################################
rpm http://ftp-stud.fht-esslingen.de/apt redhat/9/i386 os updates
rpm-src http://ftp-stud.fht-esslingen.de/apt redhat/9/i386 os updates

# Red Hat Linux 7.1
#rpm http://ayo.freshrpms.net redhat/7.1/i386 os updates freshrpms
#rpm http://ayo.freshrpms.net redhat/7.1/i386 powertools dma
#rpm-src http://ayo.freshrpms.net redhat/7.1/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/7.1/i386 powertools dma

# Red Hat Linux 7.0
#rpm http://ayo.freshrpms.net redhat/7.0/i386 os updates freshrpms
#rpm http://ayo.freshrpms.net redhat/7.0/i386 powertools dma
#rpm-src http://ayo.freshrpms.net redhat/7.0/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/7.0/i386 powertools dma

# Red Hat Linux 6.2
#rpm http://ayo.freshrpms.net redhat/6.2/i386 os updates freshrpms
#rpm http://ayo.freshrpms.net redhat/6.2/i386 powertools
#rpm-src http://ayo.freshrpms.net redhat/6.2/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/6.2/i386 powertools


RPM 的使用

RPM简述



RPM是Redhat Package Manager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上

的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。



RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用RPM删

除程序时,它又会聪明地询问用户是否要删除有关的程序。如果使用RPM来升级软件,RPM会保留原先的配置

文件,这样用户就不用重新配置新的软件了。RPM保留一个数据库,这个数据库中包含了所有的软件包的资料,

通过这个数据库,用户可以进行软件包的查询。RPM虽然是为Linux而设计的,但是它已经移值到SunOS、

Solaris、AIX、Irix等其它UNIX系统上了。RPM遵循GPL版权协议,用户可以在符合GPL协议的条件下自由

使用及传播RPM。





使用RPM



RPM共有10种基本的模式:它们是安装、查询、验证、删除等。



安装模式:      rpm ?i [安装选项]  <软件包>

查询模式:      rpm ?q [查询选项]

验证模式:      rpm ?V 或 ?verify [验证选项]

删除模式:      rpm ?e  <软件包>

 



使用RPM的一般选项

一般选项可以用于所有的模式。

-v                 显示信息

-h                 用“#”显示完成的进度

–keep-temps        保留临时文件,临时文件通常位于/tmp/rpm-*,这个选项要用于debug。

–quiet             安静工作,只有当出现错误时才给出提示信息

–help              显示帮助

–version            显示当前使用的RPM版本



安装和升级的选项

使用RPM来安装的一般格式为:     rpm ?i  [安装选项] <软件包>

使用RPM来升级的一般格式为:     rpm ?U  [安装选项] <软件包>



比如,要安装一个新的软件包,它的名字为xosvies-1.6.3-5.i386.rpm,使用下面的命令就可以把它安装到系统上:

# rpm  -i xosvies-1.6.3-5.i386.rpm



升级同安装是一样的,只不过升级会把原来低版本的文件删除掉。RPM可以使用FTP安装,这时要指定FTP的完整

路径。使用FTP方式安装时,RPM会先下载所需的软件包,然后再安装。



–force

同–replacepkgs,–replacefiles,–oldpackage一样,当安装的软件版本已经安装在系统上,或者是系统

上现有的版本比要安装的版本高,系统就会发出警告。这时,用户如果坚持安装的话,可以用–force选项。



–nodeps

使用RPM安装前,RPM会检查该软件包的依赖关系,即正确运行该软件包所需的其它软件包是否已经安装。如果没有

安装的话,系统会给出警告。这时,用户如果要强行安装的话,可以使用这个选项。但是作者并不推荐这种做法,

因为这样安装的软件十有八九是不能运行的。



–test

不实际安装,只是检查并显示可能存在的冲突。



查询选项



查询的命令格式如下:  rpm ?q  [查询选项]



这里的选项包括两大类:软件包选项和信息选项。



软件包选项:



<软件包名字>



查询系统上是否已经安装这个软件包,软件包的名字是<软件包名字>



        -a       查询所有安装的软件包



        –whatrequires  <功能>



           查询所有需要<功能>才能正常运行的软件包。



        –whatprovides <功能>



         查询所有能提供<功能>的软件包



        -f <文件>



         查询拥有<文件>的软件包,也就是说,是哪一个软件包安装的<文件>。



        –requiredby <软件包>



         查询所有安装<软件包>所需要的其它软件包。



         -p <软件包名字>



         查询未安装的软件包<软件包名字>。这个软件包可以指定为FTP路径,这时,RPM会下载它的头部信息并查询。



信息选项

-i  显示软件包的信息,包括名称、版本、描述信息。

-R  显示这个软件包所依赖的软件包。 同–requires。

–provides  显示这个软件包所提供的功能

-l  列出这个软件包内所包含的文件。

-s  显示这个软件包的状态,状态是指“normal”“not installed”“replaced”



验证选项

验证的一般格式为:   rpm ?V|–verify [验证选项]

验证会把软件包所安装的软件与原先数据库中存储的软件信息做一个比较。用户可以用RPM来验证已经安装的软件包,

RPM可以验证文件的大小,MD5校验码,文件权限,类型,属主等信息。对于特定软件的选项同查询的选项。



验证输出的格式是一个包括8个字符的字符串,这8个字符中每个字符都代表同数据库中信息所比较的结果。如是结果

是“.”,就代表没有问题。下面是相应字符的意义:



5          MD5校验错
D          设备文件错

U          用户名错
G          组名错

S          文件大小错
L          符号链接错

T          文件修改时间错
M          属性错(包括读写权限和文件类型)



删除选项

删除的一般格式为:  rpm ?e  <软件名>

注意:这里只能是软件名,而不是软件包。



–allmatches

删除<软件包>所指定的所有版本的软件,如果有多个版本存在的话,一般会给出错误码信息。



–nodeps

如果要删除的软件包是别的软件所必需的,在删除时用户会得到警告。这时,如果确认要强行删除,可以使用

–nodeps这个选项。这样一来,相关的软件就不能运行了。



–test   不真正删除,只是测试。



 



RPM使用范例



软件安装



如果用户手头上有一个RPM软件包,可以使用命令:



# rpm ?ivh xanim-27064-3.i386.rpm



安装时出现的错误信息



1.该软件包已经安装



假如用户安装的软件包已经安装,再安装的话会出现下列的错误信息:

# rpm ?ivh   xanim-27064-3.i386.rpm



foo package xanim-27064-3.i386.rpm is already installed



error: xanim-27064-3.i386.rpm cannot be installed



如果用户一定要安装,可以使用:

# rpm ?ivh   xanim-27064-3.i386.rpm  –force



2.软件包之间有冲突



假如用户要安装的软件包里的某些文件,先前已经有其它的软件包安装过,即各种软件包之间有冲突,则会

出现以下的错误信息:

# rpm ?ihv foo-1.0-1.i386.rpm



foo /usr/bin/foo confilicts with file from bar-1.0-1



error: foo-1.0-1.i386.rpm cannot be installed



3.缺少相关的文件



有时安装的RPM软件包需要其它的部件才能安装成功。这时安装时有下面的错误信息:

# rpm ?ihv bar-1.0-1.i386.rpm



failed dependencies: foo is needed by bar-1.0-1



如果用户要强行安装,可以使用命令:

# rpm ?ivh bar-1.0-1.i386.rpm –nodeps



删除软件



要删除软件非常简单,只要执行下面的命令就行:

# rpm ?e xanim



这时,用户要注意使用的是软件的名称xanim,而不是软件包的名称xanim-27.64-3.i386.rpm。



如果要删除的软件是其它软件所需要的,用户会得到类似下面的错误信息:

# rpm ?e xanim



error: xanim is needed by mtv-1.0-1



这表明如果用户删除了xanim,则mtv就不能运行了,因为xanim里的一些软件是mtv运行所需要的。

若用户一定要删除,可以使用下面的命令:

# rpm ?e xanim  –nodeps



升级软件



如果用户以前安装过xanim-27063-1.i386.rpm,现在又得到了xanim-27064-1.i386.rpm,则使用下面

的命令可以升级这个软件包:

# rpm ?Uhv  xanim-27064-1.i386.rpm



实际上,-U参数是告诉RPM先删除原先的版本,再安装新的版本。所以不管以前是否安装过这个软件包,用户

都可以使用rpm ?Uhv命令来安装软件。 



查询软件包



如果用户想要查询某个软件是属于哪个软件包安装的,可以使用命令:

# rpm ?qf xanim



xanim-27.64-3



如果用户得到一个软件包,却不知道它里面有哪些内容,可以使用命令:

# rpm ?qpi xanim-27064-3.i386.rpm



如果用户想知道它会在系统上安装哪些内容,可以使用命令:

# rpm ?qpl xanim-27064-3.i386.rpm



如果用户在Internet上遇到一个软件包,想要知道它里边的内容时,可以使用命令:

# rpm ?qpl ftp://ftp.redhat.com/redhat/RPMS/xanim-27064-3.i386.rom



 



较验



如果用户不小心删除了几个文件,却又不知道到底删除了哪些文件,可以使用下面的命令对系统进行校验:

# rpm ?Va



 



i386.rpm与src.rpm的不同



在Internet上,用户经常会看到这样的目录:RPMS/和SRPMS/。目录RPMS/下面存放的就是一般的RPM软件包,

这些软件包是由软件的原代码编译成可执行文件,再包装成RPM软件包的。而SRPMS/目录下存放的都是以

.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:



# rpm –recompile vim-4.6-4.src.rpm

这个命令会把源代码解包并编译、安装它,如果用户使用命令:



# rpm –rebuild vim-4.6-4.src.rpm

那么,在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。



 



GnoRPM的使用



GnoRPM是GNU组织开发的RPM软件包管理程序,它是RPM程序的前端程序,是在X Window下运行的图形化的

RPM管理程序。只要用户熟悉了RPM的使用,那么也就会使用GnoRPM了,不过GnoRPM比RPM程序更好用!



GnoRPM的安装



BluePoint Linux和TurboLinux内没有安装GnoRPM,红旗Linux与RedHat Linux内自动安装的就有。

对于前两种用户要自己安装。在http://www.gnome.org下载gnorpm-0.8-5.i386.rpm。注意GnoRPM需要

rpm 3.0版本,如果是rpm 2.5 版本的话(TurboLinux 4.0是rpm 2.5),要先升级到3.0,BluePiont 

Linux里的rpm就是3.0版本,用户可以直接安装。



# rpm ?ihv gnorpm-0.8-5.i386.rpm



然后,在shell提示符下输入gnorpm 就能运行gnorpm。



GnoRPM的使用



     



gnorpm的主窗口如下所示,它有安装、升级、删除、查询、验证、寻找等功能。



安装



点按“Install”后,出现安装的窗口,如下图示:



  



按“Add”,出现选择窗口:



  





这时,选择想要安装的软件包后,按“Add”按钮,回到安装的窗口,这时用户可以选择“Query”来查询

这个软件包,也可以选择“Install”来安装它。升级软件同安装软件类似。



 



删除软件



gnorpm把系统上的软件归为几个大类,如应用程序(Applications)、开发(Development)、文档

(Documentation)等。用户只要在相应类别中找到要删除的软件,然后再点按“Uninstall”按钮,

针对弹出对话框:



  





如果用户确认要删除的话,按“OK”就可以了。



寻找



用户在gnorpm主菜单上按“Find”后,会出现:



  







这时,只要选择适当的寻找标准,gnorpm提供的标准有:“contain file”(包含文件),“are in

 the group ”(在类别……里),“provide”(提供……功能),“require”(需要……),“conflict with”

 (同……冲突),“match label”(标签为)。如上图示,在选择标准“match label”,并在用户输入信息

 “gedit”后,按“Find”,它会开始寻找用户需要的软件,在找到之后,用户可以查询它,可以删除它,

 也可以验证它。



当然,上面提到的仅仅是一丁点参考而已,用户要在实际中不断探索才能提高。



李景超


(
http://www.fanqiang.com)

linux环境下的”蚂蚁”-wget使用简介

wget的使用形式是:
wget [参数列表] URL
首先来介绍一下wget的主要参数:
・ -b:让wget在后台运行,记录文件写在当前目录下"wget-log"文件中;
・ -t [nuber of times]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次
。比如"-t
120"表示尝试120次。当这一项为"0"的时候,指定尝试无穷多次直到连接成功为止,这个
设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续
下载没有传完的文件;
・ -c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中
途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使
用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/Linux的Web/FTP服务器
都支持断点续传;
・ -T [number of seconds]:超时时间,指定多长时间远程服务器没有响应就中断连接
,开始下一次尝试。比如"-T
120"表示如果120秒以后远程服务器没有发过来数据,就重新尝试连接。如果网络速度比
较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常
也不少于60,一般设置在120左右比较合适;
・ -w [number of seconds]:在两次尝试之间等待多少秒,比如"-w 100"表示两次尝试
之间等待100秒;
・ -Y on/off:通过/不通过代理服务器进行连接;
・ -Q [byetes]:限制下载文件的总大小最多不能超过多少,比如"-Q2k"表示不能超过2K
字节,"-Q3m"表示最多不能超过3M字节,如果数字后面什么都不加,就表示是以字节为单
位,比如"-Q200"表示最多不能超过200字节;
・ -nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;
・ -x:与"-nd"设置刚好相反,创建完整的目录结构,例如"wget -nd
http://www.gnu.org"将创建在当前目录下创建"www.gnu.org"子目录,然后按照服务器
实际的目录结构一级一级建下去,直到所有的文件都传完为止;
・ -nH:不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目
录下;
・ –http-user=username
・ –http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;
・ –proxy-user=username
・ –proxy-passwd=password:如果代理服务器需要输入用户名和口令,使用这两个选项

・ -r:在本机建立服务器端目录结构;
・ -l [depth]:下载远程服务器目录结构的深度,例如"-l 5"下载目录深度小于或者等
于5以内的目录结构或者文件;
・ -m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设
定其他合适的选项以便于站点镜像;
・ -np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们
假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载
这个人的个人主页,如果不设置这个选项,甚至–有可能把整个站点给抓下来,这显然是
我们通常不希望的;
ü 如何设定wget所使用的代理服务器
wget可以使用用户设置文件".wgetrc"来读取很多设置,我们这里主要利用这个文件来是
设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的".wgetrc"文件就起
作用。例如,"root"用户如果想使用".wgetrc"来设置代理服务器,"/root/.wgert"就起
作用,下面给出一个".wgetrc"文件的内容,读者可以参照这个例子来编写自己的"wgetrc"文件:
http-proxy = 111.111.111.111:8080
ftp-proxy = 111.111.111.111:8080
这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:80。第一行指定
HTTP协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。

wgetrc initalization file command.

Startup File





Once you know how to change default settings of Wget through command
line arguments, you may wish to make some of those settings permanent.
You can do that in a convenient way by creating the Wget startup
file—`.wgetrc'.

Besides `.wgetrc' is the "main" initialization file, it is
convenient to have a special facility for storing passwords. Thus Wget
reads and interprets the contents of `$HOME/.netrc', if it finds
it. You can find `.netrc' format in your system manuals.

Wget reads `.wgetrc' upon startup, recognizing a limited set of
commands.

Wgetrc Location


When initializing, Wget will look for a global startup file,
`/usr/local/etc/wgetrc' by default (or some prefix other than
`/usr/local', if Wget was not installed there) and read commands
from there, if it exists.

Then it will look for the user’s file. If the environmental variable
WGETRC is set, Wget will try to load that file. Failing that, no
further attempts will be made.

If WGETRC is not set, Wget will try to load `$HOME/.wgetrc'.

The fact that user’s settings are loaded after the system-wide ones
means that in case of collision user’s wgetrc overrides the
system-wide wgetrc (in `/usr/local/etc/wgetrc' by default).
Fascist admins, away!

Wgetrc Syntax


The syntax of a wgetrc command is simple:

variable = value

The variable will also be called command. Valid
values are different for different commands.

The commands are case-insensitive and underscore-insensitive. Thus
`DIr__PrefiX’ is the same as `dirprefix’. Empty lines, lines
beginning with `#’ and lines containing white-space only are
discarded.

Commands that expect a comma-separated list will clear the list on an
empty command. So, if you wish to reset the rejection list specified in
global `wgetrc', you can do it with:

reject =

Wgetrc Commands

The complete set of commands is listed below, the letter after `=’
denoting the value the command takes. It is `on/off’ for `on’
or `off’ (which can also be `1′ or `0′), string for
any non-empty string or N for a positive integer. For example,
you may specify `use_proxy = off’ to disable use of PROXY
servers by default. You may use `inf’ for infinite values, where
appropriate.

Most of the commands have their equivalent command-line option
(See section Invoking), except some more obscure or rarely used ones.

accept/reject = string
     Same as `-A’/`-R’ (See section Types of Files).

add_hostdir = on/off
     Enable/disable host-prefixed file names. `-nH’ disables it.

always_rest = on/off
     Enable/disable continuation of the retrieval, the same as `-c’.

base = string
     Set base for relative URLs, the same as `-B’.

convert links = on/off
Convert non-relative links locally. The same as `-k’.

debug = on/off
     Debug mode, same as `-d’.

delete_after = on/off
     Delete after download, the same as `–delete-after’.

dir_mode = N
     Set permission modes of created subdirectories (default is 0755).

dir_prefix = string
     Top of directory tree, the same as `-P’.

dirstruct = on/off
     Turning dirstruct on or off, the same as `-x’ or `-nd’,
respectively.

domains = string
     Same as `-D’ (See section Domain Acceptance).

dot_bytes = N
     Specify the number of bytes "contained" in a dot, as seen throughout
the retrieval (1024 by default). You can postfix the value with
`k’ or `m’, representing kilobytes and megabytes,
respectively. With dot settings you can tailor the dot retrieval to
suit your needs, or you can use the predefined styles
(See section Advanced Options).

dots_in_line = N
     Specify the number of dots that will be printed in each line throughout
the retrieval (50 by default).

dot_spacing = N
     Specify the number of dots in a single cluster (10 by default).

dot_style = string
     Specify the dot retrieval style, as with `–dot-style’.

exclude_directories = string
     Specify a comma-separated list of directories you wish to exclude from
download, the same as `-X’ (See section Directory-Based Limits).

exclude_domains = string
     Same as `–exclude-domains’ (See section Domain Acceptance).

follow_ftp = on/off
     Follow FTP links from HTML documents, the same as `-f’.

force_html = on/off
     If set to on, force the input filename to be regarded as an HTML
document, the same as `-F’.

ftp_proxy = string
     Use string as FTP proxy, instead of the one specified in
environment.

glob = on/off
     Turn globbing on/off, the same as `-g’.

header = string
     Define an additional header, like `–header’.

http_passwd = string
     Set HTTP password.

http_proxy = string
     Use string as HTTP proxy, instead of the one specified in
environment.

http_user = string
     Set HTTP user to string.

ignore_length = on/off
     When set to on, ignore Content-Length header; the same as
`–ignore-length’.

include_directories = string
     Specify a comma-separated list of directories you wish to follow when
downloading, the same as `-I’.

input = string
     Read the URLs from string, like `-i’.

kill_longer = on/off
     Consider data longer than specified in content-length header
as invalid (and retry getting it). The default behaviour is to save
as much data as there is, provided there is more than or equal
to the value in Content-Length.

logfile = string
     Set logfile, the same as `-o’.

login = string
     Your user name on the remote machine, for FTP Defaults to
`anonymous’.

mirror = on/off
     Turn mirroring on/off. The same as `-m’.

noclobber = on/off
     Same as `-nc’.

no_proxy = string
     Use string as the comma-separated list of domains to avoid in
PROXY loading, instead of the
     one specified in environment.

no_parent = on/off
     Disallow retrieving outside the directory hierarchy, like
`–no-parent’ (See section Directory-Based Limits).

output_document = string
     Set the output filename, the same as `-O’.

passive_ftp = on/off
     Set passive FTP, the same as `–passive-ftp’.

passwd = string
     Set your FTP password to password. Without this setting, the
password defaults to
     `username@hostname.domainname’.

proxy_user = string
      Set PROXY authentication user name to string, like
`–proxy-user’.

proxy_passwd = string
      Set PROXY authentication password to string, like
`–proxy-passwd’.

quiet = on/off
      Quiet mode, the same as `-q’.

quota = quota
      Specify the download quota, which is useful to put in global
wgetrc. When download quota is specified, Wget will stop retrieving
after the download sum has become greater than quota. The quota can be
specified in bytes (default), kbytes `k’ appended) or mbytes
(`m’ appended). Thus `quota = 5m’ will set the quota to 5
mbytes. Note that the user’s startup file overrides system settings.
reclevel = N
      Recursion level, the same as `-l’.

recursive = on/off
      Recursive on/off, the same as `-r’.

relative_only = on/off
 Follow only relative links, the same as `-L’ (See section Relative Links).

remove_listing = on/off
      If set to on, remove FTP listings downloaded by Wget. Setting it
to off is the same as `-nr’.

retr_symlinks = on/off
      When set to on, retrieve symbolic links as if they were plain files; the
same as `–retr-symlinks’.
robots = on/off
      Use (or not) `/robots.txt' file (See section Robots). Be sure to know
what you are doing before changing the default (which is `on’).
server_response = on/off
      Choose whether or not to print the HTTP and FTP server
responses, the same as `-S’.

simple_host_check = on/off
      Same as `-nh’ (See section Host Checking).

span_hosts = on/off
      Same as `-H’.

timeout = N
      Set timeout value, the same as `-T’.

timestamping = on/off
      Turn timestamping on/off. The same as `-N’ (See section Time-Stamping).

tries = N
      Set number of retries per URL, the same as `-t’.

use_proxy = on/off
      Turn PROXY support on/off. The same as `-Y’.

verbose = on/off
      Turn verbose on/off, the same as `-v’/`-nv’.

wait = N
      Wait N seconds between retrievals, the same as `-w’.

Sample Wgetrc

This is the sample initialization file, as given in the distribution.
It is divided in two section–one for global usage (suitable for global
startup file), and one for local usage (suitable for
`$HOME/.wgetrc'). Be careful about the things you change.

Note that all the lines are commented out. For any line to have effect,
you must remove the `#’ prefix at the beginning of line.

###
### Sample Wget initialization file .wgetrc
###

## You can use this file to change the default behaviour of wget or to
## avoid having to type many many command-line options. This file does
## not contain a comprehensive list of commands -- look at the manual
## to find out what you can put into this file.
##
## Wget initialization file can reside in /usr/local/etc/wgetrc
## (global, for all users) or $HOME/.wgetrc (for a single user).
##
## To use any of the settings in this file, you will have to uncomment
## them (and probably change them).

##
## Global settings (useful for setting up in /usr/local/etc/wgetrc).
## Think well before you change them, since they may reduce wget's
## functionality, and make it behave contrary to the documentation:
##

# You can set retrieve quota for beginners by specifying a value
# optionally followed by 'K' (kilobytes) or 'M' (megabytes). The
# default quota is unlimited.
#quota = inf

# You can lower (or raise) the default number of retries when
# downloading a file (default is 20).
#tries = 20

# Lowering the maximum depth of the recursive retrieval is handy to
# prevent newbies from going too "deep" when they unwittingly start
# the recursive retrieval. The default is 5.
#reclevel = 5

# Many sites are behind firewalls that do not allow initiation of
# connections from the outside. On these sites you have to use the
# `passive' feature of FTP. If you are behind such a firewall, you
# can turn this on to make Wget use passive FTP by default.
#passive_ftp = off

##
## Local settings (for a user to set in his $HOME/.wgetrc). It is
## *highly* undesirable to put these settings in the global file, since
## they are potentially dangerous to "normal" users.
##
## Even when setting up your own ~/.wgetrc, you should know what you
## are doing before doing so.
##

# Set this to on to use timestamping by default:
#timestamping = off

# It is a good idea to make Wget send your email address in a `From:'
# header with your request (so that server administrators can contact
# you in case of errors). Wget does *not* send `From:' by default.
#header = From: Your Name <username@site.domain>

# You can set up other headers, like Accept-Language. Accept-Language
# is *not* sent by default.
#header = Accept-Language: en

# You can set the default proxy for Wget to use. It will override the
# value in the environment.
#http_proxy = http://proxy.yoyodyne.com:18023/

# If you do not want to use proxy at all, set this to off.
#use_proxy = on

# You can customize the retrieval outlook. Valid options are default,
# binary, mega and micro.
#dot_style = default

# Setting this to off makes Wget not download /robots.txt. Be sure to
# know *exactly* what /robots.txt is and how it is used before changing
# the default!
#robots = on

# It can be useful to make Wget wait between connections. Set this to
# the number of seconds you want Wget to wait.
#wait = 0

# You can force creating directory structure, even if a single is being
# retrieved, by setting this to on.
#dirstruct = off

# You can turn on recursive retrieving by default (don't do this if
# you are not sure you know what it means) by setting this to on.
#recursive = off

# To have Wget follow FTP links from HTML files by default, set this
# to on:
#follow_ftp = off

linux下刻录简介

linux下刻录简介

在windows下的刻录,可能大家都很熟悉了,Nero,VideoPack,WinOnCD等等软件,是windows下刻录的重要工具,但是如何在Linux下进行刻录呢?xwindow下大家都习惯使用xroast。这里介绍一下如何使用字符界面进行刻录。
 
总的说来,刻录大致需要三个步骤,驱动光驱(刻录机),制作ISO文件,刻录CD。

1 驱动刻录机
  这里,我们不考虑刻录机的品牌,仅仅从刻录机的接口进行分类,大致可以把刻录机分为三种,SCSI接口的刻录机,IDE接口的刻录机,包括cdrw,combo(DVD/CDRW)等。USB接口的刻录机,包括Usb-cdrw,Usb-combo等。
  
  由于历史原因,SCSI接口的刻录机是事实上标准,其他接口的刻录机,都是虚拟成为SCSI接口的刻录机以后使用的。ide接口的刻录机使用ide-
scsi模块进行IDE-SCSI总线的模拟,而usb接口的刻录机使用usb-storage模块实现USB-SCSI总线的模拟。
  
a)如果你使用SCSI刻录机,作为标准设备,SCSI的刻录机是不需要特殊的驱动程序的,你需要做的就是驱动你的SCSI卡就可以了。市面的SCSI卡
的种类非常多,因此驱动程序也各不相同,Linux支持大多数的SCSI卡,你可以选择合适的SCSI卡驱动模块加载到内核中,完成对SCSI卡的驱动。
  
b)ide接口的刻录机相对而言稍为复杂一点,需要加装ide-scsi模块。如果在系统启动的过程中,系统没有把刻录机识别出来,而是把刻录机识别为cdrom,需要先卸载ide-cd模块。然后再加载ide-scsi模块。运行下面两条命令,完成对于刻录机的驱动。
LocalHost# rmmod ide-cd
LocalHost# modprobe ide-scsi
       
c)如果刻录机为PCMCIA-IDE的刻录机,需要先驱动pcmica接口。使用pcmica-cs模块可以驱动。
LocalHost# modprobe yenta_socket pcmcia_core ds
然后,按照(b)中的步骤对刻录机进行驱动。

d)usb接口的刻录机驱动是最复杂的。通常分为3步:
  i  如果你的刻录机使用pcmcia-usb卡,需要先驱动pcmcia卡,需要加载:yenta_socket,    pcmcia_core,ds等模块
    
LocalHost# modprobe yenta_socket pcmcia_core ds
  ii  装载usb驱动模块,如果是usb1.1接口。需要加载usb-uhci模块。如果是usb2.0接口,需要加载ehci-hcd模块。
     LocalHost# modprobe usb-uhci ehci-hcd
  iii 加载usb-storage模块。
LocalHost# modprobe usb-storage

   到此为止,你已经完成了对于刻录机的驱动。你可以使用命令来检测你的刻录机是否已经正常驱动:
LocalHost# cdrecord -scanbus
  如果驱动成功,会出现类似如下的显示:

Linux sg driver version: 3.1.25
Using libscg version ‘schily-0.8’.
scsibus0:
        0,0,0     0) ‘MATSHITA’ ‘UJDA720 DVD/CDRW’ ‘1.03’ Removable CD-ROM
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) *
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *
scsibus1:
        1,0,0   100) ‘MATSHITA’ ‘UJDA750 DVD/CDRW’ ‘1.50’ Removable CD-ROM
        1,1,0   101) *
        1,2,0   102) *
        1,3,0   103) *
        1,4,0   104) *
        1,5,0   105) *
        1,6,0   106) *
        1,7,0   107) *

注意,这个系统中安装了两个DVD/CDRW刻录机,因此显示出来两个。

2   制作ISO文件
mkisofs是Linux下制作ISO的工具。早期的时候,制作iso和刻录cdrom分为两个步骤是因为系统的速度不够,现在这种系统一直延续下来了。
mkisofs的功能非常强大,不但可以制作标准的ISO9660格式的光盘镜像,还能够制作HFS(MAC文件系统格式),Sparc(Sun文件系统格式)等格式的光盘镜像,启动光盘当然更不在话下。
常用命令:
LocalHost# mkisofs ?o new.iso pathname
LocalHost# mkisofs ?b bootfilename ?c boot.catalog ?o new.iso pathname

mkisofs命令的功能非常强大,参数也非常复杂,如果有人愿意深究,可以看看mkisofs的手册页。
LocalHost# man mkisofs

3 刻录光盘
        刻录光盘通常使用cdrecord,cdrecord的参数也比较多,而且现在cdrecord也支持DVD刻录。
        通常使用的参数:
        Speed=n        #以n倍速度刻录。
        dev=x,x,x #指定刻录设备
        blank=fast,full #指定使用快速,全部的方式擦除cdrw光盘。
        -v #显示刻录的详细信息
        -eject #刻录完成以后,弹出光盘。
        -scanbus #扫描SCSIbus,查看各个设备。

刻录命令例子:
LocalHost# cdrecord ?v ?eject dev=0,0,0 speed=8 blank=fast   #8速擦除设备0,0,0光驱中的cdrw。
LocalHost# cdrecord ?v ?eject dev=0,0,0 speed=8 new.iso     #8速刻录new.iso镜像到设备为0,0,0的光驱中的光盘。

一下内容来自qiyu的BLOG
在2.6的kernel下,不在需要使用scsi模拟来使用刻录机了
但是相应的命令参数也有一点点变化,对于普通的ide接口的刻录机
扫描刻录机
kernel 2.4:
cdrecord -scanbus
kernel 2.6:
cdrecord -scanbus dev=ATAPI

基本命令参数如下:
刻录 cdrecord -v dev=刻录机设备 speed=刻录速度 -eject -fs=4m -data 光盘映象ISO
擦除
cdrecord -v dev=刻录机设备 speed=擦除速度 blank=$(options)
$(options)可以是all fast …..


其中,那些参数的含义:
-v : 显示烧录过程
-eject : 烧录结束自动退片
speed= : 指定烧录速度
dev= : 指定烧录设备
-data : 指定烧录档案
-fs:设定绶冲的大小

另外可以结合mkisofs刻录硬盘上的文件

mkisofs -R /directory | cdrecord  fs=6m  dev=ATAPI:0,0,0

以下是mkisofs的一个小脚本,其中的一些参数都是比较常用的
#!/bin/sh
TARG_ISO=my.iso
INPUT_DIR=~/burncd/
LABEL=mycd
mkisofs -o $TARG_ISO -J -jcharset cp936 -joliet-long
-max-iso9660-filenames -allow-multidot
-input-charset cp936 -output-charset cp936
-V $LABEL $INPUT_DIR

其中-J是使用joliet文件系统,如果希望能在windows下看到这张盘上的中文文件名的话,这个参数必选;
而-jcharset -input-charset cp936 -output-charset cp936这几个参数对于制作有中文文件
名的光盘也是必须的;
-max-iso9660-filenames允许长文件名;
-allow-multidot,就可以使用包含多个"."的文件、目录名
例如:MATHWORKS.MATLAB.V7.0.4.R14.SP2.LINUX-HOTiSO