Linux一句话精彩问答——网络相关篇
发表于:2007-07-04来源:作者:点击数:
标签:
0001 让apache的默认字符集变为中文(bjchenxu) 如果是1.*,vi httpd.conf 找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312 如果是2.*的话,需要改动一个地方,vi httpd.conf AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off
0001 让apache的默认字符集变为中文(bjchenxu)
如果是1.*,vi httpd.conf
找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312
如果是2.*的话,需要改动一个地方,vi httpd.conf
AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off
0002 永久更改ip(bjchenxu)
ifconfig eth0 新ip
然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip
0003 从Linux上远程显示
Windows桌面(lnx3000)安装rdesktop包
0004 手动添加默认网关(bjchenxu)
以root用户,执行: route add default gw 网关的IP想更改网关
1 vi /etc/sysconfig/network-scripts/ifcfg-eth0
更改GATEWAY
2 /etc/init.d/network restart
0005 redhat 8.0上msn和qq(bjchenxu)
下载Gaim 0.58版:
gaim-0.58-2.i386.rpm
下载QQ插件 for gcc2.9版:
libqq-0.0.3-ft-0.58-gcc296.so.gz
将下载的文件放入/temp目录,然后将系统中已有的Gaim删除,即在终端仿真器中键入命令:rpm -e gaim。
开始安装
打开终端仿真器,继续执行下列命令安装Gaim 0.58版,即:
cd /temp (进入temp目录)
rpm -ivh gaim-0.58-2.i386.rpm (安装软件)
当安装成功后,你就可以在GNOME或KDE桌面建立Gaim图标了。
继续安装QQ插件,即键入命令:
gunzip libqq-0.0.3-ft-0.58-gcc296.so.gz (解压缩文件)
cp libqq-0.0.3-ft-0.58-gcc296.so /usr/lib/gaim (复制插件到gaim库目录中)
软件设置
首次启动Gaim 0.85版时,会出现的登录界面。先选择“插件”,在插件对话框中点击“加载”,分别将libmsn.so和libqq-0.0.3-ft-0.58-gcc296.so文件装入,确认后关闭。然后再选择“所有帐号”,在出现的帐号编辑器中继续点击“增加”,当出现的修改帐号页面时,我们就可以输入自己的QQ或MSN号了,登录名填写QQ号码或MSN邮箱,密码填写对应的QQ或MSN密码,Alias填写自己的昵称,协议选择相应的QQ或MSN,其他的设置按默认的即可。当全部设置完成后就可以登录使用了。
由于MS对msn的协议经常升级,导致linux上的gaim和msn插件必须升级,目前尚无万无一失的
解决方案,请见谅
0006 查出22端口现在运行什么程序(bjchenxu)
lsof -i :22
0007 查看本机的IP,gateway, dns(bjchenxu)
IP:
以root用户登录,执行ifconfig。其中eth0是第一块网卡,lo是默认的设备 Gateway:
以root用户登录,执行netstat -rn,以0.0.0.0开头的一行的Gateway即为默认网关 也可以查看/etc/sysconfig/network文件,里面有指定的地址!
DNS:
more /etc/resolv.conf,内容指定如下:
nameserver 202.96.69.38
nameserver 202.96.64.38
0008 RH8.0命令行下改变ping 的TTL值(cgweb,lnx)
方法1(重启后有效):
#sysctl -w net.ipv4.ip_default_ttl=N
(N=0~255),若N>255,则ttl=0
方法2(重启后无效):
#echo N(N为0~255) > /proc/sys/net/ipv4/ip_default_ttl
0009 RH8.0命令行下改变系统配置默认值(houaq)
编辑/etc/sysctl.conf, 例如,将
net.ipv4.ip_forward = 0
变为
net.ipv4.ip_forward = 1
重启后生效,用sysctl -a查看可知
0010 mount局域网上其他
windows机器共享出的目录(bjchenxu)
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom
0011 允许|禁止root通过SSH登陆(Fun-FreeBSD)
修改sshd_config:PermitRootLogin no|yes
0012 让root直接telnet登陆(bjchenxu,platinum)
方法1:
编辑/etc/pam.d/login,去掉
auth required /lib/security/pam_securetty.so 这句话
方法2:
vi /etc/securetty
添加
pts/0
pts/1
...
0013 在linux接adsl设备(wind521)
需要一个运转正常的Linux + 至少一块网卡 + 宽带设备已经申请完毕,同时已经开通。目前市场上大概有几种ADSL设备,他们工作的方式有一些细微的差别。
就是通过虚拟拨号来完成上网的这一过程,也就是利用pppoe设备来进行虚拟拨号的叫作全向猫,就是一种加电后自动的进行拨号的工作,然后留给我们的接口是RJ45,大连地区一般留给我们的网关都是10.0.0.2,这种设备最容易对付,最后是直接分配给用户一个固定的IP,相对大家来说也比较容易对付
1.第一种需要进行拨号:
这几种设备都是通过eth接口与计算机进行通讯的,所以先将硬件设备的连接作好,尤其是宽带猫的,一定要确认无误(否则一会儿要不去可不算我的事情) 然后启动系统,确认系统上是否安装rp-pppoe这个软件(通过rpm -qa|grep pppoe来查找),如没有安装的用户,在光盘里或是到网上去down一个来,安装上后,以root用户执行adsl-setup,这样就进入了adsl的资料的设定状态,要求输入申请宽带的用户名以及其他一些信息,确认没有问题,接受直至最后(里面都是E文,但是一看即能懂,比较简单,有关一个防火墙的设置,我一般都不用,选0,大家可以具体考虑)。
配置完成后,以root用户执行adsl-start,这样将进行adsl的拨号工作,正常就会一下上线,如有什么具体问题,去看一下日志(/var/log/messages)里面告诉你什么了。
停掉adsl,执行adsl-stop就可以了(很简单的)
2.另外两种比较容易对付:
全向猫:只要将你的网卡的IP设置成一个10网段的IP,然后网关指到全向猫的IP,上(10.0.0.2),基本上不有太大的问题固定IP:就像配置本地儿的网卡一样,将IP,网关,DNS都按申请来的填写上就可以搞定了
0014 让linux自动同步时间(shunz)
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov
0015 linux的网上资源有哪些(bjchenxu)
国外
http://lwn.net/
http://www.tldp.org/
http://www.yolinux.com/(flying-dance big big pig)
http://www.justlinux.com/
http://www.linuxtoday.com/
http://www.linuxquestions.org/
http://www.fokus.gmd.de/linux/
http://www.linux-tutorial.info/
http://public.www.planetmirror.com/
http://www.freebsdforums.org/forums/
http://www.netfilter.org/documentation/
http://www-106.ibm.com/developerworks/linux/
国内
http://www.fanqiang.com/
http://www.linuxsir.com/
http://www.chinaunix.net/
http://www.linuxfans.org/(deadcat)
http://www.linuxeden.com/
http://www.linuxforum.net/
http://www.linuxaid.com.cn/
http://freesoft.online.sh.cn/
http://www-900.ibm.com/developerWorks/cn/linux/index.shtml
http://www.neweasier.com/software.html
http://www.blueidea.com/bbs/archivecontent.asp?id=635906(sqh)
http://westlinux.ywzc.net/(onesun)
0016 改变sshd的端口(bjchenxu)
在/etc/ssh/sshd_config中加入一行:Port 2222,/etc/init.d/sshd restart重启守护进程
0017 改变telnet的端口(bjchenxu)
将/etc/services文件中telnet对应的端口号21改为你想要的值,/etc/init.d/xinetd restart重启守护进程
0018 终端模式有问题(sakulagi)
export TERM=vt100
0019 模仿超级终端,
LINUX里什么程序连接路由器和交换机(alstone)
minicom
0020 ssh上来能不能不自动断线(wind521)
那是timetou的设置,修改TMOUT变量值
0021 用什么工具做
入侵检测(bjchenxu)
snort
0022 Linux下检测程序内存泄漏的工具(bjchenxu)
cchecker或是efence库都可以
0023 linux下如何监视所有通过本机网卡的数据(bjchenxu)
tcpdump iptraf
0024 为什么root执行好多命令都说command not found(bjchenxu)
你是telnet上来,然后su成root的吧,改改你的su命令格式,应该是su - root
0025 关闭用户的POP3权限(tiansgx)
把POP3的端口关了就可以了。 在文件/etc/services中找到这一行 pop-3 110/tcp 把这一行前加个#,把它注释掉就可以了。
0026 linux下播放flash动画(myxfc)
linux下播放flash动画用这个东西,不会造成浏览器的关闭(其他的插件不好用)
首先下载flash播放动画在linux的插件
http://www.collaborium.org/onsite/jos2000/related/soft/flash_linux.tar.gz
tar zxvf flash_linux.tar.gz
打开包之后,会看到Linux文件夹
在linux文件颊里有两个文件libflashplayer.so 和shockwaveflash.class,把这两个文件拷贝到你的浏览器里的插件里(浏览器不一样,插件的位置可能也不一样)
/usr/lib/mozilla-1.0.1/plugins,就可以了
0027 锁定wu-ftp用户目录(wangla)
编辑ftpaccess文件
restricted-uid *
这一句很重要,限制了ftp用户在自己的目录里。
0028 服务器怎么不让telnet(知秋一叶)
服务器上必须启动telnet服务 && 服务器的防火墙优先级应该设为低
0029 防止任何人使用su命令成为root(xiaohu0)
1.vi /etc/pam.d/su
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
2.在/etc/pam. d/su配置文件中定义了wheel组.
0030 如何使lynx浏览器能够浏览中文网页(Ghost_Vale)
浏览简体中文网页就的修改如下设置
Save options to disk: [X]
Display and Character Set
Display character set : [Chinese________________________]
Assumed document character set(!): [iso-8859-1______]
CJK mode (!) : [ON_]
然后移到最下面的 Accept Changes 按下 Enter 保存就可以了
当然你的系统要支持简体中文才可以
0031 网卡激活了,却上不了网,怎么办?(Slock)
trace一下,看看到底是在那一块被阻住的。
1.Ping自己
2.Ping网关
3.Ping DNS
4.trace DNS
If All=ok
then nslookup www.sina.com.cn
Ping sinas address
Tra sina address
基本上就可以知道结果了
0032 在redhat9下配samba,win2000能访问,win98不能访问?(squall2003)
如果是wind98必需修改注册表:HKEY_LOCAL_MACHINE/system/correntcontrolset/services/Vxd/VNETSUP下建个D值:EnablePlainTextpasswd,键值1
0033 如何得到网卡的MAC地址(bjchenxu,hutuworm)
arp -a | awk {print $4}
ifconfig eth0 | head -1 | awk {print $5}
0034 如何得到网卡的IP地址(mb)
ifconfig eth0 |awk /inet addr/ {split($2,x,":");print x[2]}
0035 如何修改Linux机器所在的工作组(hutuworm)
vi /etc/samba/smb.conf,修改workgroup = 一行,将组名写在后面。
0036 一块网卡如何绑定两个ip(linuxloveu)
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth0:1
#vi ifcfg-eth0:1
修改IP和设备名
Debian下一个网卡绑定多个ip的方法(NetDC)
修改/etc/network/interfaces
auto eth0
iface eth0 inet static
address 172.16.3.123
netmask 255.255.255.0
network 172.16.3.0
broadcast 172.16.3.255
gateway 172.16.3.1
auto eth0:1
iface eth0:1 inet static
address 10.16.3.123
netmask 255.255.0.0
network 10.16.0.0
broadcast 10.16.255.255
修改/etc/network/ifstate
lo=lo
eth0=eth0
eth0:1=eth0:1
然后/etc/init.d/networking restart就可以了。
一个网卡绑定多ip另一法(hotbox)
在/etc/sysconfig/network-scripts/下创建一个文件:ifcfg-ethX-rangeX ("X"为网卡号)
文件内容:
IPADDR_START=
IPADDR_END=
CLONENUM=0
可以有256个ip
0037 一个ip如何绑定两块网卡(hutuworm)
假设192.168.0.88是ip,192.168.0.1是网关:
/sbin/modprobe bonding miimon=100 mode=1
/sbin/ifdown eth0
/sbin/ifdown eth1
/sbin/ifconfig bond0 192.168.0.88
/sbin/ifenslave bond0 eth0 eth1
/sbin/route add default gw 192.168.0.1
0038 192.168.1.0/24(双眼皮的猪)
它与192.168.1.0/255.255.255.0是等价的,只是表示方式不同....
0039 linux下清空arp表的命令(NetDC)
#arp -d -a(适用于bsd)
for HOST in `arp | sed /Address/d | awk { print $1}` ; do arp -d $HOST; done
0040 使用ntp协议从服务器同步时间(NetDC)
ntpdate NTP-SERVER 例:ntpdate 172.16.2.1
0041 host命令的用法(bjchenxu)
host能够用来查询域名,它还能得到更多的信息
host -t mx example.com可以查询出example.com的MX记录,以及处理mail的host的名字
host -l example.com会返回所有注册在example.com下的域名
host -a example.com则会显示这个主机的所有域名信息.
0042 立刻让LINUX支持NAT(platinum)
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -I POSTROUTING -j MASQUERADE
0043 rh8.0下rcp的用法设置(zhqh1)
只对root用户生效
1、在双方root用户根目录下建立.rhosts文件,并将双方的hostname加进去.在此之前应在双方的/etc/hosts文件中加入对方的IP和hostname
2、把rsh服务启动起来,redhat默认是不启动的。方法:用执行ntsysv命令,在rsh选项前用空格键选中,确定退出。 然后执行:service xinetd restart即可。
3、到/etc/pam.d/目录下,把rsh文件中的auth required /lib/security/pam_securetty.so一行用“#”封掉即可。
0044 在ethX设备上,使LINUX支持网络广播功能(默认是不支持的)(platinum)
ip route add 255.255.255.255 dev ethX
0045 路由设置手册(NetDC)
查看路由信息:
netstat -rn
route -n
手工增加一条路由:
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
手工删除一条路由:
route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
好了,下面到了重要的了,让系统启动的时候自动启用路由设置。
在redhat中添加一条路由,修改文件/etc/sysconfig/static-routes
any net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
在debian中添加一条路由,
方法一:修改/etc/network/interfaces
代码:
auto eth0
iface eth0 inet static
address 172.16.3.222
netmask 255.255.0.0
network 172.16.0.0
broadcast 172.16.255.255
gateway 172.16.2.1
up route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
down route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
方法二:在/etc/network/if-up.d目录下建立一个简单的脚本文件,如static-route$(记得以$符号结尾,要不有个run-parts会跑出来告诉你一些东西)脚本最简单的就好啦,如:
代码:
#!/bin/bash
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
嘿嘿,你也可以猜到/etc/network/目录下的其他目录的作用了吧。
发觉在debian中这个route的设置其实只是它的那些配置文件的一个比较简单的应用而已,你完全可以做更复杂的应用。
----------------------------程序开发篇--------------------------
0001 linux下调试core文件(bjchenxu)
gdb
:出错产生core dump的可执行程序。
: core dump的文件名,缺省是“core”
0002 gcc abc.c得到的a.out不能运行(bjchenxu)
./a.out
0003 c++ 编译时为什么出错信息说cout没定义(bjchenxu)
include头文件完后加入 using namespace std;
0004 新编译生成的gcc ,使用的标准连接库都在/usr/local/lib 下了,但使用的缺省的连接路径是 /usr/lib 怎样添加?(除了在每次编译时 增加 -L /usr/local/lib 以外)(sakulagi, hutuworm)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
写到~/.bash_profile里面。
增加一种简便办法:
将/usr/local/lib加入/etc/ld.so.conf,然后运行一次ldconfig
0005 RH9下GCC的安装(一起走过的日子,hutuworm)
三种方法选一:
(1)利用CD上rpm安装
CD-1:compat-gcc-7.3-2.96.118.i386.rpm
CD-1:compat-gcc-c++-7.3-2.96.118.i386.rpm
CD-1:libgcc-3.2.2-5.i386.rpm
CD-2:compat-gcc-g77-7.3-2.96.118.i386.rpm
CD-2:compat-gcc-java-7.3-2.96.118.i386.rpm
CD-2:compat-gcc-objc-7.3-2.96.118.i386.rpm
CD-2:gcc-3.2.2-5.i386.rpm
CD-2:gcc-c++-3.2.2-5.i386.rpm
CD-2:gcc-g77-3.2.2-5.i386.rpm
CD-2:gcc-gnat-3.2.2-5.i386.rpm
CD-2:gcc-java-3.2.2-5.i386.rpm
CD-2:gcc-objc-3.2.2-5.i386.rpm
比如碰到系统提示:
warning : gcc-3.2.2-5.i386.rpm : V3 DSA signature :MOKEY key ID db42a60e
error : Failed dependencies :
binutils >=2.13.90.0.18-9 is needed by gcc-3.2.2-5
glibc-devel >=2.3.2-11.9 is needed by gcc-3.2.2-5...
就先安裝glibc-devel包,依此类推
(2)更好的方法就是在X-window下选“主菜单”──>“系统设置”──>“添加/删除应用程序”──>“开发工具”中的gcc并安装它
(3) up2date gcc便可自动解决dependency问题
0006 shell脚本为何无法运行(GOD_Father)
第一,脚本权限要为可执行 #chmod +x test.sh
第二,脚本所在的目录在环境变量PATH中,或者直接执行 #./test.sh
----------------------------经典图书篇--------------------------
0001 GNU/Linux高级网络应用服务指南(bjchenxu)
linuxaid网站
机械工业出版社
优点:又全又精,全都是实战之作
缺点:针对版本较低,为redhat 6.2
0002 Linux Apache Web Server管理指南(Linux Apache Web Server Administration)(bjchenxu)
Charles Aulds 马树奇/金燕译
电子工业出版社
优点:目前我还没有发现哪个关于apache的问题这本书没有讲过
缺点:针对1.3.x,最新的针对2.0.*的英文版已出,中文版待出
0003 Linux内核情景分析(bjchenxu)
毛德操/胡希明
浙江大学出版社
优点:太透彻了,没法不懂
缺点:还是版本问题,内核更新太快了,不过还是必读
0004 Unix环境高级编程(bjchenxu)
Richard Stevens
机械工业出版社
优点:博大精深
缺点:初学者是很难理解的,否则怎么叫《高级编程》呢?
0005 编程精粹--Microsoft编写优质无错c程序秘诀(bjchenxu)
Steve Maguire
电子工业出版社
优点:不说了,作者是微软的资深工程师
缺点:很难找了,1994年出的
0006 Understanding the Linux Kernel, 2nd Edition(hutuworm)
Daniel P. Bovet & Marco Cesati
OReilly出版社
读了这本书之后,你就会明白在什么情况下Linux具有最佳的性能,以及它如何面对挑战,在各种环境中提供进程调度、文件访问和内存管理时的优良的系统响应。作者通过解释其重要性来引入每一个题目,并将内核操作与Unix程序员和用户熟悉的系统调用或实用程序联系起来。
0007 UNIX操作系统教程(英文版)(弱智)
Syed Mansoor Sarwar等
机械工业出版社
特点:浅显易懂,着重unix基础概念和整体理解,顺便复习英语。
另外:机械工业出版社已经出版了中文版,名称:UNIX 教程
0008 UNIX编程环境(弱智)
Brian W.Kernighan, Rob Pike 陈向群等译
机械工业出版社
特点:浅显,深入浅出讲解如何使用UNIX及各种工具,简单介绍Unix编程环境;对比“UNIX环境高级编程”,此书适合新手入门。
0009 The Art of UNIX Programming(hutuworm)
Eric Steven Raymond
http://catb.org/~esr/writings/taoup/html/
优点: E.S. Raymond的经典著作
0010 unix网络编程--卷一 套接口API和X/Open传输接口API(slg1972)
Richard Stevens
清华大学出版社
优点:详细地讲解unix网络的编程
0011 unix网络编程--卷二 进程间通讯(slg1972)
Richard Stevens
清华大学出版社
优点:详细讲解unix的进程之间,线程之间的关系,及各种不同标准的进程编程的异同
0012 unix网络编程--卷三 应用程序(slg1972, hutuworm)
未出,因为Richard Stevens大师英年早逝,再也不可能完成这计划中的第三卷了。据说其未竟稿可能由Gary R. Wright整理续写出来,但是自大师驾鹤以来一直杳无音信
0013 基于C++ CORBA高级编程(slg1972)
Michi Henning,Steve Vinoski
清华大学出版社
优点:中间件的好书,通向corba应用的必备资料。
0014 unix linux网管通鉴(odin_free)
电子版的,包括本版精华
优点:我见过关于unix知识最全面、最实用的chm文档,相当于一个小型网站,里面支持全文检索,推荐所有还没有的兄弟姐妹们下载
0015 www.chinaoy.com(aomin5555)
不错,挺全的,图书下载的好网址:
redhat linux9.0 官方入门指南
·redhat linux9.0 官方安装指南
·redhat linux9.0 官方定制设置手册
·redhat linux基础教程
·Linux 参考大全
·清华论坛linux精华
·Linux系统管理员指南中文手册
·Linux网站建设和维护全攻略
·redhat linux8.0 安装手册
·Linux环境database管理员指南
0016 Linux Advanced Routing & Traffic Control(hutuworm)
专门讲LINUX IPROUTE2的书,大概100页左右,www.lartc.org
中文版在:http://www.lartc.org/LARTC-zh_CN.GB2312.pdf
0017 Debian User强烈推荐看的书(NetDC)
Debian Reference (Debian参考手册)
http://qref.sourceforge.net/
简体中文版的pdf文档。
http://qref.sourceforge.net/Debian/reference/reference.zh-cn.pdf
0018 Advanced Bash-Scripting Guide(hutuworm)
An in-depth exploration of the art of shell scripting.
Mendel Cooper. .
http://www.tldp.org/LDP/abs/abs-guide.pdf
优点:是Bash编程的圣经,而且该书作者不断在更新其内容,一两个月就会翻新一个版本,值得一读,一读再读。
mysql相关篇
0001 mysql的数据库存放在什么地方(bjchenxu)
1. 如果使用rpm包安装,应该在/var/lib/mysql目录下,以数据库名为目录名
2. 如果源码安装在/usr/local/mysql中,应该在/usr/local/mysql/var中,以数据库名为目录名
0002 从mysql中导出和导入数据(bjchenxu)
导出数据库
mysqldump 数据库名 > 文件名
导入数据库
mysqladmin create 数据库名
mysql 数据库名 < 文件名
0003 忘了mysql的root口令怎么办(bjchenxu)
# service mysql stop
# mysqld_safe --skip-grant-tables &
# mysqladmin -u user password newpassword
# mysqladmin flush-privileges
0004 快速安装php/mysql(bjchenxu)
确保使用系统自带的apache,从安装光盘中找出所有以mysql及php-mysql开头的rpm包,然后运行#rpm -ivh mysql*.rpm php-mysql*.rpm; mysql_install_db; service mysql start
原文转自:http://www.ltesting.net