Apr 8

       今天不知道为什么,Ubuntu又崩溃了,考虑到安装的程序太多,不想重装,在网上搜了几个小时,终于找到一个有效的方法挽救了操作系统。

        整个操作的过程如下所示(文件夹名称lucid不需要更改):


        1.进入livecd

        2.在livecd的操作系统中连接到网络

        3.创建两个目录:

sudo mkdir /media/lucid
sudo mkdir /media/lucid/proc /media/lucid/dev /media/lucid/etc

        4.挂载Linux操作系统的/分区:

sudo mount /dev/sda1 /media/lucid

           注意:这是整个过程的关键所在——你必须自己确定你的/分区所在的设备。确定方法:打开nautilus,找到你的Ubuntu的/分区,打开该/分区下的etc目录中的fstab文件,找到mount-point(就是每一行的第二个值)为“/”的行,其上面的注释会指出/分区所在的设备

        5.绑定目录:

sudo mount -o bind /proc /media/lucid/proc
sudo mount -o bind /dev /media/lucid/dev/
sudo mount -o bind /dev/pts /media/lucid/dev/pts

        6.拷贝resolv.conf文件:

sudo cp /etc/resolv.conf /media/lucid/etc/resolv.conf

        7.更新真正的Ubuntu操作系统中的源信息:

sudo chroot /media/lucid apt-get update

        8.更新操作系统的所有软件包:

sudo chroot /media/lucid apt-get upgrade

        9.重启(livecd点重启需要再按一下Enter键),整个过程结束。


        总的来说,整个过程对人品有一定要求,需要谨慎使用。

        参考的帖子:

        [1] http://ubuntuforums.org/showthread.php?t=1584931

Mar 20

    在Linux中用xl2tpd建立L2TP协议的VPN连接需要两个配置文件,一个是给xl2tpd的配置文件,一个是给pppd的配置文件(xl2tpd会调用pppd)。

    为说明方便,我们假设我们要建立的VPN连接的名字为testvpn,连到的l2tp服务器地址为xxx.xxx.xxx.xxx,用户名为someone,密码为passwordstring。那么该xl2tpd的配置文件应该如下所示:

[global]
access control = no
port = 1701

[lac testvpn]
name = someone
lns = xxx.xxx.xxx.xxx
pppoptfile = /etc/ppp/peers/testvpn.l2tpd
ppp debug = no

    实际使用中,我们一般只需要修改四处:

  1. [lac testvpn]这一句将VPN连接的名字设置为testvpn,你应该把它改成你想要的名字
  2. name = someone这一句将您的用户名配置为someone,你应该把它改成你想要的名字
  3. lns = xxx.xxx.xxx.xxx这一句说明你要连接的服务器的地址为xxx.xxx.xxx.xxx
  4. pppoptfile = /etc/ppp/peers/testvpn.l2tpd告诉xl2tpd为该VPN连接调用pppd时,pppd的配置文件的路径为/etc/ppp/peers/testvpn.l2tpd,你应该把它改成你真正建立的pppd的名字

    以上这个文件被您修改并保存后,假设放在/etc/xl2tpd目录,名字为testvpn.options。

    下面,我们还需要一个pppd的配置文件,也就是之前提到的/etc/ppp/peers/testvpn.l2tpd。

    为此,我们打开/etc/ppp/peers目录,在其中新建一个文件testvpn.l2tpd(如果你在xl2tpd的配置文件中pppd配置文件写的是/etc/ppp/peers/testvpn.l2tpd的话)。结合之前有关VPN连接的说明,该pppd配置文件应该如下所示:

remotename testvpn
user "someone"
password "passwordstring"
unit 0
lock
nodeflate
nobsdcomp
noauth
persist
nopcomp
noaccomp
maxfail 5
debug

    实际使用,您一般只需要修改以下三处:

  1. remotename testvpn,这一句将VPN连接的名字设为testvpn,您应该把它改成您想要的名字
  2. user "someone",这一句将VPN连接的用户名设为someone,您应该把它改成您真正的用户名
  3. password "passwordstring",这一句将VPN连接的密码设为passwordstring,您应该把它改成您真正的密码

    至此,所有准备工作都完成了,下面我们需要做几件事情:

  1.切换到root用户

     2. 检查目录/var/run/xl2tpd是否存在。不存在的话,手动新建一个。

  3.启动xl2tpd

    在终端中输入下列命令并回车:

xl2tpd -c /etc/xl2tpd/testvpn.options

    你需要把/etc/xl2tpd/testvpn.options改成你的真正的xl2tpd配置文件的绝对路径(未测试相对路径是否可以)。

    4.建立VPN连接。

        在终端中输入下列命令并回车:

echo 'c testvpn' >/var/run/xl2tpd/l2tp-control

        当然,你需要把testvpn改成你的VPN连接的名字(即xl2tpd的配置文件中,跟在lac后面的词语)。

    5.查看VPN连接是否成功建立:

    如果是Ubuntu的话,一般需查看/var/log/syslog文件,如果文件中pppd条目中出现succeeded等词语,说明连接成功,VPN连接已经成功建立

         如果是Fedora的话,一般需改成查看/var/log/message文件。

         事实上,查看的文件是由/etc/rsyslog.conf的内容决定的。

    6.如果顺利的话,至此VPN连接已经成功建立,但是如果想让默认连接都走VPN的话(这也是通常的情况),我们还需要修改路由配置。

         在终端中输入下列命令并回车:

route del default
route add -net 0.0.0.0 netmask 0.0.0.0 dev ppp0

         至此,所有配置都已完成。

    7.断开VPN连接

    在终端中输入下列命令并回车:

echo 'd testvpn' >/var/run/xl2tpd/l2tp-control

         当然,你需要把testvpn改成你的VPN连接的名字(即xl2tpd的配置文件中,跟在lac后面的词语)。

 

PS:如果你觉得以上这些难以理解的话,可以使用vpnpptp软件帮助你建立L2TP协议的VPN连接(全图形化界面,非常方便)

        项目地址:http://code.google.com/p/vpnpptp/

Feb 28

    1.在Ubuntu中尝试用sudo pkill rsyslogd杀死rsyslogd,但该命令执行后rsyslogd仍然在运行。经实验发现,在Ubuntu中,第一次杀死rsyslogd之前一定要执行sudo stop rsyslog使rsyslogd停止运行,以后再杀死rsyslogd时则不需要。

    2.用rsyslogd命令启动rsyslogd时,加-f参数可以指定配置文件(而不是用默认的/etc/rsyslog.conf),但是该配置文件的路径必须是绝对路径,而不能是相对路径

Feb 14

    天翼家庭套餐赠送的路由器是不能自动拨号的,换句话说,仅仅连上无线网是不够的:你需要自己手动拨号。

    但是,Ubuntu自带的networkmanager是很脑残的:建立无线网连接和建立DSL连接是冲突的,建立DSL连接就会无线网连接就会断开......

    这一问题最后的解决方案如下(wicd+pppoeconf):

    1.连上互联网(如果就是天翼家庭套餐提供的有线网,插上网线后执行pppoeconf拨号),在终端中执行:

sudo apt-get install wicd

    2.wicd安装完成后,在终端中执行:

sudo gedit /etc/NetworkManager/nm-system-settings.conf

       查看managed项后面的值,如果是true就改成false

    3.重启

    4.此时,右上角networkmanager的图标应该已经消失了,同时,会出现一个新的图标,这应该就是wicd的图标,单击该图标,出现wicd的界面。刷新一下,找到天翼家庭套餐的无线网,连上。(当然,你的电脑所在的位置要能搜到天翼家庭套餐的无线网的信号)

    5.执行sudo pppoeconf,配置拨号连接,完成后,执行plog查看连接情况,如果出现如下的字样,说明连接成功(当然,IP地址等数值可能不一样):

Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: Remote message: Authentication success,Welcome!
Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: PAP authentication succeeded
Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: peer from calling number 00:18:82:67:66:4D authorized
Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: replacing old default route to wlan0 [192.168.1.1]
Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: local  IP address 180.118.45.81
Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: remote IP address 180.118.47.254
Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: primary   DNS address 218.2.135.1
Feb 14 12:52:01 nanjingabcdefg-L41II3 pppd[8876]: secondary DNS address 61.147.37.1

       然后,该干什么干什么吧

    几点说明:

    1.用pppoeconf配置完成后,以后连接互联网只要执行sudo pon dsl-provider就行了。

    2.用pppoeconf配置时,最好不要选开机自动建立连接。否则,如果忘了这一点,手动执行sudo pon dsl-provider,就悲剧了。

    3.如果无线网掉线,重新连上无线网以后可能需要重新拨号(执行route -n查看路由,如果没有ppp端口就需要重新拨号了)。重新拨号前请执行sudo poff断开之前的连接(虽然实际上已经断开了,但如果不执行,路由配置就悲剧了)。