ubuntu 网络设置

Ubuntu修改默认网关
#add and del 网关
sudo route add -net default gw 192.168.20.254

sudo route del -net default gw 192.168.20.1

http://blog.csdn.net/xiaobai1593/article/details/6862328

Install Trinity Desktop Environment for ubuntu

首先是介绍
About the Trinity Desktop Environment
说白了就是 kde 3的分支
The Trinity Desktop Environment (TDE) project is a computer desktop environment for Unix-like operating systems with a primary goal of retaining the overall KDE 3.5 computing style.

接下来是安装

Ubuntu Trinity Repository Installation Instructions

1. Add these lines to your /etc/apt/sources.list file:
For Precise [Ubuntu 12.04] LTS (v3.5.13.1)

echo "deb http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity-v3.5.13/ubuntu precise main
deb-src http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity-v3.5.13/ubuntu precise main
deb http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity-builddeps-v3.5.13/ubuntu precise main
deb-src http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity-builddeps-v3.5.13/ubuntu precise main " >>/etc/apt/sources.list

2. Add the GPG signing key:

sudo apt-key adv --keyserver keyserver.quickbuild.pearsoncomputing.net --recv-keys 2B8638D0

3. Install Trinity:

sudo apt-get update
sudo apt-get install kubuntu-default-settings-trinity kubuntu-desktop-trinity

http://www.trinitydesktop.org/wiki/bin/view/Documentation/UbuntuBinaryInstallation

Live CD Images for Ubuntu with Trinity preinstalled are available here
iso download
http://mirror.ntmm.org/trinity/cdimages/thirdparty/ubuntu/

sed 技巧

原因: 新转过来应用的的一个哥的提问,在此也mark 一下
#在行尾追加变量D ,其实这里最重要的是 sed 中变量的使用啦
sed -i '/^nginx_host/s/.*/'"${D}"'/g' file

#这个是整行换了
sed -i '/HOSTNAME/ s/.*/HOSTNAME=unused/g' /etc/sysconfig/network && hostname unused

ServerIndexno=3,

/bin/sed -i ‘/ServerIndex/ s/.*/ServerIndex=’${ServerIndexno}’/’ World.txt

###***************
1.在指定行前插入一行
sed ‘2 itext’ -i a.txt # 在第2行前插入text,并且将结果更新到a.txt(如果不想将插入真正更新到文件,去掉后面的-i选项就可以)

2.在指定行后插入一行
sed ‘2 atest’ -i a.txt #在第2行后插入test,并且将结果更新到a.txt(如果不想更新原文件,去掉-i)

3.在指定的多行前面插入
sed ‘n,m itest’ -i a.txt #看得懂了吧

4.在指定的多行后面插入
sed ‘n,m atest’ -i a.txt #

How do I install drivers for an AMD Radeon HD 6450? 4 ubuntu 安装后进入桌面闪屏

今天,不死哥 ubuntu 安装后进入桌面闪屏,于是

Download the AMD Catalyst™ 11.8 Proprietary Linux x86 Display Driver
wget -c http://www2.ati.com/drivers/linux/ati-driver-installer-11-8-x86.x86_64.run

If you don’t have ‘wget’, install it by
sudo apt-get install wget -y

Make it executable, if not already
chmod +x ati-driver-installer-11-8-x86.x86_64.run

Run it and follow on-screen instructions to install the driver
sudo ./ati-driver-installer-11-8-x86.x86_64.run

参考
http://askubuntu.com/questions/25321/how-do-i-install-drivers-for-an-amd-radeon-hd-6450

ubuntu 12.04 初始化

echo "deb http://packages.mate-desktop.org/repo/ubuntu precise main
deb http://repo.mate-desktop.org/ubuntu precise main
deb http://mirror1.mate-desktop.org/ubuntu precise main ">>/etc/apt/sources.list

sudo apt-get update
sudo apt-get install mate-archive-keyring --force-yes
sudo apt-get update
# this install base packages
#sudo apt-get install mate-core
# this install more packages
sudo apt-get install mate-desktop-environment -y

apt-get install fvwm -y
我去我人有的和
vi /etc/sudoers

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) NOPASSWD: NOPASSWD: ALL
#%sudo ALL=(ALL:ALL) ALL

rsync -avz evan@192.168.1.100:/home/evan/ /home/evan

sudo apt-get install subversion filezilla -y

sudo apt-get install kdesvn -y

sudo apt-get dist-upgrade 升级系统

sudo apt-get install leafpad dconf-editor
sudo apt-get install xfce4-panel # WATE

http://docs.xfce.org/xfce/xfce4-panel/start

#输入法 fcitx 五笔拼音
sudo apt-get install fcitx-table-wbpy

###
deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu precise main
deb-src http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu precise main

sudo apt-get update
sudo apt-get install cinnamon

****************************
Debian Linux 7.0 屏幕亮度调节技巧
首先,终端输入以下命令:

sudo vi /etc/rc.local
在打开的文件中,我们会找到“exit 0”,这时,我们只需要把下面一句代码加到“exit 0”之前就可以了。代码如下:

echo 9 > /sys/class/acpi_backlight=vendor/acpi_osi=Linux/brightness
其中“9”表示亮度值,范围从0~15.根据自己需要进行取值。(这句代码是结合网上几个方法得来的)。然后重启电脑,屏幕亮度就是你设定的亮度了,而且还可以用“Fn”结合亮度按键进行屏幕亮度的改变。

先声明一下:这种方法虽然适合我的本本,但不一定适合所有的本本,而且我用的 xfce 桌面环境,所以也可能不适合 gnome 或 kde 等其他桌面环境。希望大家有其他方法时能分享一下,大家一起学习。

****************************

Gnome Flashback is a shell for Gnome 3 which was initially called “Gnome Fallback”.
https://live.gnome.org/GnomeFlashback

install openssh
sudo apt-get install openssh-server openssh-client
https://help.ubuntu.com/12.04/serverguide/openssh-server.html
http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=121428

evan@evan-laptop:~/svndoc/ywshare$ svn up
WARNING: gnome-keyring:: couldn’t connect to: /tmp/keyring-WqIsnA/pkcs11: 没有那个文件或目录
GNOME keyring [(null)] 的密码:
svn: 方法 OPTIONS 失败于 “http://192.168.1.18:8080/ywshare”: 认证失败: 不能认证到服务器: 被拒绝的 Basic 挑战 (http://192.168.1.18:8080)

#solve
GNOME keyring [(null)] 的密码: 这里随便输入个密码就行了啦 ,如果直接回车就会报如上的错误

trap命令使用

trap命令用于捕获指定的信号并执行预定义的命令。
其基本的语法是:
trap ‘command’ signal
其中signal是要捕获的信号,command是捕获到指定的信号之后,所要执行的命令。可以用kill –l命令看到系统中全部可用的信号名,捕获信号后所执行的命令可以是任何一条或多条合法的shell语句,也可以是一个函数名。
shell脚本在执行时,会产生三个所谓的“伪信号”,(之所以称之为“伪信号”是因为这三个信号是由shell产生的,而其它的信号是由操作系统产生的),通过使用trap命令捕获这三个“伪信号”并输出相关信息对调试非常有帮助。

#!/bin/bash
#当捕获到0 也就是脚本执行完时, 则执行 end_fun,其实就是一个清理动作哈哈
. /etc/rc.d/init.d/functions

function end_fun
{
rm -rf /tmp/
echo -en "33[?25h"
}

trap end_fun 0
exit 0

格式:trap “commands” ERR
当命令出错,退出码非0,执行commands指定的命令
http://codingstandards.iteye.com/blog/836588

##当有 ERR时 才执行 end_fun ,这里 echo 2 永远不是ERR 所以不执行end_fun
evan@evan-laptop:~/test$ cat trap
#!/bin/bash
function end_fun
{
rm -rf /tmp/BTO.*
#echo trap
echo -en "33[?25h"
}
trap end_fun ERR
#trap end_fun 0
#apt-get install w3m
echo 2
#exit 1
evan@evan-laptop:~/test$ ls /tmp/BTO.36
evan@evan-laptop:~/test$ ./trap
2
evan@evan-laptop:~/test$ ls /tmp/BTO.36

Linux Signal (1): 基本概念

1. 信号是软件中断:

信号提供了一种处理异步事件的方法. 每个信号都有一个名字, 他们以SIG开头, 如SIGALRM是闹钟信号, 当由alarm函数设置的计时器超时后产生此信号, 然后由SIGALRM的信号处理函数接管处理, 处理之后返回调用alarm函数的应用程序中.

2. 信号编号:

在头文件中, 信号都用宏定义为正整数的信号编号, 不存在编号为0的信号, kill函数对编号为0的信号有特殊的作用. POSIX.1将编号为0的信号定义为空信号, 如果kill中的signo参数为0, 则kill仍执行正常的错误检查, 但不发送信号. 这常被用来通过kill的返回值确定一个特定进程是否存在.

3. 不可忽略/捕捉的信号:

大多数信号都可以通过忽略进行处理, 但SIGKILL和SIGSTOP这两个信号不能被忽略. 因为它们是向超级用户提供使进程终止或停止的可靠方法. 另外, 如果忽略某些硬件异常产生的信号(例如非法内存引用或除0), 则进程的行为是未定义的.

4. 介绍几个常见信号:

SIGINT: 当用户按某些终端键时, 引发终端产生的信号. 如Ctrl+C键, 这将产生中断信号(SIGINT). 它将停止一个已失去控制的程序.

SIGSEGV: 由硬件异常(除数为0, 无效的内存引用等等)产生的信号. 这些条件通常由硬件检测到, 并将其通知内核. 然后内核为该条件发生时正在运行的进程产生该信号.

SIGURG: 在网络连接上传来带外数据时产生.

SIGPIPE: 在管道的读进程已终止后, 一个进程写此管道时产生. 当类型为SOCK_STREAM的socket已不再连接时, 进程写到该socket也产生此信号.

SIGALRM: 进程所设置的闹钟时钟超时的时候产生.

SIGABRT: 进程调用abort函数时产生此信号, 进程异常终止.

SIGCHLD: 在一个进程终止或停止时, 它将把该信号发送给其父进程. 按系统默认, 将忽略此信号. 如果父进程希望被告知其子进程的这种状态改变, 则应该捕捉此信号. 通常是用wait系列函数捕捉, 如果不wait的话, 子进程将成为一个僵尸进程.

SIGIO: 此信号指示一个异步I/O事件.

SIGSYS: 该信号指示一个无效的系统调用.

SIGTSTP: 交互式停止信号. Ctrl+Z, 按下时, 终端将产生此信号, 进程被挂起.

http://hi.baidu.com/zkheartboy/item/29a3868f116638c9b1715456
http://www.cnblogs.com/cnland/archive/2013/05/10/3070457.html

关于Linux Shell的信号trap功能你必须知道的细节


http://liubin.blog.51cto.com/282313/160706
http://www.cnblogs.com/guosixu/archive/2008/07/11/1240821.html

web目录是不是php所有者www所导致的奇怪问题 — 一个php环境故障的排除过程

问题所在
一同事内网转外网,于是有空每天好折腾, 今天 DB用frg包,WEB却用了 hd包,于是,提问“为啥老是安装不上phpwind 但WEB连接 DB是没有问题的”

排除过程
所以这个时候 在WEB mysql -uroot -p -h 这种就不用理了,
于是,我改用 php 去 操作db ,这才是最真实的方式
PHP Create Database and Tables
http://www.linuxchina.net/?p=1470 结果是没有问题的 ,可以推断 db环境是没问题的 ,从WEB操作 DB也是没有问题的,那么剩下的问题就只能是WEB的问题喽

我重新安装phpwind 看到一步提示 权限问题 data/cache 没有权限或者为空, 开始我没理会,点击下一步 结果当然是安装不成功,但这里的安装错误提示有点让人迷路 “数据库配置文件不存在”,但其实是存在的,所以有时错误提示不一定是有用的, 想起第一个错误提示 ”data/cache 没有权限或者为空“ 这时,data/cache 不为空,那么就只有另外一个可能喽 可能没有权限 ,于是下载一个 wp试安装一下 错误提示是 没有权限写入配置文件,要手工写, 于是 可以断定一定是 web 目录权限问题 , ll 一看 虽然 777 但是 root 所有的 改为 www 问题解决 ,原来他少了 chown 这一步,文档没看清楚的结果啊 这哥!
哈哈 所以这里要说一下 777 不一定就万事OK,而且还不安全呢

PHP Create Database and Tables

怀疑DB有问题,于是在WEB上写了个页面 check一下
很多没看PHP了 差不多全忘记了 丢人啊 在此记录一下 ,
Create Database

Create a Table

http://www.w3schools.com/php/php_mysql_create.asp
http://www.w3school.com.cn/php/php_mysql_create.asp

天天命令之 strip

这个家伙在 lfs 第一次见过,今天又不小心看到 mark 一下
strip – Discard symbols from object files.
SYNOPSIS

strip经常用来去除目标文件中的一些符号表、调试符号表信息,以减小程序的大小,在rpmbuild包的最后就用到。
其支持的选项如下:
>strip -h
用法:strip <选项> 输入文件
从文件中删除符号和节

strip [-F bfdname |–target=bfdname ]
[-I bfdname |–input-target=bfdname ]
[-O bfdname |–output-target=bfdname ]
[-s|–strip-all] [-S|-g|-d|–strip-debug]
[-K symbolname |–keep-symbol=symbolname ]
[-N symbolname |–strip-symbol=symbolname ]
[-x|–discard-all ] [-X |–discard-locals]
[-R sectionname |–remove-section=sectionname ]
[-o file ] [-p|–preserve-dates]
[-v |–verbose] [-V|–version] [–help]
objfile…

http://linux.about.com/library/cmd/blcmdl1_strip.htm
http://blog.csdn.net/yajun0601/article/details/6408517
http://www.linuxidc.com/Linux/2011-05/35773.htm