显示标签为“internet”的博文。显示所有博文
显示标签为“internet”的博文。显示所有博文

在 debian 上下载 youtube 影片

YouTube 有提供在线的视频播放,对于一些好的影片,我们如果想下载,却并不是那么容易。YouTube本身并不容许你下载影片,但通过一些工具,我们也可以在Debian下轻松的下载 YouTube 的影片。

方法1:通过youtube-dl下载:

首先需要安装youtube-dl工具,youtube-dl是一个基于python的工具,安装过程很简单,同你在Debian上安装其它任何软件一样,直接通过:

apt-get install youtube-dl
即可完成安装。或者,如果你使用的镜像中还没有包含这个软件包,那么可以直接下载 youtube-dl 包,并手工进行安装:
redice# wget http://www.arrakis.es/~rggi3/youtube-dl/youtube-dl
前面已经提到过,这是一个基于 python 的软件,所以下载的内容实际上是一个python的脚本。将其复制到可执行目录中即可。
redice# cp youtube-dl /usr/local/bin
如果你执行是出现找不到 HTTPCookieProcessor 问题,Debian Etch/Sid 用户请安装 Python 2.4 并把 youtube-dl 头一行由:
#!/usr/bin/env python
改成:
#!/usr/bin/env python2.4
Debian GNU/Linux 3.1 (Sarge)用户需要把youtube-dl包括HTTPCookieProcessor的一行删除掉:
# Install cookie handler
# urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor()))
不过,这样修改以后,你就不能够下载需要登录观看的影片了。
下载影片的方法很简单,类似于wget命令,如:
$ youtube-dl http://www.youtube.com/watch.php?v=M2d--RediceAU
下载完成,影片名称为: M2d--RediceAU.flv.

方法2: 通过 Mozilla Firefox 的 VideoDownloader 扩展下载

Mozilla Firefox 有许多扩展功能,其中有一个叫 VideoDownloader的扩展可以绑助你完成下载youtube的电影。另外,如果你听说并使用过 greaseMonkey,那么你可以很容易的找到许多可用于下载 youtube 或类似站点影片的脚本。我现在用的就是一个 greasemonkey 脚本来下载youtube等。

一个 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配置上配置多个Web服务

有许多虚拟服务器的提供商可以在一台主机上为多个用户提供Web服务,并且每个Web服务器可以通过不同的域名来访问。在Debian上,我们可以轻松的通过apache2来实现类似的功能。除了进行一些简单的配置外,我们所需要的软件包都使用Debian提供的安装包而不必从源代码来安装。

有许多种不同的方法可以将Apache配置这样的功能,这里介绍一种通过 NameVirtualHost 来进行配置的方法,这种方法的好处是你不需要在主机上绑定多个不同的IP地址,只需要将不同的域名都指向Web服务器的IP地址即可。

例如在一台主机IP地址为 222.222.222.222的Web服务器上,希望配置 www.rediceli.com,mail.rediceli.com,services.rediceli.com,只需要在DNS服务器(或DNS提供商的服务器)上将这些域名都指向222.222.222.222即可。当然,还可以是另一些完全不同的域名,如 www.example.com。

因为我们要在一台机器上提供多个Web服务器,为了不至于引起不必要的混乱,最好将每个服务器的Web根目录,CGI目录和日志目录等完全分开。可以直接在Debian提供的Web目录下构造这些目录,也可以在一个完全不同的目录里构造,如/opt/www目录。例如,可以类似如下的目录结构:

root@debain ~# mkdir /opt/www

root@debain ~# mkdir /opt/www/www.rediceli.com
root@debain ~# mkdir /opt/www/www.rediceli.com/html
root@debain ~# mkdir /opt/www/www.rediceli.com/cgi-bin
root@debain ~# mkdir /opt/www/www.rediceli.com/logs

root@debain ~# mkdir /opt/www/mail.rediceli.com
root@debain ~# mkdir /opt/www/mail.rediceli.com/html
root@debain ~# mkdir /opt/www/mail.rediceli.com/cgi-bin
root@debain ~# mkdir /opt/www/mail.rediceli.com/logs

root@debain ~# mkdir /opt/www/service.rediceli.com
root@debain ~# mkdir /opt/www/service.rediceli.com/html
root@debain ~# mkdir /opt/www/service.rediceli.com/cgi-bin
root@debain ~# mkdir /opt/www/service.rediceli.com/logs

上面的过程,我们分别为三个域名创建了Web服务器所需的目录。下一步,我们应该在apache的配置中开启虚拟主机(Virtual hosts)的功能。简单的方法是创建一个配置文件 /etc/apache2/conf.d/virtual.conf,文件的内容如下:

#
# We're running multiple virtual hosts.
#
NameVirtualHost *

完成上面的工作后,我们可以开始为每个域名建立一个独立的配置文件。Apache2的站点配置包括两个目录:

  • /etc/apache2/sites-available 这个目录包含一些可用的站点配置文件,但这些并不一定生效。
  • /etc/apache2/sites-enabled 这个目录内的配置为已经生效的站点的配置。

apache2启动时,sites-enabled目录的内容将被读取并生效,而sites-available目录的内容则不会理会。通常Debian的作法是,将所有的站点配置文件都放在sites-available中,而将需要生效的配置通过软链放置到sites-enabled中。我们配置时也会将所有的配置都放置到sites-available目录中,然后在sites-enabled中创建指向相应配置的链接。Debian有一些工具a2ensite和a2dissite来辅助我们完成允许和禁用站点的功能,这样,我们只需要在sites-available目录中创建相应的配置,再执行相应的命令,即可使这些配置生效或禁用。

下面我们开始为 www.rediceli.com 创建配置文件,创建文件 /etc/apache2/sites-available/www.rediceli.com,包含下面的内容:

#
# www.rediceli.com (/etc/apache2/sites-available/www.rediceli.com)
#
<VirtualHost *>
ServerAdmin webmaster@rediceli.com
ServerName www.rediceli.com
ServerAlias rediceli.com

# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /opt/www/www.rediceli.com/html/

# CGI Directory
ScriptAlias /cgi-bin/ /opt/www/www.rediceli.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>

# Logfiles
ErrorLog /opt/www/www.rediceli.com/logs/error.log
CustomLog /opt/www/www.rediceli.com/logs/access.log combined
</VirtualHost>

下面创建 mail.rediceli.com的配置文件,创建文件/etc/apache2/sites-available/mail.rediceli.com,包含下面的内容:

#
# mail.rediceli.com (/etc/apache2/sites-available/mail.rediceli.com)
#
<VirtualHost *>
ServerAdmin webmaster@rediceli.com
ServerName mail.rediceli.com

# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /opt/www/mail.rediceli.com/html/

# CGI Directory
ScriptAlias /cgi-bin/ /opt/www/mail.rediceli.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>

# Logfiles
ErrorLog /opt/www/mail.rediceli.com/logs/error.log
CustomLog /opt/www/mail.rediceli.com/logs/access.log combined
</VirtualHost>

最后在文件/etc/apache2/sites-available/service.rediceli.com中创建 service.rediceli.com的配置:

#
# service.rediceli.com (/etc/apache2/sites-available/service.rediceli.com)
#
<VirtualHost *>
ServerAdmin webmaster@rediceli.com
ServerName service.rediceli.com

# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /opt/www/service.rediceli.com/html/

# CGI Directory
ScriptAlias /cgi-bin/ /opt/www/service.rediceli.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>

# Logfiles
ErrorLog /opt/www/service.rediceli.com/logs/error.log
CustomLog /opt/www/service.rediceli.com/logs/access.log combined
</VirtualHost>

现在,我们已经为三个域名分别创建了配置文件,并建立了不同的目录来存放web页面,CGI程序和日志文件。要允许这些配置,可以通过下面的命令来完成:

root@debain ~# a2ensite www.rediceli.com
Site www.rediceli.com installed; run /etc/init.d/apache2 reload to enable.

root@debain ~# a2ensite mail.rediceli.com
Site mail.rediceli.com installed; run /etc/init.d/apache2 reload to enable.

root@debain ~# a2ensite service.rediceli.com
Site service.rediceli.com installed; run /etc/init.d/apache2 reload to enable.

注意:a2ensite并不会立即在当前运行的apache服务器里生效,必需通过重新启动apache来生效这些配置,这在前面解释a2ensite时已经解释过了,它的功能主要用于建立一个sites-enabled目录中的链接。

现在,你可以分别在每个站点的主目录里放置一个不同的主页文件(index.html),然后重启apache服务器,看一下是否可以通过三个不同的域名来访问不同的服务页面。重启apache服务器通过下面的命令来完成:

root@debain ~# /etc/init.d/apache2 reload
Reloading web server config...done.
root@debain ~#

好了,一个拥有三个虚拟Web服务器的Debian服务器配置完成了。如果你的服务器够强大,还可以类似的配置更多的站点。