ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linuxϵͳ°²×°ºóµÄ»ù´¡ÓÅ»¯-»ùÓÚCentOS£¨5.8/6.4£©

·¢²¼Ê±¼ä:2014-06-17 11:03:29À´Ô´:ºìÁª×÷Õß:velcbo
ÔÚÔËά¹¤×÷ÖУ¬ÎÒÃÇ·¢ÏÖLinuxϵͳ°²×°Ö®ºó²¢²»ÄÜÁ¢¼´Í¶ÈëÉú²ú»·¾³Ê¹Óã¬ÍùÍùÐèÒªÏȾ­¹ýÎÒÃÇÔËάÈËÔ±µÄÓÅ»¯²ÅÐС£
ÏÂÃæÎÒ¾ÍΪ´ó¼Ò¼òµ¥½²½â¼¸µã¹ØÓÚLinuxϵͳ°²×°ºóµÄ»ù´¡ÓÅ»¯²Ù×÷¡£

×¢Ò⣺±¾´ÎÓÅ»¯¶¼ÊÇ»ùÓÚCentOS£¨5.8/6.4£©¡£¹ØÓÚ5.8ºÍ6.4Á½ÕßÓÅ»¯Ê±µÄÐ¡Çø±ð£¬ÎÒ»áÔÚÎÄÖÐÌá¼°µÄ¡£

ÓÅ»¯ÌõÄ¿£º

ÐÞ¸ÄipµØÖ·¡¢Íø¹Ø¡¢Ö÷»úÃû¡¢DNSµÈ
¹Ø±Õselinux£¬Çå¿Õiptables
Ìí¼ÓÆÕͨÓû§²¢½øÐÐsudoÊÚȨ¹ÜÀí
¸üÐÂyumÔ´¼°±ØÒªÈí¼þ°²×°
¶¨Ê±×Ô¶¯¸üзþÎñÆ÷ʱ¼ä
¾«¼ò¿ª»ú×ÔÆô¶¯·þÎñ
¶¨Ê±×Ô¶¯ÇåÀí/var/spool/clientmqueue/Ŀ¼À¬»øÎļþ£¬·ÅÖÃinode½Úµã±»Õ¼Âú
±ä¸üĬÈϵÄssh·þÎñ¶Ë¿Ú£¬½ûÖ¹rootÓû§Ô¶³ÌÁ¬½Ó
Ëø¶¨¹Ø¼üÎļþϵͳ
µ÷ÕûÎļþÃèÊö·û´óС
µ÷Õû×Ö·û¼¯£¬Ê¹ÆäÖ§³ÖÖÐÎÄ
È¥³ýϵͳ¼°Äں˰汾µÇ¼ǰµÄÆÁÄ»ÏÔʾ
Äں˲ÎÊýÓÅ»¯

1¡¢ÐÞ¸ÄipµØÖ·¡¢Íø¹Ø¡¢Ö÷»úÃû¡¢DNSµÈ

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #Íø¿¨Ãû×Ö
BOOTPROTO=static #¾²Ì¬IPµØÖ·»ñȡ״̬ È磺DHCP±íʾ×Ô¶¯»ñÈ¡IPµØÖ·
IPADDR=192.168.1.113 #IPµØÖ·
NETMASK=255.255.255.0 #×ÓÍøÑÚÂë
ONBOOT=yes #Òýµ¼Ê±ÊÇ·ñ¼¤»î
GATEWAY=192.168.1.1
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.113
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.1.1
[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=c64 #ÐÞ¸ÄÖ÷»úÃû£¬ÖØÆôÉúЧ
GATEWAY=192.168.1.1 #ÐÞ¸ÄĬÈÏÍø¹Ø,Èç¹ûÉÏÃæeth0ÀïÃæ²»ÅäÖÃÍø¹ØµÄ»°£¬Ä¬ÈϾÍʹÓÃÕâÀïµÄÍø¹ØÁË¡£
[root@localhost ~]# cat /etc/sysconfig/network
HOSTNAME=c64
GATEWAY=192.168.1.1
ÎÒÃÇÒ²¿ÉÒÔÓà hostname c64 À´ÁÙʱÐÞ¸ÄÖ÷»úÃû£¬ÖØÐµÇ¼ÉúЧ
ÐÞ¸ÄDNS
[root@localhost ~]# vi /etc/resolv.conf #ÐÞ¸ÄDNSÐÅÏ¢
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@localhost ~]# cat /etc/resolv.conf #²é¿´Ð޸ĺóµÄDNSÐÅÏ¢
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@localhost ~]# service network restart #ÖØÆôÍø¿¨£¬ÉúЧ
ÖØÆôÍø¿¨£¬Ò²¿ÉÒÔÓÃÏÂÃæµÄÃüÁî
[root@localhost ~]# /etc/init.d/network restart

2¡¢¹Ø±Õselinux£¬Çå¿Õiptables
¹Ø±Õselinux

[root@c64 ~]# sed -i ¡®s/SELINUX=enforcing/SELINUX=disabled/g¡¯ /etc/selinux/config #ÐÞ¸ÄÅäÖÃÎļþÔòÓÀ¾ÃÉúЧ£¬µ«ÊDZØÐëÒªÖØÆôϵͳ¡£
[root@c64 ~]# grep SELINUX=disabled /etc/selinux/config
SELINUX=disabled #²é¿´¸ü¸ÄºóµÄ½á¹û
[root@c64 ~]# setenforce 0 #ÁÙʱÉúЧÃüÁî
[root@c64 ~]# getenforce #²é¿´selinuxµ±Ç°×´Ì¬
Permissive

Çå¿Õiptables
[root@c64 ~]# iptables -F #ÇåÀí·À»ðǽ¹æÔò
[root@c64 ~]# iptables -L #²é¿´·À»ðǽ¹æÔò
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@c64 ~]#/etc/init.d/iptables save #±£´æ·À»ðǽÅäÖÃÐÅÏ¢

3¡¢Ìí¼ÓÆÕͨÓû§²¢½øÐÐsudoÊÚȨ¹ÜÀí
12345 [root@c64 ~]# useradd sunsky
[root@c64 ~]# echo "123456"|passwd --stdin sunsky&&history -c
[root@c64 ~]# visudo
ÔÚroot ALL=(ALL) ALL´ËÐÐÏ£¬Ìí¼ÓÈçÏÂÄÚÈÝ
sunsky ALL=(ALL) ALL

4¡¢¸üÐÂyumÔ´¼°±ØÒªÈí¼þ°²×°

yum°²×°Èí¼þ£¬Ä¬ÈÏ»ñÈ¡rpm°üµÄ;¾¶´Ó¹úÍâ¹Ù·½Ô´£¬¸Ä³É¹úÄÚµÄÔ´¡£
¹úÄڽϿìµÄÁ½¸öÕ¾µã£ºËѺü¾µÏñÕ¾µã¡¢ÍøÒ×¾µÏñÕ¾µã
·¨1£º×Ô¼ºÅäÖúð²×°Ô´ÅäÖÃÎļþ£¬È»ºóÉÏ´«µ½linux¡£
·¨2£ºÊ¹ÓþµÏñÕ¾µãÅäÖúõÄyum°²×°Ô´ÅäÖÃÎļþ

[root@c64 ~]# cd /etc/yum.repos.d/
[root@c64 yum.repos.d]# /bin/mv CentOS-Base.repo CentOS-Base.repo.bak
[root@c64 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

½ÓÏÂÀ´Ö´ÐÐÈçÏÂÃüÁ¼ì²âyumÊÇ·ñÕý³£

[root@c64 yum.repos.d]# yum clean all #Çå¿Õyum»º´æ
[root@c64 yum.repos.d]# yum makecache #½¨Á¢yum»º´æ

È»ºóʹÓÃÈçÏÂÃüÁϵͳ¸üе½×îÐÂ

[root@c64 yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* #µ¼ÈëÇ©ÃûKEYµ½RPM
[root@c64 yum.repos.d]# yum upgrade-y #¸üÐÂϵͳÄں˵½×îÐÂ

½ÓÏÂÀ´¾ÍÒª°²×°¼¸¸ö±ØÒªµÄÈí¼þÁË
[root@c64 yum.repos.d]# yum install lrzsz ntpdate sysstat -y

lrzszÊÇÒ»¸öÉÏ´«ÏÂÔØµÄÈí¼þ
ntpdateÊÇÓÃÀ´ÓëÔ¶³Ìʱ¼ä·þÎñÆ÷½øÐÐʱ¼ä¸üеÄÈí¼þ

sysstatÊÇÓÃÀ´¼ì²âϵͳÐÔÄܼ°Ð§ÂʵŤ¾ß

5¡¢¶¨Ê±×Ô¶¯¸üзþÎñÆ÷ʱ¼ä

[root@c64 ~]# echo '*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2 >&1' >>/var/spool/cron/root
[root@c64 ~]# echo '*/10 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root

Ìáʾ£ºCentOS 6.4µÄʱ¼äͬ²½ÃüÁî·¾¶²»Ò»Ñù
6ÊÇ/usr/sbin/ntpdate
5ÊÇ/sbin/ntpdate
À©Õ¹£ºÔÚ»úÆ÷ÊýÁ¿ÉÙʱ£¬ÒÔÉ϶¨Ê±ÈÎÎñͬ²½Ê±¼ä¾Í¿ÉÒÔÁË¡£Èç¹û»úÆ÷ÊýÁ¿´óʱ£¬¿ÉÒÔÔÚÍøÄÚÁíÍⲿÊðһ̨ʱ¼äͬ²½·þÎñÆ÷NTP Server¡£´Ë´¦½öÌá¼°£¬²»×ö²¿Êð¡£

6¡¢¾«¼ò¿ª»ú×ÔÆô¶¯·þÎñ
¸Õ×°Íê²Ù×÷ϵͳ¿ÉÒÔÖ»±£Áôcrond£¬network£¬syslog£¬sshdÕâËĸö·þÎñ¡££¨Centos6.4Ϊrsyslog£©
[root@c64 ~]# for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
[root@c64 ~]# for sun in crond rsyslog sshd network;do chkconfig --level 3 $sun on;done
[root@c64 ~]# chkconfig --list|grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

7¡¢¶¨Ê±×Ô¶¯ÇåÀí/var/spool/clientmqueue/Ŀ¼À¬»øÎļþ£¬·ÅÖÃinode½Úµã±»Õ¼Âú
±¾ÓÅ»¯µã£¬ÔÚ6.4ÉÏ¿ÉÒÔºöÂÔ²»ÐèÒª²Ù×÷¼´¿É£¡
[root@c64 ~]# mkdir /server/scripts -p
[root@c64 ~]# vi /server/scripts/spool_clean.sh
#!/bin/sh
find /var/spool/clientmqueue/ -type f -mtime +30|xargs rm -f

È»ºó½«Æä¼ÓÈëµ½crontab¶¨Ê±ÈÎÎñÖÐ
[root@c64 ~]# echo '*/30 * * * * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&1' >>/var/spool/cron/root

8¡¢±ä¸üĬÈϵÄssh·þÎñ¶Ë¿Ú£¬½ûÖ¹rootÓû§Ô¶³ÌÁ¬½Ó

[root@c64 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[root@c64 ~]# vim /etc/ssh/sshd_config
Port 52113 #sshÁ¬½ÓĬÈϵĶ˿Ú
PermitRootLogin no #rootÓû§ºÚ¿Í¶¼ÖªµÀ£¬½ûÖ¹ËüÔ¶³ÌµÇ¼
PermitEmptyPasswords no #½ûÖ¹¿ÕÃÜÂëµÇ¼
UseDNS no #²»Ê¹ÓÃDNS
[root@c64 ~]# /etc/init.d/sshd reload #´ÓмÓÔØÅäÖÃ
[root@c64 ~]# netstat -lnt #²é¿´¶Ë¿ÚÐÅÏ¢
[root@c64 ~]# lsof -i tcp:52113

9¡¢Ëø¶¨¹Ø¼üÎļþϵͳ
[root@c64 ~]# chattr +i /etc/passwd
[root@c64 ~]# chattr +i /etc/inittab
[root@c64 ~]# chattr +i /etc/group
[root@c64 ~]# chattr +i /etc/shadow
[root@c64 ~]# chattr +i /etc/gshadow

ʹÓÃchattrÃüÁîºó£¬ÎªÁ˰²È«ÎÒÃÇÐèÒª½«Æä¸ÄÃû

[root@c64 ~]# /bin/mv /usr/bin/chattr /usr/bin/ÈÎÒâÃû³Æ

10¡¢µ÷ÕûÎļþÃèÊö·û´óС

[root@localhost ~]# ulimit -n #²é¿´ÎļþÃèÊö·û´óС
1024
[root@localhost ~]# echo '* - nofile 65535' >> /etc/security/limits.conf

ÅäÖÃÍê³Éºó£¬ÖØÐµÇ¼¼´¿É²é¿´¡£
Ìáʾ£ºÒ²¿ÉÒÔ°Ñulimit -SHn 65535ÃüÁî¼ÓÈëµ½/etc/rc.local£¬È»ºóÿ´ÎÖØÆôÉúЧ

[root@c64 ~]# cat >>/etc/rc.local<#open files
ulimit -HSn 65535
#stack size
ulimit -s 65535
EOF

À©Õ¹£ºÎļþÃèÊö·û
ÎļþÃèÊö·ûÔÚÐÎʽÉÏÊÇÒ»¸ö·Ç¸ºÕûÊý¡£Êµ¼ÊÉÏ£¬ËüÊÇÒ»¸öË÷ÒýÖµ£¬Ö¸ÏòÄÚºËΪÿһ¸ö½ø³ÌËùά»¤µÄ¸Ã½ø³Ì´ò¿ªÎļþµÄ¼Ç¼±í¡£µ±³ÌÐò´ò¿ªÒ»¸öÏÖÓÐÎļþ»òÕß´´½¨Ò»¸öÐÂÎļþʱ£¬ÄÚºËÏò½ø³Ì·µ»ØÒ»¸öÎļþÃèÊö·û¡£ÔÚ³ÌÐòÉè¼ÆÖУ¬Ò»Ð©Éæ¼°µ×²ãµÄ³ÌÐò±àдÍùÍù»áÎ§ÈÆ×ÅÎļþÃèÊö·ûÕ¹¿ª¡£µ«ÊÇÎļþÃèÊö·ûÕâÒ»¸ÅÄîÍùÍùÖ»ÊÊÓÃÓÚUnix¡¢LinuxÕâÑùµÄ²Ù×÷ϵͳ¡£
ϰ¹ßÉÏ£¬±ê×¼ÊäÈ루standard input£©µÄÎļþÃèÊö·ûÊÇ 0£¬±ê×¼Êä³ö£¨standard output£©ÊÇ 1£¬±ê×¼´íÎó£¨standard error£©ÊÇ 2¡£¾¡¹ÜÕâÖÖϰ¹ß²¢·ÇUnixÄں˵ÄÌØÐÔ£¬µ«ÊÇÒòΪһЩ shell ºÍºÜ¶àÓ¦ÓóÌÐò¶¼Ê¹ÓÃÕâÖÖϰ¹ß£¬Òò´Ë£¬Èç¹ûÄں˲»×ñÑ­ÕâÖÖϰ¹ßµÄ»°£¬ºÜ¶àÓ¦ÓóÌÐò½«²»ÄÜʹÓá£

11¡¢µ÷Õû×Ö·û¼¯£¬Ê¹ÆäÖ§³ÖÖÐÎÄ

sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.GB18030"#' /etc/sysconfig/i18n
source /etc/sysconfig/i18n

À©Õ¹£ºÊ²Ã´ÊÇ×Ö·û¼¯£¿
¼òµ¥µÄ˵¾ÍÊÇÒ»Ì×ÎÄ×Ö·ûºÅ¼°Æä±àÂë¡£³£ÓõÄ×Ö·û¼¯ÓУº
GBK ¶¨³¤Ë«×Ö½Ú²»Êǹú¼Ê±ê×¼£¬Ö§³Öϵͳ²»ÉÙ
UTF-8 ·Ç¶¨³¤ 1-4×ֽڹ㷺֧³Ö£¬MYSQLҲʹÓÃUTF-8

12¡¢È¥³ýϵͳ¼°Äں˰汾µÇ¼ǰµÄÆÁÄ»ÏÔʾ

[root@c64 ~]# >/etc/RedHat-release
[root@c64 ~]# >/etc/issue



13¡¢Äں˲ÎÊýÓÅ»¯
˵Ã÷£º±¾ÓÅ»¯ÊʺÏapache£¬nginx£¬squid¶àÖÖµÈwebÓ¦Óã¬ÌØÊâµÄÒµÎñÒ²¿ÉÄÜÐèÒªÂÔ×÷µ÷Õû¡£
[root@c64 ~]# vi /etc/sysctl.conf
#by sun in 20131001
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time =600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#һϲÎÊýÊǶÔiptables·À»ðǽµÄÓÅ»¯£¬·À»ðǽ²»¿ª»áÓÐÌáʾ£¬¿ÉÒÔºöÂÔ²»Àí¡£
net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
[root@localhost ~]# sysctl -p #ʹÅäÖÃÎļþÉúЧ

Ìáʾ£ºÓÉÓÚCentOS6.XϵͳÖеÄÄ£¿éÃû²»ÊÇip_conntrack£¬¶øÊÇnf_conntrack£¬ËùÒÔÔÚ/etc/sysctl.confÓÅ»¯Ê±£¬ÐèÒª°Ñnet.ipv4.netfilter.ip_conntrack_max ÕâÖÖÀϵIJÎÊý£¬¸Ä³Énet.netfilter.nf_conntrack_maxÕâÑù²Å¿ÉÒÔ¡£
¼´¶Ô·À»ðǽµÄÓÅ»¯£¬ÔÚ5.8ÉÏÊÇ

net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

ÔÚ6.4ÉÏÊÇ
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

ÁíÍ⣬ÔÚ´ËÓÅ»¯¹ý³ÌÖпÉÄÜ»áÓб¨´í£º

1¡¢5.8°æ±¾ÉÏ
error: "net.ipv4.ip_conntrack_max" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_max" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait" is an unknown key

Õâ¸ö´íÎó¿ÉÄÜÊÇÄãµÄ·À»ðǽûÓпªÆô»òÕß×Ô¶¯´¦Àí¿ÉÔØÈëµÄÄ£¿éip_conntrackûÓÐ×Ô¶¯ÔØÈ룬½â¾ö°ì·¨Óжþ£¬Ò»ÊÇ¿ªÆô·À»ðǽ£¬¶þÊÇ×Ô¶¯´¦Àí¿ªÔØÈëµÄÄ£¿éip_conntrack
modprobe ip_conntrack
echo "modprobe ip_conntrack" >> /etc/rc.local

2¡¢6.4°æ±¾ÉÏ
123456 error: "net.nf_conntrack_max" is an unknown key
error: "net.netfilter.nf_conntrack_max" is an unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_established" is an unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_time_wait" is an unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_close_wait" is an unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_fin_wait" is an unknown key

Õâ¸ö´íÎó¿ÉÄÜÊÇÄãµÄ·À»ðǽûÓпªÆô»òÕß×Ô¶¯´¦Àí¿ÉÔØÈëµÄÄ£¿éip_conntrackûÓÐ×Ô¶¯ÔØÈ룬½â¾ö°ì·¨Óжþ£¬Ò»ÊÇ¿ªÆô·À»ðǽ£¬¶þÊÇ×Ô¶¯´¦Àí¿ªÔØÈëµÄÄ£¿éip_conntrack

modprobe nf_conntrack
echo "modprobe nf_conntrack" >> /etc/rc.local

3¡¢6.4°æ±¾ÉÏ

error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key

Õâ¸ö´íÎóÊÇÓÉÓÚ×Ô¶¯´¦Àí¿ÉÔØÈëµÄÄ£¿ébridgeûÓÐ×Ô¶¯ÔØÈ룬½â¾ö°ì·¨ÊÇ×Ô¶¯´¦Àí¿ªÔØÈëµÄÄ£¿éip_conntrack

modprobe bridge
echo "modprobe bridge" >> /etc/rc.local

µ½´Ë£¬ÎÒÃÇLinuxϵͳ°²×°ºóµÄ»ù´¡ÓÅ»¯ÒѾ­²Ù×÷µÄ²î²»¶àÁË£¬×ܽáÏÂÀ´Ò»¹²ÓÐ13¸öÓÅ»¯µãÐèÒªÎÒÃÇÀ´ÊìÖª¡£ºóÃæÎÒ»á³öÒ»¸öÒ»¼üÓÅ»¯µÄshell½Å±¾³öÀ´ºÍ´ó¼ÒÒ»Æð½»Á÷ѧϰ¡£

×÷Õߣºsunsky
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ