2008-01-16

freebsd的dmesg.boot

Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-RELEASE #0: Mon Dec 31 17:21:00 CST 2007
root@athena.domain:/usr/obj/usr/src/sys/MYKERNEL
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 Processor 3000+ (1803.78-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x40ff2 Stepping = 2
Features=0x78bfbff
Features2=0x2001
AMD Features=0xea500800
AMD Features2=0x1d,,CR8>
real memory = 1005518848 (958 MB)
avail memory = 966488064 (921 MB)
ACPI APIC Table:
ioapic0 irqs 0-23 on motherboard
kbd1 at kbdmux0
ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
acpi0: on motherboard
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi0: Power Button (fixed)
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit> port 0x4008-0x400b on acpi0
cpu0: on acpi0
acpi_button0: on acpi0
pcib0: port 0xcf8-0xcff on acpi0
pci0: on pcib0
pci0: at device 0.0 (no driver attached)
pci0: at device 0.1 (no driver attached)
pci0: at device 0.2 (no driver attached)
pci0: at device 0.3 (no driver attached)
pci0: at device 0.4 (no driver attached)
pci0: at device 0.5 (no driver attached)
pci0: at device 0.6 (no driver attached)
pci0: at device 0.7 (no driver attached)
pcib1: at device 2.0 on pci0
pci1: on pcib1
pcib2: at device 3.0 on pci0
pci2: on pcib2
pcib3: at device 4.0 on pci0
pci3: on pcib3
nvidia0: mem 0xfc000000-0xfcffffff,0xe0000000-0xefffffff,0xfb000000-0xfbffffff irq 16 at device 5.0 on pci0
nvidia0: [GIANT-LOCKED]
pci0: at device 9.0 (no driver attached)
isab0: at device 10.0 on pci0
isa0: on isab0
pci0: at device 10.1 (no driver attached)
pci0: at device 10.2 (no driver attached)
ohci0: mem 0xfe02f000-0xfe02ffff irq 21 at device 11.0 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: on ohci0
usb0: USB revision 1.0
uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 8 ports with 8 removable, self powered
ehci0: mem 0xfe02e000-0xfe02e0ff irq 22 at device 11.1 on pci0
ehci0: [GIANT-LOCKED]
usb1: EHCI version 1.0
usb1: companion controller, 8 ports each: usb0
usb1: on ehci0
usb1: USB revision 2.0
uhub1: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 8 ports with 8 removable, self powered
atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf400-0xf40f at device 13.0 on pci0
ata0: on atapci0
ata1: on atapci0
atapci1: port 0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xe000-0xe00f mem 0xfe02d000-0xfe02dfff irq 23 at device 14.0 on pci0
ata2: on atapci1
ata3: on atapci1
atapci2: port 0x9e0-0x9e7,0xbe0-0xbe3,0x960-0x967,0xb60-0xb63,0xcc00-0xcc0f mem 0xfe02c000-0xfe02cfff irq 20 at device 15.0 on pci0
ata4: on atapci2
ata5: on atapci2
pcib4: at device 16.0 on pci0
pci4: on pcib4
fwohci0: mem 0xfdbff000-0xfdbff7ff,0xfdbf8000-0xfdbfbfff irq 19 at device 5.0 on pci4
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:11:d8:00:00:cc:b3:89
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: on fwohci0
fwe0: on firewire0
if_fwe0: Fake Ethernet address: 02:11:d8:cc:b3:89
fwe0: Ethernet address: 02:11:d8:cc:b3:89
fwe0: if_start running deferred for Giant
sbp0: on firewire0
fwohci0: Initiate bus reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) pci0: at device 16.1 (no driver attached)
nve0: port 0xc800-0xc807 mem 0xfe02b000-0xfe02bfff irq 22 at device 20.0 on pci0
nve0: Ethernet address 00:17:31:8a:7b:7d
miibus0: on nve0
ukphy0: on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
nve0: Ethernet address: 00:17:31:8a:7b:7d
acpi_tz0: on acpi0
sio0: <16550a-compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: <16550a-compatible> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0: port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: on ppc0
plip0: on ppbus0
lpt0: on ppbus0
lpt0: Interrupt-driven port
ppi0: on ppbus0
atkbdc0: port 0x60,0x64 irq 1 on acpi0
atkbd0: irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
pmtimer0 on isa0
orm0: at iomem 0xd0000-0xd3fff on isa0
sc0: at flags 0x100 on isa0
sc0: VGA <16 flags="0x300">
vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1803775583 Hz quality 800
Timecounters tick every 1.000 msec
acd0: DVDR at ata0-master UDMA66
ad4: 152627MB at ata2-master SATA150
Trying to mount root from ufs:/dev/ad4s2a
umass0: Genesys USB Reader, rev 2.00/94.07, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: Removable Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 1951MB (3995648 512 byte sectors: 255H 63S/T 248C)

freebsd的xorg.con.now

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection

Section "Module"
Load "dbe"
Load "dri"
Load "extmod"
Load "glx"
Load "record"
Load "xtrap"
Load "freetype"
Load "type1"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section "Device"
Identifier "Card0"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "C51 PCI Express Bridge"
BusID "PCI:0:5:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection

2008-01-14

[转]Ubuntu系统目录结构

以下为Ubuntu目录的主要目录结构,您稍微了解它们都包含了哪些文件就可以了,不需要记忆。

/ 根目录

boot/ 启动文件。所有与系统启动有关的文件都保存在这里

│ └grub/ Grub引导器相关的文件

dev/ 设备文件

proc/ 内核与进程镜像

mnt/ 临时挂载

media/ 挂载媒体设备

root/ root用户的$HOME目录

home/

│ ├user/ 普通用户的$HOME目录

│ └.../

bin/ 系统程序

sbin/ 管理员系统程序

lib/ 系统程序库文件

etc/ 系统程序和大部分应用程序的全局配置文件

│ ├init.d/ SystemV风格的启动脚本

│ ├rcX.d/ 启动脚本的链接,定义运行级别

│ ├network/ 网络配置文件

│ ├X11/ 图形界面配置文件

usr/

│ ├bin/ 应用程序

│ ├sbin/ 管理员应用程序

│ ├lib/ 应用程序库文件

│ ├share/ 应用程序资源文件

│ ├src/ 应用程序源代码

│ ├local/

│ │ ├soft/ 用户程序

│ │ └.../ 通常使用单独文件夹

│ ├X11R6/ 图形界面系统

var/ 动态数据

temp/ 临时文件

lost+found/ 磁盘修复文件

启动流程

========

Linux系统主要通过以下步骤启动:

1、读取MBR的信息,启动Boot Manager

Windows使用NTLDR作为Boot Manager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统。

Linux通常使用功能强大,配置灵活的GRUB作为Boot Manager,我们将在启动管理章节中向您介绍它的使用方式。

2、加载系统内核,启动init进程

init进程是Linux的根进程,所有的系统进程都是它的子进程。

3init进程读取“/etc/inittab”文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以“start”参数启动,并指向一个系统中的程序。

通常情况下,“/etc/rcS.d/”目录下的启动脚本首先被执行,然后是“/etc/rcN.d/”目录。例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”

4、根据“/etc/rcS.d/”文件夹中对应的脚本启动Xwindow服务器“xorg”

XwindowLinux下的图形用户界面系统。

5、启动登录管理器,等待用户登录

Ubuntu系统默认使用GDM作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在“/etc/rc3.d/”文件夹中找到一个名为“S13gdm”的链接)

更改运行级别

------------

在“/etc/inittab”文件中找到如下内容:

# The default runlevel.

id:2:initdefault:

这一行中的数字2,为系统的运行级别,默认的运行级别涵义如下:

0 关机

1 单用户维护模式

2~5 多用户模式

6 重启

服务管理

========

更改启动服务

------------

在运行级别对应的文件夹中,您可以看到许多文件名以“S##”和“K##”起始的启动脚本链接。

例如:

/etc/rcS.d/S35mountall.sh 挂载文件系统

/etc/rcS.d/S40networking 启用网络支持

/etc/rc2.d/S13gdm 启动登录管理器

/etc/rc2.d/S20makedev 创建设备文件

/etc/rc2.d/S23xinetd 启动超级进程

init进程将以“start”为参数,按文件名顺序执行所有以“S##”起始的脚本。脚本名称中的数字越小,它将被越早执行。例如在“/etc/rc2.d/”文件夹中,“S13gdm”文件名中的数字小于“S23xinetd”,“S13gdm”将比“S23xinetd”先执行。

如果一个脚本链接,以“K##”起始,表示它将以“stop”参数被执行。如果相应服务没有启动,则不执行该脚本。

例如:

/etc/rc2.d/K20powernowd 针对某种硬件的电源管理支持

如果您想禁止某一服务在启动时自动运行,您可以将相应运行级别中的脚本由“S##xxx”重命名为“K##xxx”

手动控制服务

------------

您也可以手动运行带有以下参数的启动脚本,来控制系统服务。

start 启动

stop 停止

restart 重启

例如:

/etc/rc2.d/K20powernowd start

有时您并不清楚当前运行级别,该运行级别下未必有相应脚本;而且此类脚本的前三位字符并不固定,不便于记忆。这时,您可以直接使用“/etc/init.d/”文件夹中的启动脚本(“/etc/rcX.d/”中的启动脚本链接到“/etc/init.d/”文件夹下相应脚本),这也是我们向您推荐的方式。

例如:

/etc/init.d/powernowd start

Tips:以上命令的位置并没有包含在环境变量的搜索路径中,所以要输入完整路径。

常用系统服务

============

acpi-support 高级电源管理支持

acpid acpi守护程序.这两个用于电源管理,非常重要

alsa 声音子系统

alsa-utils

anacron cron的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。

apmd acpi的扩展

atd 类似于cron的任务调度系统。建议关闭

binfmt-support 核心支持其他二进制的文件格式。建议开启

bluez-utiles 蓝牙设备支持

bootlogd 启动日志。开启它

cron 任务调度系统,建议开启

cupsys 打印机子系统。

dbus 消息总线系统(message bus system)。非常重要

dns-clean 使用拨号连接时,清除dns信息。

evms 企业卷管理系统(Enterprise Volumn Management system

fetchmail 邮件用户代理,用于收取邮件

gdm gnome登录和桌面管理器。

gdomap

gpm 终端中的鼠标支持。

halt 别动它。

hdparm 调整硬盘的脚本,配置文件为“/etc/hdparm.conf”

hibernate 系统休眠

hotkey-setup 笔记本功能键支持。支持类型包括: HP, Acer, ASUS, Sony, Dell, IBM

hotplug and hotplug-net 即插即用支持,比较复杂,建议不要动它。

hplip HP打印机和图形子系统

ifrename 网络接口重命名脚本。如果您有十块网卡,您应该开启它

inetd 在文件“/etc/inetd.conf”中,注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。

klogd 重要。

linux-restricted-modules-common 受限模块支持。“/lib/linux-restricted-modules/”文件夹中的模块为受限模块。例如某些驱动程序,如果您没有使用受限模块,就不需要开启它。

lvm 逻辑卷管理系统支持。

makedev 创建设备文件,非常重要。

mdamd 磁盘阵列

module-init-tools /etc/modules加载扩展模块,建议开启。

networking 网络支持。按“/etc/network/interfaces”文件预设激活网络,非常重要。

ntpdate 时间同步服务,建议关闭。

pcmcia pcmcia设备支持。

powernowd 移动CPU节能支持

ppp and ppp-dns 拨号连接

readahead 预加载库文件。

reboot 别动它。

resolvconf 自动配置DNS

rmnologin 清除nologin

rsync rsync守护程序

sendsigs 在重启和关机期间发送信号

single 激活单用户模式

ssh ssh守护程序。建议开启

stop-bootlogd 2345运行级别中停止bootlogd服务

sudo 检查sudo状态。重要

sysklogd 系统日志

udev & udev-mab 用户空间dev文件系统(userspace dev filesystem)。重要

umountfs 卸载文件系统

urandom 随机数生成器

usplash 开机画面支持

vbesave 显卡BIOS配置工具。保存显卡的状态

xorg-common 设置X服务ICE socket

adjtimex 调整核心时钟的工具

dirmngr 证书列表管理工具,gnupg一起工作。

hwtools irqs优化工具

libpam-devperm 系统崩溃之后,用于修理设备文件许可的守护程序。

lm-sensors 板载传感器支持

mdadm-raid 磁盘陈列管理器

screen-cleanup 清除开机屏幕的脚本

xinetd 管理其他守护进程的一个inetd超级守护程序

重要配置文件

============

!无论任何情况下,在修改配置文件之前,请您先备份它!

建议您使用这个命令:“sudo cp xxx xxx_`date +%y%m%d_%H:%M`”

当然这很麻烦,您可以新建一个名为“bak”的文件,内容如下:

#!/bin/bash

sudo cp $1 $1_`date +%y%m%d_%H:%M`

把它放在您能够记住的目录下,比如“/home”,执行命令“sh /home/bak xxx”,就可以将当前文件夹下的文件“xxx”另存为“xxx_yymmdd_HH:MM”的格式了

全局配置文件

------------

系统初始化

/etc/inittab 运行级别、控制台数量

/etc/timezone 时区

/etc/inetd.conf 超级进程

文件系统

/etc/fstab 开机时挂载的文件系统

/etc/mtab 当前挂载的文件系统

用户系统

/etc/passwd 用户信息

/etc/shadow 用户密码

/etc/group 群组信息

/etc/gshadow 群组密码

/etc/sudoers Sudoer列表(请使用“visudo”命令修改此文件,而不要直接编辑)

Shell

/etc/shell 可用Shell列表

/etc/inputrc ReadLine控件设定

/etc/profile 用户首选项

/etc/bash.bashrc bash配置文件

系统环境

/etc/environment 环境变量

/etc/updatedb.conf 文件检索数据库配置信息

/etc/issue 发行信息

/etc/issue.net

/etc/screenrc 屏幕设定

网络

/etc/iftab 网卡MAC地址绑定

/etc/hosts 主机列表

/etc/hostname 主机名

/etc/resolv.conf 域名解析服务器地址

/etc/network/interfaces 网卡配置文件

用户配置文件

------------

/etc/”目录下的所有文件,只有root用户才有修改权限。应用软件的全局配置文件,普通用户也不能够修改,如果您想配置软件,以适应您的需求,您可以修改它的用户配置文件。

用户配置文件通常为全局配置文件的同名隐藏文件,放在您的$HOME目录下,例如:

/etc/inputrc /home/user/.inputrc

/etc/vim/vimrc /home/user/.vim/vimrc

也有少数例外,通常是系统程序

/etc/bash.bashrc /home/user/.bashrc

重装ubuntu

上次为了安装mac,其结果是mac没有装上,而xp和ubuntu所在的分区却

被删除了,白白少了两个系统。xp倒是没什么,但是ubuntu却是个大问题,像它

这样对网络依赖极大的操作系统如果没有网络的话根本无法想像它能够完成安装

。所以这学期,在回去之前所做的一件事就是安装ubuntu.
以前两次都是星仔帮着装的,虽然我自认自己也可以装上,但这只是自

我感觉。ubuntu没有了之后我自己装过几次,每次都提示无法安装grub,结果都

失败了。昨天我忽然想到也许是没有把分区事先格式化成ext3的原因。事实证明

真的是这个问题,ubuntu安装时的分区格式化工具似乎真的很弱,必须要事先用

其它工具对它进行格式化才能完成安装。
安装的过程就不写了,很简单的。
安装完成后系统提示,有软件可以更新,更新软件。200多M的东西花去

了九个钟头,真没办法。更新系统后把使用受限制驱动的钩打上,安装上n卡的

驱动。重启。
设定分辨率。

对系统的设定和安装常用软件
1把终端加到右键菜单
sudo apt-get install nautilus-open-terminal

2以root权限打开文件夹
sudo apt-get install nautilus-gksu
查看隐藏文件是:Ctrl+ H

3安装RAR压缩/解压缩程序
sudo apt-get install rar
建立软链接
sudo ln -fs /usr/bin/rar /usr/bin/unrar (这样,以后只要在命令行输入

unrar,就可以解压或者压缩文件了,安装完成后,归档管理器也同时集成了rar

组件。)

4安装编译工具
sudo apt-get install build-essential

5安装eva
sudo apt-get install eva
(安装完成后没有像以前一样出现不能输入中文的情况)

6安装星际译王,及辞典
sudo apt-get install stardict
到星际译王的官方网址下载词典,解压放到/usr/share/stardict/dic/目录下
sudo mv stardict-oxford-gb-2.4.2/usr/share/stardict/dic

7安装chm阅读器
Firefox扩展
http://addons.mozine.cn/firefox/443
提示按ctrl+e : 打开左边框

8linux与windows的换行符不同,这使得打开在linux生成的文本文件时无法显示

换行,可安装转换软件,以的可以使用unix2dos转换
sudo apt-get install tofrodos

9安装JAVA环境支持
sudo apt-get install sun-java6-jre
提示:安装过程中需要你回答是否同意使用协议(终端中红蓝色的提示界面),

此时按tab键至OK,再按回车即可正常安装。
设置当前默认的java解释器:
sudo update-alternatives --config java
执行后会出现类似如下的画面:
There are 2 alternatives which provide `java'.

Selection Alternative
-----------------------------------------------
1 /usr/bin/gij-wrapper-4.1
*+ 2 /usr/lib/jvm/java-6-sun/jre/bin/java

Press enter to keep the default[*], or type selection number:
输入 有包含 "sun" 的行的前面的数字。如上面显示,则输入2,然后回车确定


配置JAVA环境变量:
sudo gedit /etc/environment
在其中添加如下两行:
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun
sudo gedit /etc/jvm
将文件中的
/usr/lib/jvm/java-6-sun

10为火狐安装flash播放器
我打开56的一个网页,把flash播放装上,但还是无法播放,只得手动安装
下载flash插件的安装包install_flash_player_9_linux.tar.gz。url是

http://fpdownload.macromedia.com/get/flashplayer/current/install_flash

_player_9_linux.tar.gz
tar -zxvf install_flash_player_9_linux.tar.gz
cd install_flash_player_9_linux/
sudo ./flashplayer-installer
安装程序会提示你关闭打开的浏览器,然后问你要安在什么地方。回

答/usr/lib/firefox就行。
问你要不要继续安装,不要。

11多媒体应用环境设置
系统自带的以Gstreamer为后台引擎的totem电影播放器,目前已支持很多多媒体

格式,效果很好。美中不足的是Real公司的rmvb, rm等格式无法支持,DVD格式

的光盘支持效果并不理想。可是这些文件格式都是我们常用的。所以我们先卸掉

原来的电影播放器,换装以xine为后台引擎的 totem电影播放器,或者直接安装

mplayer或kaffine作为电影播放器。我选择的是第一种
sudo apt-get remove totem-gstreamer
安装totem-xine电影播放器
sudo apt-get install totem-xine totem-mozilla totem
(执行这条命令将会自动安装 libmodplug0c2 libmpcdec3 libpulse0 libxcb-

shape0 libxcb-shm0 libxcb-xv0 libxcb1 libxine1 libxvmc1 等软件包。)
加入Medibuntu repository源
sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O

/etc/apt/sources.list.d/medibuntu.list
加入GPG key并刷新软件库
wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo

apt-key add - && sudo apt-get update
解码器的安装步骤很简单,第一步安装libdvdcss2
sudo apt-get install libdvdcss2
第二步,为以xine为后台引擎的totem电影播放器添加多媒体格式支持安装

libxine1-ffmpeg和libxine1-plugins :
sudo apt-get install libxine1-ffmpeg libxine1-doc libxine-doc

libxine1-plugins
(命令执行后将会自动安装 libmodplug0c2 libmpcdec3 libpulse0 libxcb-

shape0 libxcb-shm0 libxcb-xv0 libxcb1 libxine1 libxvmc1 libxine1-

console libxine1-gnome等软件包。)
第三步,安装w32codecs软件包为以xine为后台引擎的totem电影播放器添加更多

的多媒体格式支持其中包括Real Media、MPEG等:
sudo apt-get install w32codecs gcc-3.3-base libstdc++5
(网上说的是libstdc 5但提示没有源,我把它改成libstdc++5,好像没有什么问

题)
完成,以xine为后台引擎的totem电影播放器可以播放

mpeg,avi,mp3,wma,wmv,rmvb等格式的电影及音频。安装时如果出现需要输入

[Y/n]或[y/N],一律输入y并回车。播放各种媒体没有什么问题。

12安装 compiz 及相关套件
sudo apt-get install compiz-gnome compizconfig-settings-manager

compiz-fusion-plugins-main compiz-fusion-plugins-extras
直接启动 Compiz:
compiz --replace

2008-01-12

[转]用tar备份linux

“那我该用什么来备份我的系统呢?”也许你会问。小事一桩,就像你备份或压缩一个别的文件一样,TAR。不像Windows,Linux不限制根用户存取任何东西,因此,你完全可以把一个分区上每一个的文件放入一个TAR文件中。

来实施这一方法,用这个成为根用户:

sudo su

接着去你的文件系统的根目录(在我们的例子中,我们使用它,不过你可以去你希望备份的任何地方,包括远程或可移动驱动器。)

cd /

然后,下面就是我用来备份我的系统的完整的命令:

tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys

接着,让我们稍微解释一下:

* 很明显,'tar'部分就是我们将要使用的软件。
* 'cvpfz'是我们给tar加的选项,像“创建一个压缩文档”(这是显然的),“保存权限”(以便使每一个相同的文件有相同的权限),以及“gzip”(缩减大小)。
* 接下来,是压缩文档将获得的名称,在我们的例子中是backup.tgz。
* 紧随其后的是我们想要备份的根目录。既然我们想备份所有东西:/
* 接着就是我们要剔除的目录了。我们不想备份每一样东西,因为包括有些目录不是非常有用。同时确保你没有把备份文件本身也加进去了,否则,你会得到怪异的结 果的。你也许同样不打算把/mnt文件夹包括进来——如果你在那儿挂载了其他分区——否则最终你会把那些也备份的。同时确保你没有任何东西挂载在 /media(即没有挂载任何cd或可移动介质)。否则,剔除/media。

如果你想排除所有的其他分区,你可以使用 'l' 参数代替 --exclude, 上面的命令看起来象这样:

tar cvpzlf backup.tgz / --exclude=/lost+found --exclude=/backup.tgz

按:kvidell在论坛主题里建议也剔除/dev目录。不过,我有其他证据表明这样做是不明智的。

好了,如果命令适合你的话,敲击确定键(或者回车键,管它叫什么名字),然后什么都不用干,放松一下。备份也许会花上一段时间。

完了以后,在你的文件系统的根目录会有一个叫作backup.tgz的文件——很可能相当巨大。现在你可以把烧录到DVD上,或者移动到另一台机器,你可以做任何你想做的事情。

按2:在进程的最后,你也许会得到一条信息,写着“tar:由于先前错误的耽搁而存在错误”或者其他什么,不过大多数情况下你可以仅仅忽略它。

作为选择,你可以使用Bzip来压缩你的备份。这意味着较高的压缩比但是也意味着较低的速度。如果压缩比对你很重要,只需用“j”替换命令中的“z”, 同时给备份命一个相应的扩展名。这些会使命令变成这样:

tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys

2.1. 通过网络备份

如果空白的文件系统太少了并且你又不能挂载其它的文件系统来保存备份文件,你有可能使用 netcat 来完成备份.

在接受端你必须设置 netcat 用于写备份文件,象这样:

nc -l -p 1024 > backup.tar.bz2

然后你传送 tar 命令,不带 'f' 参数通过 netcat 在发送端,象这样:

tar cvpj / | nc -q 0 1024

在上面的命令中 1024 仅仅是一个随机的端口号, 任何从 1024 或以上的都可以工作.

如果安全的通过网络备份不依赖文件系统完成备份. 事实上一个真正快的网络比写备份文件到磁盘要快.

在上面的讲述中 (由于我刚刚发呆,因此我不能证实它是可靠的) 是这个命令:

tar cvpj / | ssh "cat > backup.tar.bz2"

3. 恢复

警告:看在上帝的份上,在这一部分请小心谨慎。如果你不理解你在这里干了什么,你可能最终毁坏了对你而言很重要的东西,所以请小心谨慎。 那么,我们将紧接着上一章的例子:在分区的根目录下的backup.tgz文件

再一次确保你是根用户以及备份文件在文件系统的根目录。

Linux 美妙的地方之一就是这一项工作甚至可以在一个正在运行的系统上进行;没必要被引导cd或者任何东西搞得晕头转向。当然,如果你使你的系统无法被引导了。你 也许别无选择,只能使用一张live-cd了,但是结果是一样的。你甚至可以在Linux系统正在运行的时候,移除它里面所有文件。可是我不告诉你那个命 令!

好了,言归正传。这是我要用的命令:

tar xvpfz backup.tgz -C /

如果你使用 bz2

tar xvpfj backup.tar.bz2 -C /

警告:这会把你分区里所有文件替换成压缩文档里的文件!

只要敲一下确定/回车/你的兄弟/随便什么,然后去看焰火吧。同样,这会花一段时间。等它完成了,你就有了一个完全恢复的Ubuntu系统!只需确保在你做其他任何事情之前,重新创建你剔除的目录:

mkdir proc mkdir lost+found mkdir mnt mkdir sys etc...

当你重启以后,所以的事情都会和你备份的时候一模一样。

3.1. 恢复 GRUB

那么,如果你想把你的系统移动到一块新硬盘上,或者,你想对你的GRUB做一些糟糕的事情(比方说,安装Windows),你也将需要重装GRUB。在这 个论坛里,有不少如何做这个的非常好的指导,所以我不会从头重新做起。相反,看一下这里(论坛) 或者这儿: RecoveringUbuntuAfterInstallingWindows

在这个论坛主题中,提出了一些方法。我个人建议第二个,remmelt贴出来的,因为我发现它每次都管用。

对,就是那个!我希望它有帮助!

2008-01-08

万能gshot制作记录

万能克隆有两种方法,一种是删除驱动直接克隆,一种是在删除驱动后再重新重新封装!使用第一种方法制作的Ghost XP,有可能使用第一台机的一些驱动留下来名勉强工作,于是造成系统不稳定等问题。所以我使用的是完全重新封装,与第一种的不同点我也会指出来。

  对于现在的硬盘,我认为没有必要为了一几十、几百兆的空间去删除一些系统文件,虽然可能不是经常用到它们,但终是有作用的。这里只讲关闭休眠功能和系统还原(我到现在还不明白xp的系统还原有什么作用)。

先关闭电源管理的休眠功能!点桌面右键--属性--屏幕保护---电源--高级。如图

  这时在C盘根目录下的页面文件hiberfil.sys会自动删除,这个文件与物理内存一样大。

  接着关闭系统还原和自动在线更新功能,点我的电脑---属性---系统还原和自动更新。如图:



  现在开始卸载和更改里面的驱动:注意是有顺序的!
  打开设备管理器(点我的电脑---属性---硬件--设备管理器)如下图:(各电脑硬件不一样,显示的内容也不一样,我的是Inter 810主板)

  先卸载网络适配器,和通用串行总线控制器,和声音,视频游戏控制器,监视器,显示卡,卸载时按右键,点卸载就行了。系统提示你要重新启动,都按否,不启动!(卸载显卡是为了防止GHOST到别的机上可能会出现的蓝屏现象)

接下去,更改计算机的Advanced Configuration Power Interface(ACPI)属性为Standard PC

注意:我是要制作重新封装的ghost,所以这一步是没有必要的,更改了反而不好,克隆之后还需要重新改回去,因为重新封装,会自动检测硬件驱动!如果没有使用重新封装来安装系统,则可以更改计算机的(ACPI)属性为Standard PC。其实现在大多数的电脑一般都是Advanced Configuration Power Interface(ACPI):(高级电源管理),则这一步其实可以不用做!

  点Advanced Configuration Power Interface(ACPI)右键,点更新驱动程序,弹出更新向导-----,点从列表或指定位置安装(高级)------点,不要搜索,我要自己选择要安装的程序,并更改成Standard PC,点确定之后,电脑也会提示你重新启动,按否,不启动!(如下图)

  更改的原因是:如果这里不更改,则新机中如果不是同类型的ACPI,(如现在的新主板显示为acpi uniprocessor pc!)则你新克隆的机上其他问题倒是没有,就是无法实现电脑软关机!

  所以,在GHOST到新机上后,将Standard PC重新改回你相应的电源管理模式就行了,

  最后,一定要更改 IDE ATA/ATAPI控制器,这一步就是XP系统万能GHOST的主要步骤所在!这步不做,则GHOST到别的机器里根本无法启动,电脑会不断重启!因此为了适应现在各种不同的主板,(如Inter 主板,VIA主板,SIS主板)则必须将你本机的IDE 控制器改成标准的双通道 PCI IDE控制器!
(如下图)

  点(本机是Intel(r)82801AA Bus Master IDE Controller-各主板不同)右键,点更新驱动程序,弹出更新向导-----,点从列表或指定位置安装(高级)------点,不要搜索,我要自己选择要安装的程序,并更改成标准的双通道 PCI IDE控制器,点确定之后,电脑也会提示你重新启动。这时候点确定之后直接关机!


  (注意,至此,删除驱动已完成,关机后进入ghsot就可以备份出一个万能ghsot了)

为了更稳定,更标准地让系统自行安装电脑硬件的驱动程序!这时候,我们想到了微软企业部署工具包里的Sysprep.exe--系统重新封装工具。

创建自动应答文件,系统重新封装!

  系统重新封装工具在Windows xp 安装光盘中都已自带!位置是安装光盘的(X:\SUPPORT\TOOLS\DEPLOY.CAB)文件,

  接下去我们一步步开始使用这个工具;我们用先在 C:盘根目录下建议一个名为Sysprep 的文件夹,并将DEPLOY.CAB压缩包文件用Winrar 解压缩到 c:\sysprep 如图

  其实我们用到的只有3个文件,但多几个也没关系!因为这个目录里和目录里的文件在系统第一次启动之后会自动删除,并不用我们操心!

  1.创建系统自动应答文件!

  玩过系统无人安装的同志,我想这里都不陌生!但新手也许会问“为何要创建这个文件!”其实,电脑系统无论是进行工厂模式安装,还是进行重新封装,都会要求用户输入一些必要的内容,如用户名,电脑名,安装序列号等,但是有一个很严重的问题,就是在新机GHOST克隆安装中,需要我们输入这些信息时,系统还未找到键盘鼠标的驱动,键盘鼠标假死,这时就必须让系统进行自动应答安装。否则安装肯定不成功!

  点击C:\sysprep\setupmgr.exe 文件,

点下一步!如面画面,当然是创建新文件啦!

点下一步:如下画面,这里我们选择Sysprep安装,

  点下一步,这里根据不同系统选择,我们是 XP专业版,选第二个!(当然了,如果你要做Windows 2003系统,这里就根据你的系统选择)


点下一步,这里一定要选完全自动安装,否则吃亏的是自己!


  点下一步,就来到这个安装管理界面!一看就明白,这些内容就是我们安装XP需要填写的内容,自动安装的好处就是,我们先输入,安装的时候就不用输入了!


 

  这里我们,只要输入必要的几项内容需要输入,其他的全部直接按下一步就行了!产品密钥当然是需要的!

  计算机名也是需要的,不然自动产生的名字一般都很难看的!


 

  管理员密码可以不输,(当然最好是不输,别人需要的时候别人会去改的)

  语言这里一定要选择简体中文

  其他内容都不用输入,也不用选择,下一步就行了,

  最后来到这个画面,点确定!

  点确定和完成,就成功地创建了全自动安装的应答文件。

  (并且,这个文件的文件名一定要 sysprep.inf,所在目录一定要在c:\sysprep目录下)

  如下图:

  特别提示:c:\sysprep 这个目录里不要放其他的东东,因为这个文件夹会在系统第一次启动应答安装完成之后,自动删除这个文件夹和这个文件夹里的所有的东东。

  系统重新封装

  至此,我们所有的准备工作完成!

  现在要做的就是最后的一步,系统封装,点击c:\sysprep\sysprep.exe,出现如下画面:


  点确定,出现如下画面!

其中,第一个按钮的(工厂)和第二个按钮的(审核)我们一般很少用,我们要用的就是重新封装!

在选项中,还有4个选项!

  其中,第一项(不重置激活的宽限期)和第三项的(不重新产生安全标识符)都是XP以上系统专用,也就是正版用户激活用的,而我们所建议用的系统是上海政府版,或俄罗斯电话激活破解版,于是这两项其实选与不选无所谓,对GHOST克隆后的系统在使用上都无影响!

第二项的(使用最小化安装)既所谓的 PNP 安装,好象也叫无残留驱动安装,这也正是我们需要的,因此这项一定要选上。

第四项的(检测非即插即用硬件),这一选项不用选上,因为即使有非即插即用的古董级硬件,我们在系统安装好之后再安装驱动也不迟!

做了这么长时间的准备工作,我们终于可以重新封装系统了!点击重新封装按钮,大约半分钟过后,电脑开始自动关机。

进入ghsot备份,完成。

[转]史上十大最具有感染力和破坏力的病毒

NO.1 “CIH病毒” 爆发年限:1998年6月CIH病毒(1998年)
是一位名叫陈盈豪的台湾大学生所编写的,从中国台湾传入大陆地区的。CIH的载体是一个名为“ICQ中文Ch_at模块”的工具,并以热门盗版光盘游戏如“古墓奇兵”或Windows95/98为媒介,经互联网各网站互相转载,使其迅速传播。
CIH病毒属文件型病毒,其别名有Win95.CIH、Spacefiller、Win32.CIH、PE_CIH,它主要感染Windows95/98 下的可执行文件(PE格式,Portable Executable Format),目前的版本不感染DOS以及WIN 3.X(NE格式,Windows and OS/2 Windows 3.1 execution File Format)下的可执行文件,并且在Win NT中无效。其发展过程经历了v1.0,v1.1、v1.2、v1.3、v1.4总共5个版本。
损失估计:全球约5亿美元

NO.2 “梅利莎(Melissa)”爆发年限:1999年3月
梅利莎(1999年)是通过微软的Outlook电子邮件软件,向用户通讯簿名单中的50位联系人发送邮件来传播自身。该邮件包含以下这句话:“这就是你请求的文档,不要给别人看”,此外夹带一个Word文档附件。而单击这个文件,就会使病毒感染主机并且重复自我复制。
1999年3月26日,星期五,W97M/梅利莎登上了全球各地报纸的头版。估计数字显示,这个Word宏脚本病毒感染了全球15%~20%的商用PC。 病毒传播速度之快令英特尔公司(Intel)、微软公司(Microsoft,下称微软)、以及其他许多使用Outlook软件的公司措手不及,防止损 害,他们被迫关闭整个电子邮件系统。
损失估计:全球约3亿——6亿美元
NO.3 “爱虫(Iloveyou)”爆发年限:2000年
爱虫(2000年)是通过Outlook电子邮件系统传播,邮件主题为“I Love You”,包含附件“Love-Letter-for-you.txt.vbs”。打开病毒附件后,该病毒会自动向通讯簿中的所有电子邮件地址发送病毒邮 件副本,阻塞邮件服务器,同时还感染扩展名为.VBS、.HTA、.JPG、.MP3等十二种数据文件。
新“爱虫”(Vbs.Newlove)病毒同爱虫(Vbs.loveletter)病毒一样,通过outlook传播,打开病毒邮件附件您会观察到计算机 的硬盘灯狂闪,系统速度显著变慢,计算机中出现大量的扩展名为vbs的文件。所有快捷方式被改变为与系统目录下wscript.exe建立关联,进一步消 耗系统资源,造成系统崩溃。
损失估计:全球超过100亿美元
NO.4 “红色代码(CodeRed)”爆发年限:2001年7月
红色代码(2001年)是一种计算机蠕虫病毒,能够通过网络服务器和互联网进行传播。2001年7月13日,红色代码从网络服务器上传播开来。它是专门针 对运行微软互联网信息服务软件的网络服务器来进行攻击。极具讽刺意味的是,在此之前的六月中旬,微软曾经发布了一个补丁,来修补这个漏洞。
被它感染后,遭受攻击的主机所控制的网络站点上会显示这样的信息:“你好!欢迎光临www.worm.com!”。随后病毒便会主动寻找其他易受攻击的主机进行感染。这个行为持续大约20天,之后它便对某些特定IP地址发起拒绝服务(DoS)攻击。不到一周感染了近40万台服务器,100万台计算机受到感染。
损失估计:全球约26亿美元
NO.5 “冲击波(Blaster)”爆发年限:2003年夏季
冲击波(2003年)于2003年8月12日被瑞星全球反病毒监测网率先截获。病毒运行时会不停地利用IP扫描技术寻找网络上系统为Win2K或XP的计 算机,找到后利用DCOM RPC缓冲区漏洞攻击该系统,一旦成功,病毒体将会被传送到对方计算机中进行感染,使系统操作异常、不停重启、甚至导致系统崩溃。
另外该病毒还会对微软的一个升级网站进行拒绝服务攻击,导致该网站堵塞,使用户无法通过该网站升级系统。在8月16日以后,该病毒还会使被攻击的系统丧失更新该漏洞补丁的能力。
损失估计:数百亿美元
NO.6 “巨无霸(Sobig)”爆发年限:2003年8月
巨无霸(2003年)是通过局域网传播,查找局域网上的所有计算机,并试图将自身写入网上各计算机的启动目录中以进行自启动。该病毒一旦运行,在计算机联 网的状态下,就会自动每隔两小时到某一指定网址下载病毒,同时它会查找电脑硬盘上所有邮件地址,向这些地址发送标题如:"Re: Movies"、"Re: Sample"等字样的病毒邮件进行邮件传播,该病毒还会每隔两小时到指定网址下载病毒,并将用户的隐私发到指定的邮箱。
由于邮件内容的一部分是来自于被感染电脑中的资料,因此有可能泄漏用户的机密文件,特别是对利用局域网办公的企事业单位,最好使用网络版杀毒软件以防止重要资料被窃取!
损失估计:50亿——100亿美元
NO.7 “MyDoom”爆发年限:2004年1月
MyDoom(2004年)是一例比“巨无霸病毒”更厉害的病毒体,在2004年1月26日爆发,在高峰时期,导致网络加载时间减慢50%以上。它会自动 生成病毒文件,修改注册表,通过电子邮件进行传播,并且它还会尝试从多个URL下载并执行一个后门程序,如下载成功会将其保存在Windows文件夹中, 名称为winvpn32.exe。该后门程序允许恶意用户远程访问被感染的计算机。
病毒使用自身的SMTP引擎向外发送带毒电子邮件,进行传播。病毒会从注册表的相关键值下和多种扩展名的文件中搜集邮件地址,病毒还会按照一些制定的规则自己声称邮件地址,并向这些地址发送带毒电子邮件。病毒同时会略去还有特定字符的邮件地址。
损失估计:百亿美元
NO.8 “震荡波(Sasser)”爆发年限:2004年4月
震荡波(2004年)于2004年4月30日爆发,短短的时间内就给全球造成了数千万美元的损失,也让所有人记住了04年的4月,该病毒为I- Worm/Sasser.a的第三方改造版本。与该病毒以前的版本相同,也是通过微软的最新LSASS漏洞进行传播,我们及时提醒广大用户及时下载微软的 补丁程序来预防该病毒的侵害。如果在纯DOS环境下执行病毒文件,会显示出谴责美国大兵的英文语句。
震荡波感染的系统包括Windows 2000、Windows Server 2003和Windows XP,病毒运行后会巧妙的将自身复制为%WinDir%\napatch.exe,随机在网络上搜索机器,向远程计算机的445端口发送包含后门程序的非 法数据,远程计算机如果存在MS04-011漏洞,将会自动运行后门程序,打开后门端口9996。
损失估计:5亿——10亿美元
NO.9 “熊猫烧香(Nimaya)”爆发年限:2006年
熊猫烧香(2006年)准确的说是在06年年底开始大规模爆发,以Worm.WhBoy.h为例,由Delphi工具编写,能够终止大量的反病毒软件和防 火墙软件进程,病毒会删除扩展名为gho的文件,使用户无法使用ghost软件恢复操作系统。“熊猫烧香”感染系统的*.exe、*.com、 *.pif、*.src、*.html、*.asp文件,导致用户一打开这些网页文件,IE自动连接到指定病毒网址中下载病毒。在硬盘各分区下生成文件 autorun.inf和setup.exe.病毒还可通过U盘和移动硬盘等进行传播,并且利用Windows系统的自动播放功能来运行。
“熊猫烧香”还可以修改注册表启动项,被感染的文件图标变成“熊猫烧香”的图案。病毒还可以通过共享文件夹、系统弱口令等多种方式进行传播。
损失估计:上亿美元
NO.10 “网游大盗”爆发年限:2007年
网游大盗(2007年)是一例专门盗取网络游戏帐号和密码的病毒,其变种wm是典型品种。英文名为Trojan/PSW.GamePass.jws的“网 游大盗”变种jws是“网游大盗”木马家族最新变种之一,采用VisualC++编写,并经过加壳处理。“网游大盗”变种jws运行后,会将自我复制到 Windows目录下,自我注册为“Windows_Down”系统服务,实现开机自启。
该病毒会盗取包括“魔兽世界”、“完美世界”、“征途”、等多款网游玩家的帐户和密码,并且会下载其它病毒到本地运行。玩家计算机一旦中毒,就可能导致游戏帐号、装备等丢失。在07年轰动一时,网游玩家提心吊胆。
损失估计:千万美元

2008-01-06

[转]2007年计算机病毒整体情况及特征

江民反病毒预警中心、江民全球病毒监测网提供的数据显示,截至12月份,江民反病毒中心共截获计算机新病毒总数为363000余种,这一数字是2006年的六倍多,至此江民杀毒软件KV系列病毒库总量已经超过80万。2007年全年病毒累计感染电脑 34414793台,新病毒感染电脑台数为28879529台,其中木马病毒感染24875117 台,占病毒总数的72.28%;后门病毒感染1987821台,占病毒总数的5.78%;蠕虫病毒感染1556124台,占病毒总数的4.52%;流氓软件感染2502563台,占病毒总数的7.27%;脚本病毒80026台,占病毒总数的0.23%。。
2007年上半年计算机病毒增长较为平缓,下半年计算机病毒增长迅猛,江民反病毒中心全年截获的病毒中,有三分之二的新病毒系下半年截获,平均日升级病毒数量近2000种。综合来看,2007年计算机病毒呈现以下特征:

(2007年新增病毒数对比 数据来源:江民科技)

(2007年计算机病毒种类分析 数据来源:江民科技)
一、AUTO类病毒发作率居高不下,移动存储安全堪扰
利有微软系统AUTORUN自动播放功能的病毒进入2007年以后一直居高不下,几乎所有新的木马病毒都具备了这一传播特征。例如年度十大病毒“熊猫烧香”“ANI病毒”等都可利用AUTORUN自动播放功能通过U盘传播。去年底和今年年底爆发的“熊猫烧香”病毒导致上百万台电脑受到损害,而U盘正是病毒传播和藏身的主要介质。 “熊猫烧香”病毒会向U盘释放出一个名为“autorun.inf”的病毒文件,使用U盘的用户只要双击U盘,就会激活并运行病毒。 “ANI病毒”同样具有这一特征,病毒除了自我复制到各逻辑磁盘根目录下,创建“autorun.inf”自动播放配置文件,用户一旦双击盘符即可激活病毒,造成再次感染。许多通过网页挂马传播的病毒均具有此类特征,普通用户即使格式化C盘重装系统,双击带毒U盘或其它硬盘分区,病毒仍然能够激活。
据不完全统计,中国国内的U盘和移动硬盘的保有量在2006年已经突破3000万只。U盘和移动硬盘已经成为了IT从业人员以及商务人士必备的基本沟通工具。如同当年的软盘一样,U盘已经成为最大的计算机病毒载体,保护U盘等移动存储设备数据安全,阻止病毒通过U盘等移动存储设备疯狂传播,已经成为反病毒厂商面临的主要问题之一。
二、应用软件漏洞成网页挂马新宠
众所周知,近几年以来,微软系统漏洞一直是网页木马的最主要传播途径。然而,2007年下半年,江民科技反病毒中心最新的监测结果显示,越来越多的病毒开始绕开微软系统漏洞,转而利用国产应用软件的漏洞传播。
江民科技反病毒中心最新的网页挂马漏洞监测结果显示,自2007年9月到11月这短短的三个月以来,国产应用软件漏洞已经超越了微软MS06-14和MS07-17这两大网页木马最常用的漏洞,成为网页挂马的“新宠”。
监测结果显示,9月初网页木马利用微软漏洞比例还高达90%,而进入10月以来网页木马利用国产应用软件漏洞的比例大幅提高,到11月网页木马利用国产应 用软件漏洞的比例达到了45%,而利用微软漏洞的比例仅为30%,网页挂马利用国产应用软件漏洞进行传播已经成为病毒发展新趋势。
三、自杀式病毒越来越多,隐蔽性更强
进入2007年以来,更多的病毒开始刻意隐藏自身,以此逃避杀毒软件查 杀并更深地潜伏在目标电脑中,在电脑用户毫无知觉的情况下完成盗号窃密过程。与去年"熊猫烧香"发作后在电脑中生成无处不在的熊猫图案不同,现在的病毒作 者在编写病毒时更加注重自身的隐蔽。病毒作者主要采用三大隐身术,通过RootKit技术隐藏病毒进程、病毒文件、隐藏数据传输端口以及注册表内键值;通 过篡改注册表相关键值屏蔽显示隐藏文件的功能;使用IEFO重定向劫持技术禁止杀毒软件运行。
如“证券大盗”病毒在完成盗号目的后,就会自杀,清除所有自身留在电脑里的蛛丝马迹,让受害者找不到任何破案线索;而灰鸽子(Backdoor/Huigezi)后门病毒、友好客户(Backdoor/PcClient)后门病毒,以及部分版本的网游大盗(Trojan/PSW.GamePass)木马等,都采用RootKit技术编写,以达到隐藏自身,躲避检测,躲避查杀的目的。
四、ARP病毒多发
2007年上半年,江民科技就已经提出ARP病毒将成为病毒发展的一个新趋势,果然在下半年,ARP类越来越多,几乎多数企业的网络故障均来自ARP病毒。ARP病毒也叫做ARP地址欺骗类病毒,是一类特殊的病毒。该病毒一般属于木马病毒,不具备主动传播的特性,不会自我复制,但是由于其发作的时候会向全网发送伪造的ARP数据包,严重干扰全网的正常运行,其危害甚至比一些蠕虫病毒还要严重得多。
ARP病毒发作时,通常会造成网络掉线,但网络连接正常,内网的部分电脑不能上网,或者所有电脑均不能上网,无法打开网页或打开网页慢以及局域网连接时断时续并且网速较慢等现象,严重影响到企业网络、网吧、校园网络等局域网的正常运行。更为严重的是,近期网上流行的ARP病毒新变种出现了新特征,该类ARP病毒同样是向全网发送伪造的ARP欺骗广播,但病毒把自身伪装成网关,在所有用户请求访问的网页添加恶意代码,导致杀毒软件在用户访问任意网站均发出病毒警报。
五、越来越多的病毒通过视频文件传播
随着2007年BT以及播客的应用与繁荣,众多网民热衷于网上下载电影、电视等视频文件,病毒开始瞄准这一传播途径大肆传播。黑客最常用的视频漏洞无疑应该是Real脚本漏洞。由于Real格式的视频文件可以内嵌一个网址,并在打开视频文件时自动打开内嵌的网址,因此许多黑客在一些热门的视频文件内嵌入一个带有大量病毒的恶意网址。一旦网友下载并打开了该视频文件,即可从嵌入的恶意网址中下载大量的病毒,轻者电脑运行缓慢直至死机,严重的中毒电脑将会成为黑客手中肉鸡,电脑内所有的数据和资料都可以被黑客轻易窃取。由于利用Real格式的视频传播病毒非常简单方便,大量的网友中招,因此利用该漏洞的Exploit.JS.Real(Real脚本病毒)得以迅速蔓延,也因此被列入2007年十大病毒之列。

2008-01-05

[转]浅谈关于Unix操作系统下的病毒特点

ELK CLONER:第一个计算机病毒,它将会得到你磁盘上所有的东东,它甚至将渗透到芯片内部,这就是Cloner!它会象胶水一样粘住你,它还会修改内存!

计算机病毒是大量的电子破坏技术手段中最著名的成员。它们实际上就是一些非常危险的恶意程序,它们是丑陋的,不过在我看来它们很可爱,源于我对 Internet的驾驭和对计算机程序的探索。它们会复制自己并且可以传染其它文件,这些被传染的文件甚至包括了那些很清白的文档文件。而且它们很容易获 得,他们可以随处传播,任何时间、任何地点。实际上,没有一个OS可以完全抵御病毒,一个病毒可以完全依靠系统本身进行复制,比如利用Windows系列 操作系统的pe格式的可执行文件和利用类unix操作系统的elf格式。所以,任何计算机病毒都依附于OS的体系结构,各种OS的病毒的写法都不一样,但 任何OS也逃避不了病毒,包括Linux。

正如以上所说,Linux也可以被感染,就像Windows NT或者Mac OS这样的操作系统一样。不论是PC机上的DOS或Windows,或者是Amiga,都可以创造出病毒代码。那么,我们为什么不来看看在Windos NT或Linux系统上的一些病毒呢?
你也许会奇怪,事实上第一个计算机病毒是Unix病毒(有可能第一个就是ElkCloner,好象是编写于1980到1982年之间)。 FredCohen在4BSD的VAX系统上编写了一些非常早的Unix病毒,一年以后ElkCloner就诞生了。由于Unix系统具有内存保护机制, 所以人们不太相信Unix系统上的病毒的危害性会超过Windows和DOS系统,但他们错了。

一些公共的误区

一个最大的误区就是很多高性能的安全系统对病毒蔓延的预防。因为我们是利用DOS系统和它本身并不存在任何内存保护机制和数据保护机制,我们认为病毒可以 完全控制计算机的所有资源。是的,它们会很轻易地成为DOS和简单Windows操作系统的完全控制用户。没有内存保护机制和数据保护机制,计算机病毒可 以夺取所有的计算机控制权。相对来说,Windows NT和Unix系统是非常高级的保护机制的系统。这可以预防大多数的病毒的传染,但不是所有的。当一个用户以root或administrator的身份 来操作的时候,这些系统的保护机制实际上是停止了的。一个设计的很巧妙的病毒可以利用自己的方法来找到文件系统上的每个文件,NT ownership或者ACL机制都没有很好的重视这个问题。

另一个误区就是认为Linux系统尤其可以防止病毒的感染,因为Linux的程序都来自于源代码,不是二进制格式,这才应该值得重视,因为毕竟只有极少数 的人(甚至管理员)才有足够的能力来从源代码中发现病毒代码,而且这是一个相当耗费时间和精力的工作。一般的用户习惯于用二进制格式的文件来交流,因为他 们不想在使用这些程序的时候还要很繁琐的执行诸如make config、make之类的命令,他们喜欢很简单的运行程序。所有的这些原因就给了Unix系统上的病毒有足够的空间来访问和操控系统。
第三个误区就是认为Unix系统是绝对安全的,因为它具有很多不同的平台,而且每个版本的Unix系统有很大的不一样。但是现在不能这样看了,现在的病毒 都用标准C来编写以适应任何类Unix操作系统,并且他们可以用make程序来跨平台编译。想想那个Morris写的internet的蠕虫病毒利用的就 是这项技术,并且拥有标准的ELF二进制格式和库文件。

Shell脚本

我们面临的第一个问题就是如何传播的问题,这是天生具有的问题,至少在Unix系统上是如此,我们需要想办法使各个平台兼容,所以我们首先想到的是: shell脚本语言。shell在不同的Unix系统上面的差别很小,所以FredCohen在他的书《入侵者、蠕虫和病毒》(发表于1990年)中写 道:“在unix的命令解释语言中,病毒代码可以被写到200个字节之内。”也许我们可以根据他的话来写一个man page的病毒脚本,可以用来操作文件和可执行程序,这和宏病毒非常相像。man page的病毒不会蔓延到别的系统上,除非你有为别的用户改变man page的格式的习惯。无论如何,这种病毒都是一个公共的跨系统的病毒。同样,也可以写另个一个脚本病毒来控制mail的阅读者。
书写shell脚本病毒是一个很简单的制造Unix病毒的方法。我知道肯定会有很多同行会说,脚本病毒怎么会是真正的病毒呢?它只是用脚本语言来书写的而 不是用汇编。但是实际上,我们评定一个病毒是病毒本身可以在系统上任意感染传播,而不是这个病毒的大小或者用什么语言来写的。在USENIX1989 卷2上你可以看到Tom Duff和M. Douglas McIlroy的脚本病毒代码。shell脚本病毒的危害性不会很大并且它本身极易被破坏,因为它是以明文方式编写并执行的,任何用户和管理员都可以发觉 它的代码。但是,我想大多数的用户都不会理解一下代码的吧:

for %%f in (*.bat) do copy %%f + bfv.bat

通常一个用户会深信不疑地去执行任何脚本,而且不会过问该脚本的由来。这样,这些用户都成为病毒的目标了;这些都是用户的意识问题,这样是没办法避免病毒的入侵的,所以我们的用户需要大大加强对这些病毒的防范意识。

蠕虫

另外的一个影响广泛的技术就是蠕虫,想象一下Morris蠕虫:利用攻击程序——一般这些攻击程序都是已经存在的技术。这个蠕虫利用一个sendmail 程序已存在的漏洞来获取其它机器的控制权。病毒一般会利用rexec、fingerd或者口令猜解来尝试连接。在成功入侵之后,它会编译在目标机器上编译 源代码并且执行它,而且会有一个程序来专门负责隐藏自己的脚印。Internet的蠕虫病毒一般都是利用已知的攻击程序去获得目标机的管理员权限,但是蠕 虫的生命也是很短暂的,当该病毒所利用的漏洞被修补的话,那么该蠕虫也就失去它的作用了,因为他们需要利用exploit这个媒介来进行自身的复制。而 exploit又是只针对特定版本的特定程序才会有效的,所
以蠕虫的跨平台能力很差,时效性也很弱。

欺骗库函数

我们可以愚弄那些比较傻的用户。如果你利用LD_PRELOAD环境变量来捉弄他,你可以让他执行你自己的代码,你已经利用LD_PRELOAD环境变量 把标准的库函数替换成了你自己的程序,挺有意思吧?LD_PRELOAD并不是linux系统特有的,并且它一般用在一些应用程序(比如老版本的 StarOffice需要运行在较新版本的Redhat系统上)必须用他们自己的(或者比较老的版本,或者修改过的)库函数,因为在安装的时候没有满足他 们的需求。Quantum(Staog病毒的作者)在Unix病毒的邮件列表里面提供了这些代码,我做了修改,也是为了便于大家理解:
------------------------tryld.c------------------------------extern int __open(char *, int, int); extern int execv(char *, char *[], char *envp[]); int open(char *path, int flags, int mode){ printf("open: %s\n", path); return __open(path, flags, mode); } /* 注意这里,原来它放弃了envp参数,这样会...:(?! 呵呵,所以我修改了一下,影响不大:)*/ int execve(char *path, char *args[], char *envp[]){ printf("execve: %s\n", path); return execv(path, args, envp); } --------------------------------------------------------------


------------------------main.c--------------------------------/*test only,by e4gle*/ #include #include #include #include main() { int fd; execve("/bin/date","",NULL); if(fd=open("/etc/inittab",O_RDONLY)!=-1) { fprintf(stdout,"open file succeed!\n"); } else fprintf(stderr,"open error!\n"); close(fd); return 0; } ----------------------------------------------------------------

这段代码获取open和execv并且改变了它们的输出,好,我们测试一下:


[e4gle@redhat62 elf]$ gcc -o main main.c [e4gle@redhat62 elf]$ ./main open file succeed! <--证明我们打开文件成功了,open调用正常工作 [e4gle@redhat62 elf]$ ldd -v -r ./main libc.so.6 => /lib/libc.so.6 (0x4001c000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) Version information: ./main: libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /lib/libc.so.6: ld-linux.so.2 (GLIBC_2.1.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2 /*跟踪一下库函数的利用,都是glibc的标准库函数,solaris里面是sotruss,我个人认为sotruss 比较好用:)*/ [e4gle@redhat62 elf]$ gcc -shared -o tryld tryld.c [e4gle@redhat62 elf]$ export LD_PRELOAD=./tryld <--用我们自己的lib [e4gle@redhat62 elf]$ ./main execve: /bin/date open: /etc/inittab open file succeed! /*注意!不一样了吧?已经在用我们自己的open和execve了,呵呵:)*/

以上仅仅是个测试代码并且没有任何危害性,但是它足以说明我们利用欺骗函数库来攻击程序的原理。


内核级的传播

这里我们称作“内核级别的病毒”,病毒可以传染内核映像,这样病毒可以控制系统的方方面面。但是这种病毒技术目前尚处于理论阶段,并没有真正实现,但并不代表以后都不会出现。

与平台兼容的病毒

如果我们用标准C来书写病毒代码的话,各种不同体系的Unix系统对于我们来说变化不大,我们只需要对方计算机有一个C编译器。这样的病毒可以很轻易地扩 散,利用普通用户的.rhosts文件这种小伎俩就可以做到。假如没有exploits(是有可能的,因为病毒是跨平台的,因而它可以不借助 Exploit来四处扩散),这种可以跨平台的病毒的传染面是非常广的,而且似乎根本没有结束的时候。

当然,很多病毒都还是用汇编来编写的。有很多著名的病毒,但不是第一个Linux病毒Bliss,第一次发表于1997年.Bliss传染ELF格式的二 进制文件,但是并没有太多的伤害,它甚至可以利用被感染文件的--bliss-disinfect-files-please参数来卸载。假如你需要在你 的文件里查找Bliss,注意以下字段:

E8ABD8FFFFC200003634 65643134373130363532

最早的Linux病毒是Staog,比Bliss早半年。它用汇编书写并且利用三个/dev/kmem的exploits来获得的特权,它可以感染任何文件并且可以传播。它的关键字段:

215B31C966B9FF0131C0 884309884314B00FCD80

当我们利用ELF格式的二进制文件来做病毒:这种病毒被誉为计算机病毒中的标准模式——他们用汇编编写并且它们通过可执行程序感染,很像典型的DOS下的 病毒。可以通过往elf文件的文本段之后的填充区增加代码来感染ELF文件,搜索目录树中文件的ET_EXEC和ET_DYN标记看看是否被隐藏(这些依 靠管理员自身的经验)。

当然,在Linux系统下实现这种病毒并不太容易。一个病毒感染的文件属于是普通用户权限的话,那么病毒所得到的权限当然也就只有普通用户权限(并且病毒 不会利用Exploit来提升权限),只能对该用户权限级别的文件和数据造成危害。但是当一个病毒感染了一个root权限的文件的话,那么它就可以控制系 统的一切了。

我们安全么?

一个很实际的问题。现在我们的Linux系统还可能比较安全,但以后不代表一致这样。Linux系统越来越流行,这将引来一大批的病毒制造者的目光。很多 用户都有可能是潜在的病毒制造者,而且如果把Unix的很多用户对Unix本身的了解正在减少算在内的话,我们就麻烦了。现在已经有了一些Linux系统 上的反病毒程序,现在甚至包括我还有很多Unix的系统管理员在内都对制造反病毒程序非常感兴趣。在一个蠕虫出现之后,我们可以查阅各种文档,甚至书籍, 所以我们都一直也在努力着。

最后一个很具讽刺的玩笑:我们具有真正有效的Linux反病毒程序,那么微软的outlook/exchange等也和Linux联合了,我们也就真正安全了,可能么?呵呵。

挂载freebsd

1. 在Windows中,把FreeBSD的安装光盘内boot目录下boot1文件复制到WinNT/2000/XP/2003 的C:\下,再给C:\boot.ini 添加一行代码:
c:\boot1="FreeBSD 5.3 Release"
系统启动就有选择菜单了。

2. 安装FreeBSD,Fdisk的时候,在硬盘的第一个分区,按S=set bootable
同时安装引导器选标准的mbr。

这样就可以用windows的引导器引导freebsd.


Linux挂载freebsd:sudo mount -r -t ufs -o ufstype=ufs2 /dev/sda11 /media/FreeBSD


首先,你的 kernel 當初編譯時要有選 bsd partition 的相關支援,要不然一定無法存取。

freebsd 的 slice 項目,對於 linux 來說是沒有應對項目,所以要支援只能夠使用傳統的 logical partition 來解決。

比方你的 freebsd 硬碟在 linux 是 hda,我建議你執行 dmesg | grep hda 看一下系統核心抓到分割區的
劃分狀態。比方是:

〈code〉
Partition check:
hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4 < hda9 hda10 >
〈/code〉

若你的 freebsd 分割區是劃分在 hda4 上,那你後續要掛入的應該是 hda9 與 hd10 這類。不過還要看你的 slice 裡面怎樣劃分的。

掛入方式,一般是使用:

mount -t ufs -o ufstype=44bsd /dev/hda9 /mnt

不過若是你安裝的 fbsd 是使用 ufs2 的話,那要改成:

mount -t ufs -o ufstype=ufs2 /dev/hda9 /mnt