顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - biao007h

頁: [1]
1
最近用tc做流控,奈何小弟悟性不高实在看不懂官方文档,小弟想问几个问题,求各位大大解惑
我使用的tc命令如下:
      tc qdisc del dev $DEV root &>/dev/null
      tc qdisc add dev $DEV root handle 1: htb default 2
      tc class add dev $DEV parent 1: classid 1:1 htb rate $[$flow_max*8]kbps ceil $[$flow_max*8]kbps
      tc class add dev $DEV parent 1: classid 1:2 htb rate 1Mbps ceil 1Mbps
      tc qdisc add dev $DEV parent 1:1 handle 11 sfq perturb 10
      tc qdisc add dev $DEV parent 1:2 handle 12 sfq perturb 10
      tc filter add dev $DEV parent 1: protocol  ip prio 8 handle 111 fw classid 1:1
      iptables  -t  mangle -A POSTROUTING -m set --match-set  $IPSET dst -j MARK --set-mark 111
问题1:子类中classid 1:1 htb rate 中htb是子类1:1的默认排序规则吗,后面我们又加了sfq算法在1:1,它会覆盖这个算法,还是先sfq再htb

问题2:handle的作用是什么,为什么qdisc和filter都需要handle而类不需要?

2
Linux 討論版 / 无人值守安装linux问题
« 於: 2016-09-09 15:26 »
小弟想自动化安装linux,操作如下:
1.利用system-config-kickstart生成kickstart配置文件ks.cfg
2.挂载CentOS-6.5-x86_64-minimal.iso,我是虚拟机做的所以我mount   /dev/sr0 /tmp/source
3.cp -rdp /tmp/source/* /tmp/iso/    ;cp ~/ks.cfg  /tmp/iso/
4.编辑/tmp/iso/isolinux/isolinux.cfg  在append initrd=initrd.img 后面加上ks=cdrom:/ks.cfg
5.mkisofs  -quiet -V "make centos" -J -R -T -v -boot-info-table -no-emul-boot -boot-load-size 4 -b isolinux/isolinux.bin -c boot.cat -o ./install.iso  /tmp/iso

6.在新的虚拟机中使用镜像报错:The CentOS disc was not found in any of  your CDROM drives .Please insert the CentOS disc and  press OK to retry.

请问各位大大,我哪步操作错了吗?


我的ks.cfg内容如下:
# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
cdrom
lang en_US.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp --noipv6
rootpw  --iscrypted $6$IZh0CBZRKLl8jhl8$84RcFSZwW6SrQZqbtnsrupGIAF5sa6NfM7hLmPvxPDRQaDLO.YDd1tCYRCpE4S.dJ1v2Dtf13/MScQm5mfqHK1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Chongqing
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --none

#part /boot --fstype=ext4 --size=200
#part / --fstype=ext3 --grow --size=200


repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100

%packages --nobase
@core
%end

3
Linux 討論版 / iptables limit 模块显示问题
« 於: 2016-09-01 18:13 »
小弟发现iptables 使用limit模块的时候如果数值小于一定数就显示正常,否则就会偏大,比如
我使用  iptables -R OUTPUT 1 -m set --match-set limitip src -m limit --limit 270/s -j ACCEPT
iptables -n -v -L 显示:
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    3   340 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           match-set limitip src limit: avg 270/sec burst 5

但是如果使用:iptables -R OUTPUT 1 -m set --match-set limitip src -m limit --limit 1855/s -j ACCEPT
显示:
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    5   540 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           match-set limitip src limit: avg 2000/sec burst 5

这个是什么原因导致的呢?

4
Linux 討論版 / rsync读写问题
« 於: 2016-08-19 16:13 »
rsync 如果同步的时候,被同步的目录正在被其他程序读写,那会发生什么情况?
我rsync远程同步日志到 /home/log/1.1.1.1,但是日志全都放到/home/log下了,我发现/home/log/1.1.1.1目录长期被读写,其他/home/log/2.2.2.2不读写就不会同步到外面,这种问题有什么方法解决吗?

5
Linux 討論版 / httpd 启动脚本status执行问题
« 於: 2016-06-17 16:18 »
无意间发现httpd脚本status语句写法很诡异:

 status)
        if ! test -f ${pidfile}; then
            echo $prog is stopped
            RETVAL=3
        else 
            status -p ${pidfile} $httpd
            RETVAL=$?
        fi
        ;;

开始以为status是个函数,后来才发现它是个initctl命令,在脚本中执行的时候是这样的:
[root@cqhdtest ~]# bash  -x  /etc/init.d/httpd status
+ . /etc/rc.d/init.d/functions
++ TEXTDOMAIN=initscripts
++ umask 022
++ PATH=/sbin:/usr/sbin:/bin:/usr/bin
++ export PATH
++ '[' -z '' ']'
++ COLUMNS=80
++ '[' -z '' ']'
+++ /sbin/consoletype
++ CONSOLETYPE=pty
++ '[' -f /etc/sysconfig/i18n -a -z '' -a -z '' ']'
++ . /etc/profile.d/lang.sh
++ unset LANGSH_SOURCED
++ '[' -z '' ']'
++ '[' -f /etc/sysconfig/init ']'
++ . /etc/sysconfig/init
+++ BOOTUP=color
+++ RES_COL=60
+++ MOVE_TO_COL='echo -en \033[60G'
+++ SETCOLOR_SUCCESS='echo -en \033[0;32m'
+++ SETCOLOR_FAILURE='echo -en \033[0;31m'
+++ SETCOLOR_WARNING='echo -en \033[0;33m'
+++ SETCOLOR_NORMAL='echo -en \033[0;39m'
+++ PROMPT=yes
+++ AUTOSWAP=no
+++ ACTIVE_CONSOLES='/dev/tty[1-6]'
+++ SINGLE=/sbin/sushell
++ '[' pty = serial ']'
++ __sed_discard_ignored_files='/\(~\|\.bak\|\.orig\|\.rpmnew\|\.rpmorig\|\.rpmsave\)$/d'
++ sed -e 's/^[SK][0-9][0-9]//'
++ basename /etc/init.d/httpd
+ prog=httpd
+ '[' -f /etc/sysconfig/httpd ']'
+ HTTPD_LANG=C
+ INITLOG_ARGS=
+ httpd=/usr/local/apache2/bin/httpd
+ pidfile=/usr/local/apache2/logs/httpd.pid
+ lockfile=/var/lock/subsys/httpd
+ RETVAL=0
+ case "$1" in
+ test -f /usr/local/apache2/logs/httpd.pid
+ status -p /usr/local/apache2/logs/httpd.pid /usr/local/apache2/bin/httpd
+ local base pid lock_file= pid_file=
+ '[' 3 = 0 ']'
+ '[' -p = -p ']'
+ pid_file=/usr/local/apache2/logs/httpd.pid
+ shift 2
+ '[' /usr/local/apache2/bin/httpd = -l ']'
+ base=httpd
+ __pids_var_run /usr/local/apache2/bin/httpd /usr/local/apache2/logs/httpd.pid
+ local base=httpd
+ local pid_file=/usr/local/apache2/logs/httpd.pid
+ pid=
+ '[' -f /usr/local/apache2/logs/httpd.pid ']'
+ local line p
+ '[' '!' -r /usr/local/apache2/logs/httpd.pid ']'
+ :
+ read line
+ '[' -z 5333 ']'
+ for p in '$line'
+ '[' -z '' -a -d /proc/5333 ']'
+ pid=' 5333'
+ :
+ read line
+ '[' -z '' ']'
+ break
+ '[' -n ' 5333' ']'
+ return 0
+ RC=0
+ '[' -z /usr/local/apache2/logs/httpd.pid -a -z ' 5333' ']'
+ '[' -n ' 5333' ']'
+ echo 'httpd (pid  5333) is running...'
httpd (pid  5333) is running...
+ return 0
+ RETVAL=0
+ exit 0

但是我手动执行
[root@cqhdtest ~]# status -p /usr/local/apache2/logs/httpd.pid /usr/local/apache2/bin/httpd
status: invalid option: -p
Try `status --help' for more information.

会报错,看了很久的initctl的man文档,也没明白它是怎么执行的,求各位大大解释下


6
肉腳版 / nginx的rewrite规则
« 於: 2016-05-19 10:56 »
nginx 怎么把所有请求rewrite成对 某个ip的访问,比如 www.test.com 转成对 192.168.1.2:8080的访问
我写成:       
 if ( $host != 192.168.1.2:8080 ) {
        rewrite ^(.*)$  http://192.168.1.2:8080 last;
}
一直提示访问不了,不加判断的话又提示重定向次数过多,求各位大大解答下

7
雜七雜八 / ffmpeg怎么加参数到srs中
« 於: 2016-05-06 17:45 »
最近小弟有个视频,需要加个ffmpeg 的  vsync drop 方可正常播放,但是需要与srs(simple rtmp server)配合使用,不知道怎么把这个参数加到配置里面,想问下有人清楚吗?

8
Linux 討論版 / linux管道的执行顺序
« 於: 2016-05-04 10:32 »
最近有个疑问,netstat  -antup|head  -500   类似这条命令中,是netstat 执行完然后截取前500条记录还是,netstat 与head 并行执行,netstat 执行完500条就不再继续?

9
Linux 討論版 / break在括号中失效问题
« 於: 2016-04-19 18:13 »
今天发现了一个shell问题,break在脚本里面会失效,比如下面这个脚本:
#!/bin/bash
while : ;do
   ewch 1 &>/dev/null||(echo 2 && break)
   echo 3 && break
done

这个的执行结果是先打印2 和3 然后再break,我不确定是不是我的逻辑有问题,求各位大大指点下

10
如题,ip都是随机的,我想让每个ip拥有固定的稳定1M带宽,应该如何设置呢,我使用以下命令:
tc qdisc del dev eth0 root  #删除原有的队列
tc qdisc add dev eth0 root handle 1: htb r2q 1  # 添加队列
tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit #设置带宽
tc qdisc add dev eth0 parent 1:1 handle 10: sfq perturb 10  #给分类配置特殊的排队规则sfq,perturd 10指10s更新一次散列算法
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 0.0.0.0/0 flowid 1:1 #指定filter的过滤规则

但是这样做的结果是所有ip加起来的总带宽才1Mbit,老板要每个ip都那么大带宽,goole了很久没找到解决方法,求各位大大指点下迷津,江湖救急 :'( :'(

11
Linux 討論版 / netstat ip显示问题
« 於: 2016-04-15 18:09 »
工作中遇到个问题,用netstat -antup显示网络状态的时候,有些ip会显示不全,像下面这个
[root@cqhdtest ~]# netstat -antup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      956/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1034/master         
tcp        0     52 192.168.199.117:22          192.168.199.31:54850        ESTABLISHED 5364/sshd           
tcp        0      0 :::80                       :::*                        LISTEN      1498/httpd         
tcp        0      0 :::22                       :::*                        LISTEN      956/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1034/master         
tcp        0 129941 ::ffff:192.168.199.117:80   ::ffff:192.168.199.12:65060 FIN_WAIT1   -                   
tcp        0 138881 ::ffff:192.168.199.117:80   ::ffff:192.168.199.12:55097 FIN_WAIT1   -     

这个上面的ip 192.168.199.12 实际上是192.168.199.123的ip,请教下有什么办法让它显示完全?

12
一直都认为数据放在最外面的磁道读写速度会比较快,因为线速度快,但是看到硬盘容量计算公式:

硬盘的容量=柱面数(CYLINDER)*磁头数(HEAD)*扇区数(SECTOR)*512B

又产生了疑问,这个计算公式里面的每个磁道的扇区数一样的,如果扇区数一样,说明每个磁道存储的数据一样,所以外面的磁道分布会松散些,也就是不同磁道相同时间内扫过的数据一样的,所以磁道外面的速度并不会比里面的快,所以百思不得解,求各位大大解答下

13
Linux 討論版 / 硬盘mount不上
« 於: 2015-10-28 20:48 »
我有个硬盘坏掉了,我用新盘装了centos6.5 32位的系统(原来的盘版本差不多,我要把原来的盘sdb3的数据考到这个盘sdba1)

然后 用命令 mount   /dev/sdb3  /worktmp提示:
/dev/sdb3 already mounted  or  /worktmp  is busy

于是我用fuser -km  /worktmp然后再mount,错误仍然在

最后我就用了 mount  -t  ext4  /dev/sdb3  /worktmp提示以下错误:
mount: wrong fs type, bad option, bad superblock on /dev/sdb3,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

怀疑是surpeblock损坏,于是dumpe2fs   /dev/sdb3  提示:
dumpe2fs 1.41.12 (17-May-2010)
dumpe2fs: Attempt to read block from filesystem resulted in short read while trying to open /dev/sdb3
Couldn't find valid filesystem superblock.

 想问下这种情况还有救吗,里面的数据对我非常重要,又没有备份(屋漏偏逢连夜雨。。),求各位大大支点招,先谢谢了

14
Linux 討論版 / ~/.ssh/消失了
« 於: 2015-10-16 10:19 »
ssh连不上,发现.ssh整个文件夹莫名消失,重装openssh 也不行 ,试着mkdir  .ssh 和touch下面的文件也是没用,求给个解决方法或者思路,谢谢各位大大

15
Linux 討論版 / simfs 文件系统rm误删恢复
« 於: 2015-06-25 17:12 »
今天做了很sb很sb的一件事,操作了rm -rf ./*把网站程序给删了,尝试了testdisk和extundelete等软件都以找不到磁盘告终,抱着碰碰运气的想法来这里问下有没有办法恢复,simfs是虚拟文件系统,实在是没办法了。。已经哭晕在厕所,各位大神求拯救。。。

16
database 討論版 / mysql load data 问题
« 於: 2015-05-19 16:45 »
今天做个mysql导入,源文件格式是这样的
|Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Fang | Benny | dog | m | 1990-08-27 | NULL |
| Bowser | Diane | dog | m | 1990-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL|
然后在mysql中用命令LOAD DATA INFILE '/root/pet.txt'  INTO  table pet fields terminated by '|';导入,结果是这样的
+------+-----------+---------+------+------------+------------+
| name | owner     | species | sex  | birth      | death      |
+------+-----------+---------+------+------------+------------+
|      | Fluffy    |  Harold |      | 0000-00-00 | 1993-02-04 |
|      |  Claws    |  Gwen   |      | 0000-00-00 | 1994-03-17 |
|      |  Buffy    |  Harold |      | 0000-00-00 | 1989-05-13 |
|      |  Chirpy   |  Gwen   |      | 0000-00-00 | 1998-09-11 |
|      |  Fang     |  Benny  |      | 0000-00-00 | 1990-08-27 |
|      |  Bowser   |  Diane  |      | 0000-00-00 | 1990-08-31 |
|      |  Whistler |  Gwen   |      | 0000-00-00 | 1997-12-09 |
|      |  Slim     |  Benny  |      | 0000-00-00 | 1996-04-29 |
|      |  Puffball |  Diane  |      | 0000-00-00 | 1999-03-30 |
+------+-----------+---------+------+------------+------------+
发现问题在于最前和最后多了一个“|”,然后删掉就好了,但是想到数据量如果很大的话,一个个删很麻烦,所以想问下,有没有办法不用删除前后的“|”就正确导入数据。

17
Linux 討論版 / fedora 19 X server连接拒绝
« 於: 2015-02-12 11:16 »
公司同事电脑图形界面起不来,重装gdm无效,后来发现用root用户可以正常登陆,但是普通用户不能,把/home,/usr/的目录权限都改了没用,.Xauthority等文件也改过了也还是一样,错误如下,不知道怎么解决了,所以来问下
[ename@localhost root]$ startx
xauth:  file /home/ename/.serverauth.1392 does not exist

(EE)
Fatal server error:
(EE) Cannot move old log file "/var/log/Xorg.1.log" to "/var/log/Xorg.1.log.old"
(EE)
(EE)
Please consult the Fedora Project support
         at http://wiki.x.org
 for help.
(EE)
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

18
Linux 討論版 / debian VNC界面不同步的问题
« 於: 2014-12-29 17:39 »
公司弄了个树莓派,用vnc远程控制,但是发现客户端与服务端不能同步,百度了下都只有centos的教程,请教下debian系统的界面同步教程。

19
Linux 討論版 / 短信接口不能发短信
« 於: 2014-11-07 16:42 »
最近做zabbix监控,把另一台可以发短信的主机的perl文件拷到zabbix服务器上,出现了一下错误:
[root@zabbix alertscripts]#  ./interface.pl  18450006366 "sadsa"
Can't locate HTTP/Status.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/share/perl5/LWP/Simple.pm line 14.
BEGIN failed--compilation aborted at /usr/local/share/perl5/LWP/Simple.pm line 14.
开始是提示Can't locate LWP/Status,我装了libwww-perl-6.08和cpan了后就变成这样了,后来以为是mod的问题,于是安装了
mod_perl-2.0.8,问题依旧,怀疑是nginx的问题,于是nginx -V发现没有--with-http_perl,但是nginx上有服务,不能轻易动,想问下有没有别的解决思路。。

20
看一下 gdm.service 在不在
如果有就連結到 display-manager.service
然後啟用 display-manager.service
按照darkanger大哥的指导ln -s /usr/lib/systemd/system/gdm.ssystem/display-manager.service
终于看到了久违的登陆界面,不过又出现的最开始的那个问题,卡在登陆界面不动了。。切换终端startx又可以。。
悲剧。。 :o

21
昨天开机发现linux一直卡在登陆界面,于是ctrl+alt+f2进入文字界面然后startx,发现可以用。
然后
rpm -Va gdm发现gdm被修改
于是
rpm -e --nodeps gdm
yum install gdm
reboot
发现开机后一直是文字界面,输入runlevel为5,startx发现没问题,想想可能是开机启动项没有
执行初始化图形界面命令,寻找开机启动项发现fedora用的是systemd里面的文件,百度了下都是
修改开机级别,没找到systemd的工作过程,所以来这里请教下

22
昨天搞了半天后来发现都是自己发给自己(因为主机ssh到服务器的缘故)在这个版块没有权限删除文章,所以在这里声明下,不好意思哈!

23
今天用虚拟机搭建了dns和postfix服务器,发现一个问题搞不定
[root@LAMP ~]# mail -s "sss" linzb@www.linzb.com. < 1.sh
[root@LAMP ~]# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
32D56FFD43      433 Tue Oct 14 15:21:38  root@test.linzb.com
               (connect to www.linzb.com[192.168.200.73]:25: No route to host)
                                         linzb@www.linzb.com

-- 0 Kbytes in 1 Request.
以为是网络问题于是:
[root@LAMP ~]# ping www.linzb.com.
PING www.linzb.com (192.168.200.73) 56(84) bytes of data.
64 bytes from 192.168.200.73: icmp_seq=1 ttl=64 time=0.247 ms
64 bytes from 192.168.200.73: icmp_seq=2 ttl=64 time=0.218 ms
想想可能是防火墙问题,于是在192.168.200.73关掉了防火墙,令selinux=disable还是一样
感觉是dns服务器配置的问题,但是又看不出,所以贴出给各位大哥看看,找找问题 :-*
$TTL 600
@               IN      SOA     test.linzb.com.  ddddd.edu.com. (2014020111     1800    900     604800  86400)
@               IN      NS      test.linzb.com.
test.linzb.com. IN      A       192.168.200.222
www.linzb.com.  IN      A       192.168.200.73
test.linzb.com  IN      MX   10 test.linzb.com
在192.168.200.73 上:mail -s ” 111“  root@test.linzb.com. <test.txt   root是可以正常收到的

我的main.cf的配置为

[root@LAMP ~]# cat /etc/postfix/main.cf |grep -v "^$"|grep -v "^#"
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = test.linzb.com
mydomain = linzb.com
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, $mydomain, localhost, www.linzb.com.
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.200.0/24, 127.0.0.0/8, 10.0.2.0/24
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
 
 
debug_peer_level = 2
debugger_command =
    PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
    ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES



24
virtual每次共享usb都要切换root身份,很烦人的说,百度了下找不到virtualbox的相关权限教程,所以想咨询下普通用户如果也想使用usb,应该修改virtualbox哪个文件

25
Linux 討論版 / X11/xdm下没有kdm目录
« 於: 2014-08-14 14:54 »
我的linux内核是2.6.32-431.e16.i686 版本为centos 6.5,刚开始以为是没有装kdm套件,然后yum install kdm,成功安装之后进去仍然没发现kdm目录,百度了一下没有找到相应的解决方法,不知道是这个版本本来就没有这个目录还是其他原因,求各位大牛解释下或者给个解决思路哈!

26
玩过很多贴吧,第一次见到酷学园,发现各个方面有很多不同,比如在百度贴吧的回复在这里是“引用”,刚开始还找了半天,看了要多学习了,呵呵!还有想请教下酷学园怎么上传图片,“[img][ /img]”里面应该是填url吧(html知识不是很精,努力进修中~~),还有如果是本地的怎么填?用附件很不方便

27
Linux 討論版 / make bzImage出错了
« 於: 2014-08-05 15:32 »
如题,做鸟哥acl实验时发现filesystem不支持,找到解决方法后打算编译下内核,选好之后要make bzImage出错了。附件中有详细的错误声明,大概是unistd—32.h缺少规则,百度了下没有找到对应的解决方法,也找不到Makefile文件,新手很无知,求各位大大给个解决思路

頁: [1]