1 Linux下的软件包通常是以rpm包的格式来存在的。只需要使用rpm -ivh来进行安装即可。
但是我这里要说的是,有两种rpm包,一种直接就是rpm,另一种是.src.rpm。前一种包
的安装自不用说。对于后一种包,其本质上是源代码,一般你执行完rpm -ivh *.src.rpm
之后会在/usr/src/redhat/SOURCE目录下面得到一个关于这个软件的.tar.gz的源代码的
压缩包。那么你还得重新编译其成为可执行文件才可以运行。方法还是那经典的三步:
./configure make make install(与之相应的有make uninstall make clean等)
所以还是建议下载其完全的二进制版本,因为自己在编译其源代码的时候说不定总是会
遇到一些很烦的error的。
2 df来看linux硬盘分区的大小和使用空间情况
3 linux源文件软件的安装和卸载:
./configure
make uninstall
patch < *.patch
(即对源代码的一些补丁,如果版本不同可能就patch不成功,这个时候可以打开patch文件,
根据它手动去修改源代码。patch文件中有+号的行表示需要增加的,有-号的行表示需要删除的,
然后没有号的行表示上下文)
./configure
make
make install
有些时候需要先make clean一下把以前连接的模块关系取消然后再make
4 Linux下面挂不上U盘:
先用dmesg|grep usb看看,应该有很多输出关于usb的。如果没有,则先加载usb的内核模块:
modeprobe usb-uhci
modeprobe usb-storage
然后插上u盘,并用dmesg命令查看,这个时候最下面一行应该说u盘scsci放在了hdb1等这样的地方
这个时候mount就可以了。
5 chown -R root:root mydir命令表示把mydir目录以及下面全部的文件都改成root用户,root组的.
6学习linux下服务的收获:
Linux下面的Deamon有以下两种:stand alone和super.
所谓的super deamon的含义就是指xinetd,它控制着其他很多deamon或者说程序的运行与否,如cvspserver,
telnet等。
即受控于xinetd进程的deamon的配置文件一般在/etc/xinetd.d文件夹下面。而且这些配置文件格式都比较得统一,
即service cvspserver
{
}
这种类似的。一定要将其配置文件写对。很多时候需要的服务(也就是进程,或者说端口等等吧,都是一样的含义)没有
起来的一个非常非常直接的原因就是配置文件没有写对。写完配置文件要想让某个服务生效,那么就需要重启这个大管家xinetd。
重启的方法有三个:/etc/init.d/xinetd restart
/etc/rc.d/init.d/xinetd restart
service xinetd restart
stand alone deamon的配置文件一般在/etc/init.d文件夹下面。他们的配置文件比上面那些deamon的配置文件是要复杂很多的。
他们这些deamon可以通过sevice系统命令来进行启动,其实xinetd也是一种standalone deamon
7安装CVS的收获:
情形:我们的开发环境eclipse中本身就集成了CVS的client,然后Redhat本身也已经安装了cvs的套件,所以就想配起来使用了。
其实整个过程非常简单,只是我自己并不是非常不细致造成的。
首先配置linux方面的cvs server:
1 rpm -qa|grep cvs应该可以看到RH中已经安装了这个rpm
2 创建用户和组。
addgroup cvs
adduser -g cvs testcvs //当然可以增加多个用户了
2 初始化cvs环境: cvs -d /usr/source init //这个/usr/source就是放置源码的位置
注意这个地方,如果你是在root身份上执行的,那么这个/usr/source文件夹是root用户和root组的,那么cvs组的用户就没有
办法写之。这是可以使用chown -R testcvs:cvs /usr/source来改变文件的归属。(注意,一定要学会看linux的命令帮助文档!)
也可以su到testcvs用户上去,使用chmod 771 /usr/source来改变其权限。两者是一样的道理。
3 把cvs server放置到xinetd系统服务中去。
首先在/etc/xinetd.d下新建cvspserver这个配置文件。之所以使用cvspserver,是因为它与vi /etc/services中看到的在
tcp 2401端口上运行的服务名相同。
然后就是写这个配置文件了:
service cvspserver
{
flags = REUSE
socket_type = stream
wait = no
user = root
protocol = tcp
server = /usr/bin/cvs //因为在RH中CVS就在这个目录下面
server_args = -f --allow-root=/usr/source pserver
disable = no
}
4 service xinetd restart然后netstat -l|grep cvspserver应该可以看到它在tcp 2401上进行监听了。这样服务器端就OK了
对于客户端,
如果是在命令行下面使用,则必须先倒入环境变量,在linux下面应该首先export CVSROOT=:pserver:[email protected]:2401/usr/source
如果是eclipse下面直接用就可以了,因为它在新建cvs资源位置的时候会填充上面的这些信息。
CVS本身可能是通过SSH来进行建立连接的。
不过我还是觉得Subversion repository比较好用些,在Linux下启动subversion的命令是svnserver -r /home/RX。其中/home/RX是版本
库的根目录。
5 ethereal的使用:
ethereal有两种定义filter规则的方法,即capture之前和之后。定义其filter规则的时候要写相应的表达式,但是它有相应的图形化方法,
即在edit菜单中的display filter选项,然后add expression按钮就可以添加了不同的规则了。很爽。然后抓到包之后在最下面的filter
处可以把刚才新建的filter应用上即可。
6 vi中 1235+shift+g 可到1235行
7 在linux中添加环境变量的方法有两个:
第一个是在/root/.bashrc中写入export AWT_TOOLKIT=XToolkit
第二个是在/etc/profile中写入
然后注销一下即可。
两者的区别当然也很明显了,一个是对root帐户的shell有用,另一个是对所有帐户的shell都生效;因为每个用户下面都有一个.bashrc的。
此外在shell下输入set命令可以看到目前的环境变量
8在Linux下卸载软件,如果是用rpm安装的,可以用rpm -q来查看到,这时用rpm -e 来删除即可。但是一般来说,某个软件都是有其依赖软件的,
即如果不卸载掉其依赖软件,是卸载不掉它本身的。这个时候再加上--nodeps即可。例如卸载mysql:
rpm -e mysql-3.23.54a-11 --nodeps
9 解压.tar.gz的是用tar xjvf命令
10 Linux下安装mysql:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql var
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &
则启动mysql deamon的方法就是/usr/local/mysql/bin/mysqld_safe --user=mysql&
11 NTP Server
第一步我们就要找到在互联网上给我们提供同步服务的NTP Server
http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个个NTP Server
那么比如在英国的话就可以选择下面两个服务器
0.uk.pool.ntp.org
1.uk.pool.ntp.org
它的一般格式都是number.country.pool.ntp.org.
因为你本身必须和这些能够提供精准时间的服务器同步后才可以为其它机器提供NTP服务.
但由于原子钟十分的昂贵,只有少部分组织拥有, 他们连接到计算机之后就成了一台真正的NTP Server.
NTP的时钟源在一般的情况下也可以使用路由器上的时钟。
第二步要做的就是在打开NTP服务器之前先和这些服务器做一个同步,使得我们机器的时间尽量接近标准时间. 这里我们可以用ntpdate命令
代码:
# ntpdate 0.uk.pool.ntp.org
6 Jul 01:21:49 ntpdate[4528]: step time server 213.222.193.35 offset -38908.575181 sec
# ntpdate 0.pool.ntp.org
6 Jul 01:21:56 ntpdate[4530]: adjust time server 213.222.193.35 offset -0.000065 sec
那么为什么在打开NTP服务之前先要手动运行同步呢?
1. 因为根据NTP的设置,如果你的系统时间比正确时间要快的话那么NTP是不会帮你调整的,所以要么你把时间设置回去,要么先做一个手动同步
2. 当你的时间设置和NTP服务器的时间相差很大的时候,NTP会花上较长一段时间进行调整.所以手动同步可以减少这段时间
第三步就直接配置/etc/ntp.conf即可
添加上面的server和driftfile
如# vi /etc/ntp.conf
server 0.uk.pool.ntp.org
server 1.uk.pool.ntp.org
driftfile /var/lib/ntp/ntp.drift
其它细节信息请见http://www.linuxsir.org/bbs/showthread.php?t=307840
此外,使用0.asia.pool.ntp.org这些服务器好像是不行的,我使用的是windows里面自带的一个time.windows.com
12 VI的一些自己常用命令
我这里主要说在命令模式下:
n : 向前重复搜索
N : 向后重复搜索
<行号>G : 跳到指定行。其中1G跳到文件首部,0G跳到文件尾部
0 :行首
$ :行尾
( : 句首
) : 句尾
{ : 段首
} : 段尾