一个 Debian bittorrent 软件


BT(BitTorrent)出现后,立即受到欢迎。一些好用的下载软件也随即推出,如Windows下常用的bitcomet。Linux下也有一些好用的BT下载工具,但多数都比较具备GNU简洁和命令行方式特色,因此不太受国人的喜受,如bittorrent,bittorrent-gui等。随着Linux桌面软件的发展,许多优秀的桌面软件不断推出,BT客户端软件也自然少不了了。今天推荐给大家的是收录到Debian(contrib)的一款非常好用的BT下载软件:Azureus。Azureus是一款基于Java的GUI软件,其功能非常丰富,并支持跨平台运行,因此,如果喜欢,你也可以在Windows或MAC下使用Azureus。软件基于GPL License,支持开放接口,用户可以根据需要创建自己的插件。

安装azureus非常简单,通过apt-get直接安装即可:

root@debian ~# apt-get update
root@debian ~# apt-get install azureus
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
将会安装下列额外的软件包:
libcommons-cli-java liblog4j1.2-java libseda-java libswt-gtk-3.2-java
libswt-gtk-3.2-jni
建议安装的软件包:
libgnumail-java libswt-mozilla-gtk-3.2-jni libswt-gnome-gtk-3.2-jni
推荐安装的软件包:
java-package
下列【新】软件包将被安装:
azureus libcommons-cli-java liblog4j1.2-java libseda-java libswt-gtk-3.2-java
libswt-gtk-3.2-jni
...
正在设置 libswt-gtk-3.2-jni (3.2-1) ...
正在设置 libswt-gtk-3.2-java (3.2-1) ...
正在设置 azureus (2.5.0.0-1) ...
root@debian ~#

安装完成后,可以在Internet站点下发现 Azureus 菜单项,直接选取即可启动。软件的使用说法就不介绍了,其包括了大多数BT客户端都具备的功能。


Debian Live

Debian live可不是Microsoft live service,其目的是创建Debian的可运行光盘版本,包括可运的CD、DVD、USB以及网络启动映像,开发基于Etch或更高的Debian版本。Debian live 的三条指导原则是:

  1. 使用未修改过的官方包;
  2. Live系统不能有配置文件;
  3. 没有Live系统到硬盘的安装程序。

目前,Debian live项目已经取得了一定的成绩,非稳定版本(unstable)和测试版本(testing)已经可以正常工作。如果希望了解更多的信息,可以订阅Debian live的邮件列表(debian-live-devel@alioth.debian.org),加入项目的IRC或查看项目Wiki,开发者可以通过Subversion直接获取项目最新代码:

svn co svn://live.debian.net/

可以从下面的站点下载Debian live CD:

用ndiswrapper驱动无线网卡

最近试了一下在Debian下安装无线网卡,由于是笔记本电脑的PCMCIA卡,这种卡多数只提供Windows的驱动程序而没有Linux的驱动,查了一些资料,发现可以通过ndiswrapper来完成将Windows驱动直接加载到Linux中使用的功能。下面就讲一下如何在Debian下安装ndiswrapper并配置无线网卡。

查到的文字中多数通过下载ndiswrapper源码,并通过重新编译核心等复杂的方法来完成,因为ndiswrapper需要编译一些用户工具并安装一个核心模块。这里介绍一下通过Debian的一些工具来辅助完成模块编译等工作的过程。要说明一下的是,如果你使用的是稳定版本或非稳定版本的较早期一点的核心,你可能直接在Debian的官方或非官方包中找到你想要的驱动。我使用的是Debian的unstable版本,最初测试时用的核心是kernel-images-2.6.8-3-686,并且可以发现安装包中有这个核心已经编译好的ndiswrapper模块。这样,所有的安装过程就简单到执行几条apt-get命令:

root@debian ~# apt-get install ndiswrapper-modules-2.6.8-2-386
root@debian ~# apt-get install ndiswrapper-common

不幸的是,我太喜欢新的东东了,所以过了几天,我的核心升级到了2.6.17-1,这时,对应的ndiswrapper模块没有了。这时,也不要先考虑到ndiswrapper的站点上去下载源码并编译,可以考虑通过下载并编译Debian包源码来完成ndiswrapper驱动的安装。Debian的安装包中的确有一个叫ndiswrapper-source的包,简单的想法肯定的下载后,下载当前核心的头文件(kernel-headers-2.6.17-1),然后编译并安装ndiswrapper的核心模块。不过,Debian提供更为简洁的方法来完成这些工作。

Debian中有一个叫module-assistant的工具,这个工具可以用来创建一个以当前核心为基础的模块核心编译环境,并提供菜单式的简洁操作界面来编译核心所支持的第三方模块。如果你的系统上还没有安装这个工具,通过下面的命令来安装:

root@Debian ~# apt-get install module-assistant

安装完成后,直接运行 module-assistant 可以看到一个 curses 的图形界面,提供一些菜单项,包括:

  • OVERVIEW: 总体介绍module-assistant的功能;
  • UPDATE:更新缓存信息,类似于apt-get update的功能,从镜像站获得包更新;
  • PREPARE:准备模块编译所需环境,如下载相应核心的头文件,配置文件,安装必要的工具等;
  • SELECT:选择需要编译的核心模块;
  • EXIT: 退出module-assistant。

与dselect相类似,一次模块的编译工作可以通过顺序选择一次菜单来完成。中间会有一些提示确认信息或安装一些新的软件包,根据提示确认即可。依次选择UPDATE和PREPARE后,module-assistant已经作好编译核心模块的必要准备工作。选择select项,进入一个新的选择页面,其中列出了可供选择的所有核心模块,从列表中找到ndiswrapper选中后确认,出现一个新的菜单。这个菜单是对于选中的模块可进行的操作列表,不再详细说明。仍然可以通过顺序选取每一项来完成模块的编译(前两项LIST和SEARCH可以不必选)。选择GET将从Debian提供的镜像站下载ndiswrapper源码,选取BUILD进行模块编译,这可能需要一些时间。最后,选择INSTALL,编译出的ndiswrapper核心模块被安装到系统的核心模块并自动完成模块的依赖更新和本模块依赖的软件的安装(如会安装ndiswrapper-common,ndiswrapper-utils包等)。

顺利的话,上面的过程完成后,ndiswrapper驱动就安装完成了,并且ndiswrapper工具也自动被安装到系统中了。安装完ndiswrapper是否就可以使用无线网卡了呢?还不行,上面的工作只代表着在Linux下使用Windows的基于ndis驱动的准备工作完成了。下面我们来安装无线网卡驱动程序,并简单说明一下如何进行配置。

安装PCMCIA无线网卡驱动

我用的是一款TENDA的PCMCIA无线网卡,查看驱动后,从inf文件中发现其基于Marvell的芯片做的,用的实际上是Marvell的驱动(mrv8335)。使用ndiswrapper时,通常只需要驱动程序中的inf文件和sys扩展名的文件。简单的方法是让ndiswrapper自己来选择需要哪些文件。将无线网卡驱动在Debian下解开(Debian下可以安装unzip和unrar等工具来解压或压缩zip和rar文件),选择windows2000或windowsXP的驱动目录,找到相应的inf文件,使用类似下面的命令来安装:

root@debian ~# ndiswrapper -i mrv8335.inf

完成后,驱动程序相关的文件将被复制到 /etc/ndiswrapper目录中,由ndiswrapper来管理。通过下面的命令可以查看ndiswrapper已经支持的驱动列表:

root@debian ~# ndiswrapper -l
Installed drivers:
mrv8335 driver installed

将网卡插好后,执行命令ndiswrapper -m将ndiswrapper模块加入到modprobe的配置文件中。加载ndiswrapper模块即可看到无线网卡接口设备了,通常名称以wlan开始,第一个为wlan0:

root@debian ~# ndiswrapper -m # 只需执行一次即可
root@debian ~# modprobe ndiswrapper

通过命令iwconfig可以看到一个叫wlan0的无线接口,通过ifconfig也可以看到这个接口。通过iwlist命令可以搜索无线网络情况:

root@debian ~# iwlist wlan0 scan

接下来开始配置无线网络了,相关的配置说明可以查看wireless-tools的相关手册,这里就不多讲了。一个示例命令如下:

root@debian ~# iwconfig wlan0 essid home_ap # 设置ESSID
root@debian ~# iwconfig wlan0 mode Managed
root@debian ~# iwconfig wlan0 key restricted XXXXXXXX

我的/etc/network/interfaces里有类似如下的配置:

iface wlan0 inet dhcp
pre-up modprobe ndiswrapper
post-down rmmod ndiswrapper
wireless-essid Default
wireless-key Off
wireless-mode Managed
wireless-rate auto

这样,当我要启用无线网络时,只需要使用命令:ifup wlan0即可自动完成驱动加载等工作;而当我要关闭无线网络时,也只要命名用ifdown wlan0即可自动关闭无线模块,并卸载ndiswrapper模块。