Blog

  • ubuntu升级发行版本的两个方法

    1.使用菜单中的update-manager,或者 Alt+F2输入

    sudo update-manager -d

    2.完全使用命令

    sudo apt-get update

    安装update-manager-core软件包:

    apt-get install update-manager-core

    查看/etc/update-manager/release-upgrades文件:

    cat /etc/update-manager/release-upgrades

    确保里面包含了Prompt=normal

    然后运行如下命令启动系统升级:

    do-release-upgrade
  • pptpsetup命令行连接pptp vpn | 拨号

    一般会自带pptpsetup这个工具

    没有的话

    apt-get install pptp-linux

    添加一个vpn连接,执行

    pptpsetup -create vpnname -server xxx.xxx.xxx.xxx -username username -password passwd -encrypt (记得改一下)

    PS:更多选项运行”pptpsetup –help”

    这样其实是写入了/etc/ppp/peers/ 这个目录下面(网上有在这个目录新建文件的方法,看来不如这个方便)

    /etc/ppp/chap-secrets 用户名密码写入到了这个文件

    上线:

    pon vpnname

    下线:

    poff vpnname (全部下线poff -a)

    然后ifconfig查看一下多了ppp0这个网络

    现在还不能通过vpn来走

    因为并不知道数据该怎么走,很明显要配一下路由

    #route 查看现在的默认路由,下面两条操作将默认路由改为vpn的地址,删除原来的默认路由

    route add default gw 10.19.1.1
    route delete default gw xxx.xxx.xxx.yyy

    或者这样更简便

    route del default
    route add default dev ppp0

    这样就能通过vpn来做事了。

     

  • debian|linux 路由

    路由是什么

    路由routing)就是通过互联的网络信息从源地址传输到目的地址的活动。

    http://zh.wikipedia.org/wiki/%E8%B7%AF%E7%94%B1

    linux显示路由表

    #route 或

    # netstat -r

    内核 IP 路由表
    目标            网关            子网掩码        标志  跃点   引用  使用 接口
    into.dyndns.org *              255.255.255.255 UH    0      0        0 eth0
    into.dyndns.org *              255.255.255.255 UH    0      0        0 eth0
    10.19.1.1       *              255.255.255.255 UH    0      0        0 ppp0
    219.230.xxx.xxx *              255.255.255.192 U     1      0        0 eth0
    link-local      *              255.255.0.0     U     1000   0        0 eth0
    default         *              0.0.0.0         U     0      0        0 ppp0

    # route -n                #按照越精确越靠前。这个是路由的排序规则

    默认路由

    ip route add default dev eth0 via 192.168.0.254          #添加默认路由
    ip route del default dev eth0 via 192.168.0.254           #删除默认路由

    主机路由

    ip route add dev eth0 10.0.0.1/32                                 #添加主机路由
    ip route del dev eth0 10.0.0.1/32                                  #删除主机路由

    网段路由

    ip route add dev eth0 192.168.0.0/16                           #添加网段路由
    ip route del dev eth0 192.168.0.0/16                            #删除网段路由

    route add -net 目标网段 netmask 掩码 dev eth0

    route del -net 目标网段 netmask 掩码 dev eth0

  • shell操作mysql一则 | sql update 语句

    背景,打算把radius里有几个用户在凌晨没有人上的时候设为disable,需要用到update语句和at命令

    首先在mysql里创建了一个新的帐号,用户名rrr 密码ttt

    要操作的数据库为 radius ,操作函数mysql_opt ,操作表radusergroup

    #!/bin/bash
    #for use:disable the radius users
    #author: jpuyy.com
    #version:
    #history:
    #relate on: at mysql|update
    sql_user=rrr 
    sql_pass=ttt
    sql_opt="-u$sql_user -p$sql_pass -s"
    
    mysql_opt() {
    db_name=$1
    sql_lan=$2
    mysql $sql_opt << EOF
    USE $db_name;
    $sql_lan;
    QUIT
    EOF
    }
    
    data=`mysql_opt radius "UPDATE  radusergroup SET groupname='daloRADIUS-Disabled-Users'  WHERE username in ('aaa','bbb','ccc')"`
    echo $data
  • Debian操作系统编译内核

    转自:

    想用上最新的内核,就需要我们自己去编译新内核了

    安装需求软件包

    apt-get install kernel-package libncurses5-dev fakeroot wget build-essential

    下载新内核

    你可以在这里查看可用的内核 目前最新的为2.6.x

    linux kernel 官方网站:http://www.kernel.org

    cd /usr/src
    wget http://www.eu.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.gz

    解压 创建软链接,切换到软链接中操作

    tar zxvf linux-2.6.26.tar.gz
    ln -s linux-2.6.26 linux
    cd /usr/src/linux

    生成内核文件,首先要复制旧内核的配置文件

    make clean && make mrproper
    cp /boot/config-`uname -r` ./.config
    make menuconfig

    使用下面的步骤来载入旧的内核配置
    1. Load an Alternate Configuration File
    2. Type .config if not already in the textbox
    3. Ok
    4. Do any changes to the kernel modules
    5. Click Exit
    6. Click Yes when asked if you want to save

    编译内核

    make-kpkg clean
    fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers

    这个过程需要很长时间

    安装新内核

    ls -l /usr/src

    到这里,还没有安装内核,
    dpkg -i linux-headers-2.6.26-custom_2.6.26-custom-10.00.Custom_i386.deb
    dpkg -i linux-image-2.6.26-custom_2.6.26-custom-10.00.Custom_i386.deb

    最后重新启动服务器即可

    reboot

  • 用Mutt发送带附件的邮件

    请提前设置好MTA(mail transfer agent),例如:

    debian默认的MTA为exim4的设置为http://jpuyy.com/2011/08/debian-exim4.html

    mutt – The Mutt Mail User Agent

    示例:

    /usr/bin/mutt -s “the mp3 push” [email protected] -a /root/getvoa/latestvoa.mp3 < /dev/null

    最有用的还是这个 -a 附件发送,因为用mail和uuencode发送mp3都不理想

    用/dev/null意思是不输入正文,如果没有 </dev/null 则会自动调用nano

    介面简单而实用

    我的目的是每天自动把某网页更新的voa听力发送到我的邮箱内

    #!/bin/bash
    #for use:get voa mp3 every day
    #author: 2011-08-28 jpuyy.com
    #version: A
    yes | rm `cat latestvoa`
    LANG=C
    theday=`date ‘+%A’`
    urlone=http://www.51voa.com/VOA_Special_English/VOA_News_$theday.html
    urltwo=`/usr/bin/curl $urlone | grep Player`
    urltwo=${urltwo#*\”}
    urlthree=http://down.51voa.com${urltwo%%\”*}
    filename=${urlthree##*\/}
    echo $filename > latestvoa
    wget $urlthree
    /usr/bin/mutt -s “$theday mp3 push” [email protected] -a /root/getvoa/$filename < echo $filename

    保存为 getvoa.sh 这样每天的18点运行脚本

    0 18 * * * /root/getvoa/getvoa.sh