<< 三月 2009 | 首页 | 五月 2009 >>

四个Linux版本软件源的设置

Debian和Ubuntu使用apt,Fedora使用yum而Mandriva使用urpm可以通过设置软件源而在线安装或升级软件。Debian和Ubuntu使用apt,Fedora使用yum而Mandriva使用urpm来执行这些操作。首先得选择合适的软件源。

对于Debian,建议使用ustc的源,修改/etc/apt/source.list文件如下:

deb http://debian.ustc.edu.cn/debian/ testing main non-free contrib 
deb http://debian.ustc.edu.cn/debian-security/ testing/updates main non-free contrib
deb http://debian.ustc.edu.cn/debian-uo/ sid marillat ustc java misc
#deb http://ftp3.tsinghua.edu.cn/mirror/debian/debian testing main non-free contrib
#deb http://ftp3.tsinghua.edu.cn/mirror/debian/debian-security testing/updates main non-free contrib
#deb http://ftp3.tsinghua.edu.cn/mirror/debian/debian-unofficial sid marillat ustc java misc

Debian的安装程序开始只安装了基本的软件包,要安装基本的Gnome系统,可以在命令行下输入:

apt-get install x-window-system-core gnome-core gdm xscreensaver

对于Ubuntu,建议使用Ubuntu中文站的源,修改/etc/apt/source.list文件如下:

deb http://archive.ubuntu.org.cn/ubuntu dapper main restricted universe multiverse
deb http://archive.ubuntu.org.cn/ubuntu dapper-security main restricted universe multiverse
deb http://archive.ubuntu.org.cn/ubuntu dapper-updates main restricted universe multiverse
deb http://archive.ubuntu.org.cn/ubuntu dapper-backports main universe multiverse restricted
deb http://archive.ubuntu.org.cn/ubuntu-cn dapper main universe multiverse restricted
deb http://archive.ubuntu.org.cn/ubuntu-cn breezy main universe multiverse restricted

对于Fedora,首先修改yum的软件源,使用速度比较快的国内镜像。按照以下修改/etc/yum.repos.d目录的下面fedora-core.repo,fedora-extras.repo和fedora-updates.repo这几个文件:

#/etc/yum.repos.d/fedora-core.repo
[core]
name=Fedora Core $releasever - $basearch - Base
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
#baseurl=http://mirrors.geekbone.org/fedora/core/$releasever/$basearch/os/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
#/etc/yum.repos.d/fedora-extras.repo
[extras]
name=Fedora Extras $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
#baseurl=http://mirrors.geekbone.org/fedora/extras/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-$releasever
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-extras
gpgcheck=1
#/etc/yum.repos.d/fedora-updates.repo
[updates]
name=Fedora Core $releasever - $basearch - Released Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch
#baseurl=http://mirrors.geekbone.org/fedora/core/updates/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

然后建议加上freshrpms这个软件源(这个源包括了mp3插件,Mplayer,BmpX,aMule,unrar等等)。 首先以root用户运行如下命令导入密钥:

rpm --import http://freshrpms.net/RPM-GPG-KEY-freshrpms

然后在/etc/yum.repos.d目录里新建一个freshrpms.repo文件,内容如下:

[freshrpms]
name=Fedora Core $releasever - $basearch - Freshrpms
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/ayo.freshrpms.net/pub/freshrpms/ayo/fedora/linux/$releasever/$basearch/freshrpms/
#baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms/
#mirrorlist=http://ayo.freshrpms.net/fedora/linux/$releasever/mirrors-freshrpms
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-freshrpms

最后建议加上livna这个软件源(这个源包括了MP3插件,Mplayer,Totem-xine,NTFS插件等等)。首先以root用户运行如下命令导入密钥:

rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY

然后在/etc/yum.repos.d目录里新建一个livna.repo文件,内容如下:

[livna]
name=Livna for Fedora Core $releasever - $basearch - Base
baseurl=
ftp://ftp3.tsinghua.edu.cn/mirror/livna/fedora/$releasever/$basearch/
http://rpm.livna.org/fedora/$releasever/$basearch/
http://livna.cat.pdx.edu/fedora/$releasever/$basearch/
http://wftp.tu-chemnitz.de/pub/linux/livna/fedora/$releasever/$basearch/
http://ftp-stud.fht-esslingen.de/pub/Mirrors/rpm.livna.org/fedora/$releasever/$basearch/
failovermethod=priority
#mirrorlist=http://rpm.livna.org/mirrorlist-5
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-LIVNA-GPG-KEY

对于Mandriva,建议使用Mandriva国内镜像的源,在控制台中输入如下命令行:

> /etc/urpmi/urpmi.cfg
rm -rf /var/lib/urpmi/*
urpmi.addmedia --distrib ftp://202.38.75.11/FreeOS/MandrivaLinux/official/2006.0/i586/
urpmi.addmedia updates ftp://202.38.75.11/FreeOS/MandrivaLinux/official/updates/2006.0/main_updates/
urpmi.addmedia plf-free ftp://[email protected]/plf/free/2006.0/
urpmi.addmedia plf-non-free ftp://[email protected]/plf/non-free/2006.0/

参考资料

标签 : ,

Fedora5中安装Nginx

注意:该文只能供参考在fedota安装Nginx时遇到的问题,如果版本是fedora5并且全部按照本文的做法,可能会

导致操作系统出现问题。

Fedora5中安装Nginx,绝对是件痛苦的事情,下面是痛苦的过程:

为了解决"Cannot find a valid baseurl for repo: core"问题,修改yum软件源:

对于Fedora,首先修改yum的软件源,使用速度比较快的国内镜像。按照以下修改/etc/yum.repos.d目录的下面fedora-core.repo,fedora-extras.repo和fedora-updates.repo这几个文件:

#/etc/yum.repos.d/fedora-core.repo
[core]
name=Fedora Core $releasever - $basearch - Base
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/fedora/updates/10/i386/
#baseurl=http://mirrors.geekbone.org/fedora/core/$releasever/$basearch/os/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
#/etc/yum.repos.d/fedora-extras.repo
[extras]
name=Fedora Extras $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/extras/$releasever/$basearch/
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/fedora/updates/10/i386/
#baseurl=http://mirrors.geekbone.org/fedora/extras/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-$releasever
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-extras
gpgcheck=1
#/etc/yum.repos.d/fedora-updates.repo
[updates]
name=Fedora Core $releasever - $basearch - Released Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/fedora/updates/10/i386/
#baseurl=http://mirrors.geekbone.org/fedora/core/updates/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora


为了解决问题"g++: command not found",安装gcc-c++:
出现该情况是由于c++编译器的相关package没有安装,以root用户登陆,在终端上执行:
# yum install glibc-headers
# yum install gcc-c++

为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。您可以到 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz
# tar zxvf pcre-7.7.tar.gz
# cd pcre-7.7
# ./configure
# make
# make install
			

为了能使Nginx编译通过,解决"zlib.h 没有那个文件"问题,升级zlib,zlib-devel。

#Update the package deciding which yum repositories to use,Switch repositories:
rpm -Uhv http://mirror.liberty.edu/pub/fedora/linux/releases/10/Fedora/i386/os/Packages/fedora-release-10-1.noarch.rpm http://mirror.liberty.edu/pub/fedora/linux/releases/10/Fedora/i386/os/Packages/fedora-release-notes-10.0.0-1.noarch.rpm
yum install zlib-devel
yum install zlib
 

接下来安装 Nginx,Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /opt/nginx 目录下的详细步骤:

# wget http://sysoev.ru/nginx/nginx-0.6.36.tar.gz
# tar zxvf nginx-0.6.36.tar.gz
# cd nginx-0.6.31
# ./configure --with-http_stub_status_module –prefix=/opt/nginx
# make
# make install
			

其中参数 --with-http_stub_status_module 是为了启用 nginx 的 NginxStatus 功能,用来监控 Nginx 的当前状态。


附:
官方软件源:
http://download.fedora.redhat.com/pub/fedora/linux/releases/10/Everything/i386/os/Packages/
清华大学软件源:
ftp://ftp3.tsinghua.edu.cn/mirror/fedora/updates/10/i386/

Tapestry5用Redirect-After-Post模式保证刷新和后退的安全

Redirect-after-post
Once Tapestry knows which page is next, why doesn't Tapestry just render it and return it? Because Tapestry uses the Redirect-After-Post pattern: it constructs a render request URL to the next page, just like PageLink does, and returns that URL to the browser as a redirect. So when the next page shows, its URL will not be the URL that submitted the form. Its URL will be safe to bookmark, reload or return to. The cost is 2 trips to the server, but it's worth it.
标签 :

通过Java访问需用户密码和Windows域认证的代理

Java通过代理访问网络设置,代理服务器需要用户/密码和Windows域验证:
        System.setProperty( "proxySet", "true" );   
        System.setProperty( "http.proxyHost", "localhost" );   
        System.setProperty( "http.proxyPort", "8080" );
        System.setProperty( "http.auth.ntlm.domain", "searchfull.net" );
       
        Authenticator.setDefault(new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("username",
                        new String("password").toCharArray());
            }
        });
标签 : ,

我也来说说Google音乐搜索

Keso对Google音乐搜索批评了一顿:三言二拍:我看谷歌音乐搜索,也有一些评论发表了不同的意见,例如:
google此举的目的肯定不是为了赚钱,是为了圈人,是建设符合中国国情的搜索引擎,这个服务只在中国有,其他国家google是没有开的,为了对抗本地同类产品,只能拼了

还有我的:

赞同:从商业角度来看,若能够给百度们以打击,则也实现了google的商业目的。

google不是笨蛋,不可能没考虑过单纯靠音乐的广告是不够的。如果让年轻人发现了google搜索的强大,人们还会用百度吗?音乐本身就是一个广告

而我今天还说说Google音乐的优点:
  • 正版音乐
  • 没有垃圾链接,只要有链接就可以播放期望的音乐
  • Flash播放器,不管是Windows还是Linux,不管是FireFox还是IE,不管是Windows98还是Windows7都可以播放
  • 速度非常稳定
  • 几乎可以作为本地播放器,根本不需要下载播放器,不需要下载音乐文件
标签 : ,

Tapestry5 Page Navigation页面生命周期方法调用流程

Tapestry5 is an open-source framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.

This page demonstrates what methods are called, and when, in various situations.

It provides, and logs, every page lifecycle method, several render phase methods, and every component event handler method.
Here is what you will see in the logs if you configure log4j to record this page at debug level:

When this page is first instantiated.
pageLoaded()
When Tapestry creates a URL to this page.
Eg. as it renders a PageLink to this page.
pageAttached()
onPassivate()
pageDetached()
In response to a render request.
  • onPassivate() is triggered by each ActionLink, EventLink, and Form, as it renders.
  • onPrepareForRender() and onPrepare() are triggered by Form as it renders.
pageAttached()
onActivate()
...setupRender()
...beginRender()
...getMessage()
onPassivate()
onPassivate()
onPassivate()
...onPrepareForRender()
...onPrepare()
...afterRender()
...cleanupRender()
pageDetached()
In response to request from ActionLink.
Eg. Home
pageAttached()
onActivate()
...onAction()
...Tapestry creates a URL to next page
pageDetached()
...Tapestry redirects to render next page
In response to request from EventLink.
Eg. Home
pageAttached()
onActivate()
...onClicked()
...Tapestry creates a URL to next page
pageDetached()
...Tapestry redirects to render next page
In response to request from Form.
Eg.
pageAttached()
onActivate()
...onPrepareForSubmit()
...onPrepare()
...onSelected()
...onValidateForm()
...onSuccess()
...onSubmit()
...Tapestry creates a URL to next page
pageDetached()
...Tapestry redirects to render next page
标签 : ,