1157 我下載了rcs5.7,用./configure && make && make install時報錯如下:./conf.sh: testing permissions ... ./conf.sh: This command should not be run with superuser permissions. 我是以root用戶身份登錄編譯安裝的,為什麼會這樣?(bjchenxu)
有些軟體確實因為考慮到安全等其他原因不能用root用戶編譯。這時只要用其他用戶編譯,到make install這步時,如果該軟體安裝在不屬於編譯時的用戶的主目錄下時,需要使用su命令轉換為root用戶再執行make install。
1158 我在安裝USBView時失敗,具體情況如下: #rpm -ivh usbview-1.0-9.src.rpm warning:usbview-1.0-9.src.rpm:V3 DSAsignature:NOKEY, key IDab42a60e (bjchenxu)
這行代碼說明安裝失敗是因為你的系統上沒有安裝合適的鑰匙來校驗簽名。要使該套裝軟體通過校驗,可以通過導入Red Hat的公匙來解決,具體的方式是在Shell下運行如下命令:
#rpm -import /usr/share/rhn/RPM-GPG-KEY
(注意大小寫)
1159 如何防止某個關鍵文件被修改?(bjchenxu)
在Linux下,有些配置文件是不允許任何人(包括root)修改的。為了防止被誤刪除或修改,可以設定該文件的“不可修改位(immutable) ”。命令如下:
# chattr +i /etc/fstab
如果需要修改文件則採用下面的命令:
# chattr -i /etc/fstab
1160 怎樣限制一個用戶可以啟動的進程數?(bjchenxu)
先確定一下/etc/pam.d/login文件中下面一行的存在:
session required /lib/security/pam_limits.so
然後編輯/etc/security/limits.conf,在裏面可以設置限制用戶的進程數、CPU佔用率和內存使用率等,如hard nproc 20就是指限制20個進程,具體可以看man。
1161 如何限制Shell命令記錄大小 ?(bjchenxu)
默認情況下,bash會在文件$HOME/.bash_history中存放多達500條命令記錄。有時根據具體的系統不同,默認記錄條數不同。系統中每個用戶的主目錄下都有一個這樣的文件。為了系統的安全,在此強烈建議用戶限制該文件的大小。用戶可以編輯/etc/profile文件,修改其中的選項如下:
HISTFILESIZE=30 或 HISTSIZE=30
這樣就將記錄的命令條數減少到30條。
1162 我想將開機時顯示的資訊保留下來,以檢查電腦出了問題的地方,請問怎麼辦?(bjchenxu)
可輸入下面的命令:
#dmesg > bootmessage
該命令將把開機時顯示的資訊重定向輸出到一個文件bootmessage中。
1163 我想在登出時刪除命令記錄,請問怎麼做?(bjchenxu)
編輯/etc/skel/.bash_logout文件,增加如下行:
rm -f $home/.bash_history
這樣,系統中的所有用戶在登出時都會刪除其命令記錄。
如果只需要針對某個特定用戶,如root用戶進行設置,則可只在該用戶的主目錄下修改/$home/.bash_history文件,增加相同的一行即可。
1164 編譯內核,支援ntfs的步驟(platinum,bjchenxu)
1. # cd /usr/src/linux-2.4
2. # make menuconfig
3. 選中file system下的ntfs file system support (read only)為m
4. # uname -a
2.4.21-27.0.2.el
5. # vi makefile
確保前幾行為
version = 2
patchlevel = 4
sublevel = 21
extraversion = -27.0.2.el
6. # make dep
7. # make modules subdirs=fs/ntfs
8. # mkdir /lib/moduels/2.4.21-27.0.2.el/kernel/fs/ntfs
9. # cp -f fs/ntfs /*.o /lib/moduels/2.4.21-27.0.2.EL/kernel/fs/ntfs/
10. # depmod -a
11. # modprobe ntfs
12. # lsmod
確保有ntfs在裏面
1165 如何使用ssh通道技術(bjchenxu)
本文討論所有機器均為Linux作業系統。
比如說我的機器是A,中間伺服器為B,目標伺服器是C。
從A可以ssh到B,從B可以ssh到C,但是A不能直接ssh到C。
現在展示利用ssh通道技術從A直接傳輸文件到C。
1. ssh -L1234:C:22
root@B input B's password
2. scp -P1234 filename
root@localhost: input C's password
1166 使用rpm命令時沒有任何響應,如何解決 (初學攝影)
rm -rf /var/lib/rpm/__db.*
1167 向登陸到同一台伺服器上的所有用戶發一條資訊(bjchenxu)
1)輸入wall並回車
2)輸入要發送的消息
3)結束時按“Control-d”鍵, 消息即在用戶的控制窗口中顯示
1168 輸入短消息到單個用戶(bjchenxu)
1)輸入write username,當用戶名出現在多個終端時,在用戶名後可加tty, 以表示在哪個tty下的用戶。
2)輸入要發送的消息。
3)結束時按“Control-d”鍵, 消息即在用戶的控制窗口中顯示。
4)對於接收消息方,可以設定是否允許別人送消息給你。
指令格式為:mesg n[y]
%write liuxhello! Everybody, I’llcome.
%
用戶控制窗口中顯示的消息:Message from liux on ttyp1 at 10:00…hello! Everybody, I’llcome.EOF
當使用CDE或OpenWindows等窗口系統時,每個窗口被看成是一次單獨的登錄;如果用戶登錄次數超過一次則消息直接發送到控制窗口。
1169 發送文件中的消息到單個用戶(bjchenxu)
如果有一個較長的消息要發送給幾個用戶,用文件方式:
1)創建要發送的消息文本的文件filename.
2)輸入write username< filename回車,用cat命令創建包含短消息的文件:
% cat> messagehello! Everybody, I’llcome.
% write liux< messagewrite:liux logged in more than once…write to console
% 用戶在一個以上窗口登錄,消息顯示在控制窗口中Message from liux on ttyp1 at 10:00…hello! Everybody, I’llcome.EOF
1170 向遠程機器上的所有用戶發送消息(bjchenxu)
使用rwall(向所有人遠程寫)命令同時發送消息到網路中的所有用戶。
rwall hostname file
當使用CDE或OpenWindows等窗口系統時, 每個窗口被看成是一次單個的登錄;
如果用戶登錄次數超過一次則消息直接發送到控制窗口。
1171 向網路中的所有用戶發送消息(bjchenxu)
發送消息到網路中的所有用戶
1)輸入rwall -n netgroup並回車
2)輸入要發送的消息
3)結束時按“Control-d”鍵,消息即在系統每個用戶的控制窗口中顯示,下面是系統管理員發消息到網路組Eng每個用戶的例子:
% rwall -n EngSystem will be rebooted at 11:00.(Control-d)
%
用戶控制窗口中的消息:Broadcast message from root on console…System will be rebooted at 11:00.EOF
注意:也可以通過rwall hostname(主機名)命令到系統的所有用戶。
----------------------------網路相關篇--------------------------
2001 讓apache的默認字符集變為中文(bjchenxu)
vi httpd.conf,找到 AddDefaultCharset ISO-8859-1 一行
apache版本如果是1.*,改為 AddDefaultCharset GB2312
如果是2.0.1-2.0.52,改為 AddDefaultCharset off
然後運行/etc/init.d/httpd restart重啟apache即可生效。
注意:對於2.0.53以上版本,不需要修改任何配置,即可支援中文。
2002 永久更改ip(bjchenxu)
ifconfig eth0 新ip
然後編輯/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip
2003 從Linux上遠程顯示Windows桌面(lnx3000)
安裝rdesktop包
2004 手動添加默認網關(bjchenxu)
以root用戶,執行: route add default gw 網關的IP
想更改網關
1 vi /etc/sysconfig/network-scripts/ifcfg-eth0
更改GATEWAY
2 /etc/init.d/network restart
2005 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插件必須升級,目前尚無萬無一失的解決方案,請見諒
2006 查出22端口現在運行什麼程式(bjchenxu)
lsof -i:22
2007 查看本機的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
2008 RH8.0命令行下改變ping 的TTL值(cgweb,lnx)
方法1(重啟後有效):
#sysctl -w net.ipv4.ip_default_ttl=N
(N=0~255), 若N> 255, 則ttl=0
方法2(重啟後無效):
#e cho N(N為0~255) > /proc/sys/net/ipv4/ip_default_ttl
2009 開啟LINUX的IP轉發(houaq)
編輯/etc/sysctl.conf, 例如,將
net.ipv4.ip_forward = 0
變為
net.ipv4.ip_forward = 1
重啟後生效,用sysctl -a查看可知
2010 mount局域網上其他windows機器共用出的目錄(bjchenxu)
mount -t smbfs -o username=guest, password=guest //machine/path /mnt/cdrom
2011 允許|禁止root通過SSH登陸(Fun-FreeBSD)
修改sshd_config:PermitRootLogin no|yes
2012 讓root直接telnet登陸(bjchenxu,platinum)
方法1:
編輯/etc/pam.d/login,去掉
auth required /lib/security/pam_securetty.so 這句話
方法2:
vi /etc/securetty
添加
pts/0
pts/1
...
2013 在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都按申請來的填寫上就可以搞定了
2014 讓linux自動同步時間(shunz)
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov
2015 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/ www.planetmirror.com/" target="_blank">http://public.
www.planetmirror.com/ http://www.freebsdforums.org/forums/ http://www.netfilter.org/documentation/ http://www-106.ibm.com/developerworks/linux/ 國內
http://www.linuxmine.com/ 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://linux.chinaitlab.com 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)
2016 改變sshd的端口(bjchenxu)
在/etc/ssh/sshd_config中加入一行:Port 2222,/etc/init.d/sshd restart重啟守護進程
2017 改變telnet的端口(bjchenxu)
將/etc/services文件中telnet對應的端口號21改為你想要的值,/etc/init.d/xinetd restart重啟守護進程
2018 終端模式有問題(sakulagi)
export TERM=vt100
2019 模倣超級終端,LINUX裏什麼程式連接路由器和交換機(alstone)
minicom
2020 ssh上來能不能不自動斷線(wind521,雙眼皮的豬)
修改自己HOME目錄下的.bash_profile文件,加上
export TMOUT=1000000 (以秒為單位)
然後運行source .bash_profile
2021 用什麼工具做入侵檢測(bjchenxu)
snort
2022 Linux下檢測程式內存泄漏的工具(bjchenxu)
cchecker或是efence庫都可以
2023 linux下如何監視所有通過本機網卡的數據(bjchenxu)
tcpdump或者iptraf
2024 為什麼root執行好多命令都說command not found(bjchenxu)
你是telnet上來,然後su成root的吧,改改你的su命令格式,應該是su - root
2025 關閉用戶的POP3許可權(tiansgx)
把POP3的端口關了就可以了。 在文件/etc/services中找到這一行 pop-3 110/tcp 把這一行前加個'#', 把它註釋掉就可以了。
2026 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, 就可以了
2027 鎖定wu-ftp用戶目錄(wangla)
編輯ftpaccess文件
restricted-uid *
這一句很重要,限制了ftp用戶在自己的目錄裏。
2028 伺服器怎麼不讓telnet(知秋一葉)
伺服器上必須啟動telnet服務 && 伺服器的防火牆優先級應該設為低
2029 防止任何人使用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組.
2030 如何使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 保存就可以了
當然你的系統要支援簡體中文才可以
2031 網卡激活了,卻上不了網,怎麼辦?(Slock,雙眼皮的豬)
traceroute,看看到底是在那一塊被阻住的。
1.ping自己
2.ping網關
3.ping DNS
4.traceroute DNS
如果一切正常
nslookup
www.sina.com.cn ping sina的address
traceroute sina的address
基本上就可以知道結果了
2032 在redhat9下配samba, win2000能訪問,win98不能訪問?(squall2003)
如果是wind98必需修改註冊表:HKEY_LOCAL_MACHINE/system/correntcontrolset/services/Vxd/VNETSUP下建個D值:EnablePlainTextpasswd,鍵值1
2033 如何得到網卡的MAC地址(bjchenxu,hutuworm)
arp -a | awk ' { print $4 } '
ifconfig eth0 | head -1 | awk ' { print $5 } '
2034 如何得到網卡的IP地址(mb)
ifconfig eth0 |awk '/inet addr/ { split($2,x,": "); print x[2] } '
2035 如何修改Linux機器所在的工作組(hutuworm)
vi /etc/samba/smb.conf,修改workgroup = 一行,將組名寫在後面。
2036 一塊網卡如何綁定兩個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=<START ip>
IPADDR_END=<END ip>
CLONENUM=0
可以有256個ip
2037 一個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
2038 192.168.1.0/24(雙眼皮的豬)
它與192.168.1.0/255.255.255.0是等價的,只是表示方式不同....
2039 linux下清空arp表的命令(NetDC)
#arp -d -a(適用於bsd)
for HOST in `arp | sed '/Address/d' | awk ' { print $1 } '`; do arp -d $HOST; done
2040 使用ntp協議從伺服器同步時間(NetDC)
ntpdate NTP-SERVER 例:ntpdate 172.16.2.1
2041 host命令的用法(bjchenxu)
host能夠用來查詢域名,它還能得到更多的資訊
host -t mx example.com可以查詢出example.com的MX記錄,以及處理mail的host的名字
host -l example.com會返回所有註冊在example.com下的域名
host -a example.com則會顯示這個主機的所有域名資訊.
2042 立刻讓LINUX支援NAT(platinum)
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -I POSTROUTING -j MASQUERADE
2043 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一行用“#”封掉即可。
2044 在ethX設備上,使LINUX支援網路廣播功能(默認是不支援的)(platinum)
ip route add 255.255.255.255 dev ethX
2045 路由設置手冊(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的設置其實只是它的那些配置文件的一個比較簡單的應用而已,你完全可以做更複雜的應用。
2046 利用ssh複製文件(platinum)
假如A、B都有SSH服務,現在在A的SSH裏
1、從A複製B(推過去)
scp -rp /path/filename
username@remoteIP:/path 2、從B複製到A(拉過來)
scp -rp
username@remoteIP:/path/filename /path
如果其中一個不是LINUX系統,可以在WINDOWS上用SecureFX軟體
2047 samba3.0中文顯示問題的解決辦法(linuxzfp, jiadingjun)
在samba 3.0的配置文件中(/etc/samba/smb.conf)的[global]中加入下面兩句:
unix charset=cp936
重啟服務
service smb restart
2048 臨時修改網卡MAC地址的方法
關閉網卡:/sbin/ifconfig eth0 down
然後改地址:/sbin/ifconfig eth0 hw ether 00:AA:BB:CCD:EE
然後啟動網卡:/sbin/ifconfig eth0 up
2049 conntrack 表滿的處理方法(cgweb)
前段時間配置的iptables+squid做的proxy server , 一直工作正常。今天我上控制臺上發現
Jun 18 12:43:36 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:49:51 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:50:57 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:57:38 red-hat kernel: ip_conntrack: table full, dropping packet.
IP_conntrack表示連接跟蹤數據庫(conntrack database),代表NAT機器跟蹤連接的數目,連接跟蹤表能容納多少記錄是被一個變數控制的,它可由內核中的ip- sysctl函數設置。每一個跟蹤連接表會佔用350字節的內核存儲空間,時間一長就會把默認的空間填滿,那麼默認空間時多少?我以redhat為例在內存為64MB的機器上時4096, 內存為128MB是 8192, 內存為256MB是16376,那末就能在/proc/sys/net/ipv4/ip_conntrack_max裏查看、設置。
例如:增加到81920,可以用以下命令:
echo "81920" > /proc/sys/net/ipv4/ip_conntrack_max
那樣設置是不會保存的,要重啟後保存可以在/etc/sysctl.conf中加:
net.ipv4.ip_conntract_max =81920
按照此方法改變後一切正常,要是在滿了可以加大其值.
2050 Linux下怎麼使用BT(atz0001)
azureus,
http://azureus.sourceforge.net/ 2051 Linux下查看光纖網卡的工作模式(sakulagi)
主板上PCI—X插槽中插入一塊64位的光纖網卡,在LINUX9.0的環境下,要知道它是否工作在64位模式下,可使用getconf WORD_BIT
2052 線上更新RHEL的另類途徑(hutuworm)
1.安裝相應的APT包:
Red Hat EL 2.1 - i386
rpm -ihv
http://dag.wieers.com/packages/apt/apt-0.5.15cnc6-3.0.el2.dag.i386.rpm Red Hat EL 3 - i386
rpm -ihv
http://dag.wieers.com/packages/apt/apt-0.5.15cnc6-3.1.el3.dag.i386.rpm Red Hat EL 3 - x86_64
rpm -ihv
http://dag.wieers.com/packages/apt/apt-0.5.15cnc6-3.1.el3.dag.x86_64.rpm 2.線上更新
apt-get update
apt-get upgrade
2053 SOCKS5啟動後一段時間停止工作。用命令ps auxw | grep socks5查看,發現有很多SOCKS defunct進程,為什麼(bjchenxu)
主要是打補丁的問題。如果socks5-tar.gz是沒打過補丁的版本,必須下一個帶補丁的v1.0-r11版本,重新安裝、運行問題就可以解決了。
2054 在VMware WorkStation 4.0.5中安裝Debian 3.0時,提示找不到硬盤,需要SCSI的驅動。但是我用的是IDE硬盤,請問該怎麼辦? (bjchenxu)
由於VMware將用戶劃分的硬盤空間虛擬成SCSI硬盤,而Debian安裝盤中沒有對應的驅動,而安裝其他Linux版本時,有的在一開始會載入SCSI驅動,所以沒有這個問題。用戶可以修改VMware的配置,將其改為模擬IDE硬盤就可以了。
2055 如何讓Linux網關後面的WIN32下的用戶直接點擊FTP連接下載?(platinum)
modprobe ip_nat_ftp
2056 請問用戶的IP是動態的,如何在Squid中限定在同一時間內同一賬戶線上的數量?(bjchenxu)
例如限制單個用戶只能打開12個HTTP連接,採用下面的方法:
acl all src 0.0.0.0/0.0.0.0
acl limit maxconn 12
acl localnet src 192.168.0.0/24
http_access deny localnet maxconn
http_access allow localnet
http_access deny all
2057 如果我用Squid代理的代理伺服器在192.168.1.0這個網段裏,例如它的IP是192.168.1.1,我有一些客戶端在192.168.2.0這個網段內,怎樣設置才能通過這個代理伺服器出去?(bjchenxu)
如果不用透明代理,直接在瀏覽器的代理選項裏設置就可以了。否則首先是在代理伺服器的網卡上再挂一個IP為192.168.2.1,添加相應的路由,再修改Squid的squid.conf文件裏的監聽地址和端口等,最後在192.168.2.0網段的客戶端設置其網關為 192.168.2.1,再直接在瀏覽器的代理選項裏設置一下就可以了。
2058 如何使用netrc文件進行自動FTP?(bjchenxu)
在自己的home目錄下建立一個許可權為600,尾碼名為.netrc的文件,內容如下:
machine 172.168.15.1 login admin password admin
這樣用戶以後每次登錄FTP伺服器172.168.15.1的時候,系統都會幫用戶以用戶名admin、口令admin登錄。用戶利用這個特徵可以實現自動FTP。例如用戶想要每天6:00到172.168.15.1機器上面獲得/admin目錄下的文件admin.txt,可以按如下方法做。
建立一個文件ftp_cmd,內容如下:
cd admin
get amin.txt
bye
然後使用crontab -e設置定時任務:
0 6 * * * ftp 172.168.15.1 < ftp_cmd
2059 怎樣得到ipchains的日誌?(bjchenxu)
用戶設置規則的時候必須加入-l參數才會在/etc/messages裏面做記錄。不過建議還是不加的好,不然用戶的/etc/messages會變得非常大。
2060 如何不顯示其他用戶的消息?(bjchenxu)
用戶可以使用mesg n來禁止別人給自己發送資訊,其實就是禁止別人往自己的終端上面的寫的許可權。當別人試圖再使用write給自己發送資訊時,發送者將會看見提示如下:
write: user has messages disabled on pts/n
2061 minicom彩色顯示(雙眼皮的豬)
minicom -s進行serial port配置, 然後配置好以後,
minicom -o -c on
-o表示不初始化
-c on表示color on
2062 啟用SELinux的Apache的配置文件httpd.conf裏面修改DocumentRoot無用或者出現403 Forbidden錯誤(arbor)
# chcon -u system_u -t httpd_sys_content_t -R website目錄
2063 apache2 的log文件位置如何自定義目錄(tomi)
編輯httpd.conf裏的
ErrorLog /var/log/http/error_log < == 這是管errorlog的
CustomLog /var/log/http/access_log common < == 這是管accesslog的
2064 更改eth0是否混雜模式(wwy)
網卡eth0改成混雜模式:
ifconfig eth0 promisc
關閉混雜模式:
ifconfig eth0 -promisc
2065 字符介面下的ftp中,下載整個文件夾(bjchenxu)
1. lftp IP
2. > user username
password
3. > mirror -c --parallel=number remotedir localdir
3a. > help mirror
2066 如何讓ssh只允許指定的用戶登錄(xinyv,好好先生,wolfg,我愛釣魚)
方法1:在/etc/pam.d/sshd文件中加入
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
然後在/etc下建立sshusers文件, 編輯這個文件, 加入你允許使用ssh服務的用戶名, 重新起動sshd服務即可。
方法2:pam規則也可以寫成deny的
auth required pam_listfile.so item=user sense=deny file=/etc/sshusers onerr=succeed
方法3:在sshd_config中設置AllowUsers,格式如
AllowUsers a b c
重啟sshd服務,則只有a/b/c3個用戶可以登陸。
----------------------------程式開發篇--------------------------
3001 linux下調試core文件(bjchenxu)
gdb<PROGNAME><CORE>
<PROGNAME> :出錯產生core dump的可執行程式。
<CORE> : core dump的文件名,缺省是“core”
3002 gcc abc.c得到的a.out不能運行(bjchenxu)
./a.out
3003 c++ 編譯時為什麼出錯資訊說cout沒定義(bjchenxu)
include頭文件完後加入 using namespace std;
3004 新編譯生成的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
3005 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問題
3006 shell腳本為何無法運行(GOD_Father)
第一,腳本許可權要為可執行 #chmod +x test.sh
第二,腳本所在的目錄在環境變數PATH中,或者直接執行 #./test.sh
3007 查看某個文件被哪些進程在讀寫(bjweiqiong)
lsof 文件名
3008 查看某個進程打開了哪些文件(bjweiqiong)
lsof –c 進程名
lsof –p 進程號
3009 lsof是什麼意思(bjweiqiong)
list open files
3010 lsof用法小全(bjweiqiong)
lsof abc.txt 顯示開啟文件abc.txt的進程
lsof -i:22 知道22端口現在運行什麼程式
lsof -c nsd 顯示nsd進程現在打開的文件
lsof -g gid 顯示歸屬gid的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啟的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用fd為4的進程
lsof -i [i] 用以顯示符合條件的進程情況
語法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4位置
service --> /etc/service中的 service name (可以不只一個)
port --> 埠號 (可以不只一個)
例子: TCP:25 - TCP and port 25
@1.2.3.4 - Internet IPv4 host address 1.2.3.4
tcp@ohaha.ks.edu.tw:ftp - TCP protocol host:ohaha.ks.edu.tw service name:ftp
lsof -n 不將IP轉換為hostname,預設是不加上-n參數
例子: lsof -i
tcp@ohaha.ks.edu.tw:ftp -n
lsof -p 12 看進程號為12的進程打開了哪些文件
lsof +|-r [t] 控制lsof不斷重復執行,缺省是15s刷新
-r,lsof會永遠不斷的執行,直到收到中斷訊號
+r,lsof會一直執行,直到沒有檔案被顯示
例子:不斷查看目前ftp連接的情況:lsof -i
tcp@ohaha.ks.edu.tw:ftp -r
lsof -s 列出打開文件的大小,如果沒有大小,則留下空白
lsof -u username 以UID,列出打開的文件
----------------------------經典圖書篇--------------------------
4001 GNU/Linux高級網路應用服務指南(bjchenxu)
linuxaid網站
機械工業出版社
優點:又全又精,全都是實戰之作
缺點:針對版本較低,為redhat 6.2
4002 Linux Apache Web Server管理指南(Linux Apache Web Server Administration)(bjchenxu)
Charles Aulds 馬樹奇/金燕譯
電子工業出版社
優點:目前我還沒有發現哪個關於apache的問題這本書沒有講過
缺點:針對1.3.x,最新的針對2.0.*的英文版已出,中文版待出
4003 Linux內核情景分析(bjchenxu)
毛德操/胡希明
浙江大學出版社
優點:太透徹了,沒法不懂
缺點:還是版本問題,內核更新太快了,不過還是必讀
4004 Unix環境高級編程(bjchenxu)
Richard Stevens
機械工業出版社
優點:博大精深
缺點:初學者是很難理解的,否則怎麼叫《高級編程》呢?
4005 編程精粹--Microsoft編寫優質無錯c程式秘訣(bjchenxu)
Steve Maguire
電子工業出版社
優點:不說了,作者是微軟的資深工程師
缺點:很難找了,1994年出的
4006 Understanding the Linux Kernel, 2nd Edition(hutuworm)
Daniel P. Bovet & Marco Cesati
O'Reilly出版社
讀了這本書之後,你就會明白在什麼情況下Linux具有最佳的性能,以及它如何面對挑戰,在各種環境中提供進程調度、文件訪問和內存管理時的優良的系統響應。作者通過解釋其重要性來引入每一個題目,並將內核操作與Unix程式員和用戶熟悉的系統調用或實用程式聯繫起來。
4007 UNIX作業系統教程(英文版)(弱智)
Syed Mansoor Sarwar等
機械工業出版社
特點:淺顯易懂,著重unix基礎概念和整體理解,順便復習英語。
另外:機械工業出版社已經出版了中文版,名稱:UNIX 教程
4008 UNIX編程環境(弱智)
Brian W.Kernighan, Rob Pike 陳向群等譯
機械工業出版社
特點:淺顯,深入淺出講解如何使用UNIX及各種工具,簡單介紹Unix編程環境;對比“UNIX環境高級編程”,此書適合新手入門。
4009 The Art of UNIX Programming(hutuworm)
Eric Steven Raymond
http://catb.org/~esr/writings/taoup/html/ 優點: E.S. Raymond的經典著作
4010 unix網路編程--卷一 套接口API和X/Open傳輸接口API(slg1972)
Richard Stevens
清華大學出版社
優點:詳細地講解unix網路的編程
4011 unix網路編程--卷二 進程間通訊(slg1972)
Richard Stevens
清華大學出版社
優點:詳細講解unix的進程之間,線程之間的關係,及各種不同標準的進程編程的異同
4012 unix網路編程--卷三 應用程式(slg1972, hutuworm)
未出,因為Richard Stevens大師英年早逝,再也不可能完成這計劃中的第三卷了。據說其未竟稿可能由Gary R. Wright整理續寫出來,但是自大師駕鶴以來一直杳無音信
4013 基於C++ CORBA高級編程(slg1972)
Michi Henning,Steve Vinoski
清華大學出版社
優點:中間件的好書,通向corba應用的必備資料。
4014 unix linux網管通鑒(odin_free)
電子版的,包括本版精華
優點:我見過關於unix知識最全面、最實用的chm文檔,相當於一個小型網站,裏面支援全文檢索,推薦所有還沒有的兄弟姐妹們下載
4015
www.chinaoy.com(aomin5555)
不錯,挺全的,圖書下載的好網址:
redhat linux9.0 官方入門指南
·redhat linux9.0 官方安裝指南
·redhat linux9.0 官方定制設置手冊
·redhat linux基礎教程
·Linux 參考大全
·清華論壇linux精華
·Linux系統管理員指南中文手冊
·Linux網站建設和維護全攻略
·redhat linux8.0 安裝手冊
·Linux環境database管理員指南
4016 Linux Advanced Routing & Traffic Control(hutuworm)
專門講LINUX IPROUTE2的書,大概100頁左右,
www.lartc.org 中文版在:
http://www.lartc.org/LARTC-zh_CN.GB2312.pdf 4017 Debian User強烈推薦看的書(NetDC)
Debian Reference (Debian參考手冊)
http://qref.sourceforge.net/ 簡體中文版的pdf文檔。
http://qref.sourceforge.net/Debian/reference/reference.zh-cn.pdf 4018 Advanced Bash-Scripting Guide(hutuworm)
An in-depth exploration of the art of shell scripting.
Mendel Cooper.<
THEGRENDEL@THERIVER.COM>. http://www.tldp.org/LDP/abs/abs-guide.pdf 優點:是Bash編程的聖經,而且該書作者不斷在更新其內容,一兩個月就會翻新一個版本,值得一讀,一讀再讀。
4019 JAVA完美經典(bjchenxu)
江義華 編著 林彩瑜 文編
中國鐵道出版社
定價:65元
優點:不愧是台灣同胞的力作,講解清楚,知識全面,我看了之後,感到很有收穫
----------------------------mysql相關篇--------------------------
5001 mysql的數據庫存放在什麼地方(bjchenxu)
1. 如果使用rpm包安裝,應該在/var/lib/mysql目錄下,以數據庫名為目錄名
2. 如果源碼安裝在/usr/local/mysql中,應該在/usr/local/mysql/var中,以數據庫名為目錄名
5002 從mysql中導出和導入數據(bjchenxu)
導出數據庫
mysqldump 數據庫名 > 文件名
導入數據庫
mysqladmin create 數據庫名
mysql 數據庫名 < 文件名
5003 忘了mysql的root口令怎麼辦(bjchenxu)
# service mysql stop
# mysqld_safe --skip-grant-tables &
# mysqladmin -u user password 'newpassword''
# mysqladmin flush-privileges
5004 快速安裝php/mysql(bjchenxu)
確保使用系統自帶的apache,從安裝光碟中找出所有以mysql及php-mysql開頭的rpm包,然後運行#rpm -ivh mysql*.rpm php-mysql*.rpm; mysql_install_db; service mysql start
5005 修改mysql的root口令(bjchenxu)
# mysqladmin -uroot -p password '你的新口令'