经常我们在开发中需要打开并修改host文件,如何更快找到呢?
host文件的路径是:


我的快捷方法是:
第一步:先同时按下 微软图标 + r ,弹出:运行框
第二步:在框中输入: drivers  ,系统会自动打开这个目录:C:\WINDOWS\system32\drivers
第三步:自己用鼠标点里面的etc目录进去即是host文件的所在。
升级centos5.6到centos6.0亲自升级实践过的步骤:
切记升级系统前,请务必备份重要文件!

首先,清除所有软件包

yum clean all
yum list updates

升级centos
yum update
reboot

这样就升级完了,可以检查一下系统目前的版本:

lsb_release -a
不小心国内给升级成Centos5.7了,呵呵。

这样就升级完了,可以检查一下系统目前的版本:

#rpm -q centos-release


删除以前的内核步骤,如下:
在CentOS 6更新后,不可避免的会在启动选项中产生多个内核选项,一个内核文件大概占100兆左右(一般100M以下),可以使用以下命令进行删除多余的内核.

1.首先列出系统中正在使用的内核:

# uname -a

2.查询系统中全部的内核:
# rpm -qa | grep kernel

好像升级后没有变,哇哈哈,
升级为CentOs5.7后的内核情况如下:


3.将你想删除的内核删除掉:(例如,在我的系统中,我要删掉2.6.32-71.el6.i686的内核,需要把所有含有2.6.32-71.el6.i686字样的全部删掉)
#yum remove kernel-2.6.32-71.el6.i686
#yum remove kernel-devel-2.6.32-71.el6.i686
4.重启后就可以看到,内核被删掉了,同时多余的启动项也自动被删掉了,不需要自己手动修改/boot/grub/menu.lst





===============================
Centos6.1的情况备案:
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)

YUM升级:
# yum install centos-release-cr
# yum update
RPM升级:
i386:
http://mirror.centos.org/centos/6/extras/i386/RPMS/centos-release-cr-6-0.el6.centos.i686.rpm
( sha256: 9fc78d2d79abeb1513f0851d075a2860f5039fc8db3fb0db4c660252fffda894 )

x86_64:
http://mirror.centos.org/centos/6/extras/x86_64/RPMS/centos-release-cr-6-0.el6.centos.x86_64.rpm
( sha256: bd55e1505caae2f78c306290d235b7f54833fcad5a9f1942b3cb54e28f7bfe73 )

详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html



CentOS 6.1 正式版发布了,这是真的。CentOS 6.1 基于红帽企业Linux 6.1,强烈建议升级。

下载地址:

CentOS-6.1-i386-bin-DVD1.iso (3,645MB, SHA256, torrent)
http://linux.mirrors.es.net/centos/6.1/isos/i386/CentOS-6.1-i386-bin-DVD1.iso
CentOS-6.1-x86_64-bin-DVD1.iso (4,190MB, SHA256, SHA256, torrent)
http://centos.mirror.freedomvoice.com/6.1/isos/x86_64/CentOS-6.1-x86_64-bin-DVD1.iso

此次发布的CentOS 6.1基于Red Hat EL 6.1,包含了一些重要改进及大量错误修正,比如yum包管理器加入了某些改动及新功能。需要注意的是,与GUI安装方式相比,文本安装功能受到限制,不支持设置分区布局(Partition Layout)、存储方式及选择包组。更多详细信息请查看官方的发行注记。http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.1

6.1 发布仅一个多星期,6.2就发布了。现在大多数网站已有6.2的目录,但还未同步完成。

心急的可以开始下载了。
http://mirrors.ustc.edu.cn/centos/6.2/isos/i386/
http://mirrors.ustc.edu.cn/centos/6.2/isos/x86_64/
CentOs6.2官方下载地址:
http://isoredirect.centos.org/centos/6/isos/
其中有一个163的Url:http://mirrors.163.com/centos/6.2/isos/x86_64/
DVD1:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD1.iso
DVD2:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-bin-DVD2.iso
CentOS-6.2-x86_64-minimal.iso  最小化安装:
http://mirrors.163.com/centos/6.2/isos/x86_64/CentOS-6.2-x86_64-minimal.iso
提问:怎么消除打开网页时的声音?

    回答:

    一,如果是打开IE浏览器,系统响应的声音,则按下面的步骤取消:

    点击开始菜单,设置,进入控制面板,

    点击声音和多媒体,进入声音设置,在方案内选择“无声”方案,即可取消打开网页时系统发出的声音。

我实际使用情况:声音和音频设备--》声音-》 声音方案-》无声
EOF

    二,如果是网页本声内容发出的声音,则按下面的步骤取消

    点击IE浏览器右键,或打开IE浏览器,点击工具菜单,

    进入INTERNET选项:

    选择“高级”选项卡,

    下拉滚动条,在多媒体选项里,把一些网页声音,之类的东西取消勾选,确定,就OK啦!
  
要实现随开启自动启动mysqld,我们需要搞定如下几个问题:

  1. Linux开机自动启动脚本放在哪儿?

  一般的,作为服务器使用的Linux一般会以“完全多用户模式(Multi-User Mode with Networking)”级别来启动,这种情况下Linux在启动时会运行/etc/rc.d/rc3.d/下的全部脚本。例如我们在这个目录下会看到脚本”/etc/rc.d/rc3.d/S90crond”,意味着开机启动时会运行S90crond脚本。

  2. Linux如何运行这些脚本?

  既然已经知道自动启动脚本该放在哪儿了,一切就好办。我们只需要将一个启动MySQL的脚本放过去就好了。下面是我们的一个简单的启动脚本v0.1 mysqldauto



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

  $vi mysqldauto



把它放到:/etc/rc.d/rc3.d,加上执行权限。
按编者的思想移动到对应的位置:

  #!/bin/sh

  # Version: 0.1 by orczhou@gmail.com

  /opt/mysql/bin/mysqld_safe --user=mysql & #这里需要修改为你的mysqld_safe目录

  $chmod +x mysqldauto

  $mv mysqldauto /etc/rc.d/init.d/

  $ln -s /etc/rc.d/init.d/mysqldauto /etc/rc.d/rc3.d/S99mysqld
  这样我们就把创建的mysqldauto脚本放到了/etc/rc.d/rc3.d/下面(注意这里使用了link的方式),mysqld可以自动启动了。


来自:http://tech.sina.com.cn/s/2009-12-04/00471159939.shtml 修改By:jack
这样:

如下:


利用Ls查出来后再接上路径的方法:
WEB_39_74_sles10sp1:/home/jackxiang/public_html/adc_branches/tst # ls -lart  $PWD/order*.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_detail.html
Nov 22 16:36 /home/jackxiang/public_html/adc_branches2/tst/order_result.html
Nov 23 09:19 /home/jackxiang/public_html/adc_branches2/tst/order_report.html

ls -lart ~+/order*.html 也行。

注:
~+和$PWD一样的功能,就是一样的不同表示罢了。

通过find配合~+输出文件路径:
less  /var/log/secure
May 28 11:05:53 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Failed password for root from 10.73.***.251 port 24222 ssh2
May 28 11:06:28 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:06:30 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Failed password for root from 10.73.***.251 port 24222 ssh2
May 28 11:06:31 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: Connection closed by 10.73.***.251 [preauth]
May 28 11:06:31 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[55974]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251  user=root
May 28 11:06:35 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251  user=root
May 28 11:06:35 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:06:37 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Failed password for root from 10.73.***.251 port 24296 ssh2
May 28 11:06:57 xxxx-web-api-upload_php_bj_yz_10_73_235_0 passwd: pam_unix(passwd:chauthtok): password changed for root
May 28 11:07:02 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 28 11:07:04 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Failed password for root from 10.73.***.251 port 24296 ssh2
May 28 11:07:10 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: Connection closed by 10.73.***.251 [preauth]
May 28 11:07:10 xxxx-web-api-upload_php_bj_yz_10_73_235_0 sshd[56210]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.73.***.251  user=root


树莓派的ssh日志文件是:/var/log/auth.log ,对应CentOS的/var/log/secure文件吧?
不完全正确。树莓派和CentOS都使用不同的日志文件来记录SSH登录活动。在树莓派上,SSH登录活动通常被记录在/var/log/auth.log文件中。而在CentOS上,SSH登录活动通常被记录在/var/log/secure文件中。
如何看查看系统上的日志配置文件的实际位置?

检查以下文件来了解日志配置:
/etc/rsyslog.conf
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log


/etc/rsyslog.d/目录下的其他配置文件
/etc/syslog-ng/syslog-ng.conf(如果使用syslog-ng)



背景:linux ssh 无法登录 错误提示 Connection closed by foreign host,之前都好好的,现在突然就有问题了,最后查到是因为有人做机器盘点,可能对一些ip作了白名单以限定其对本机的ssh的访问。

[root@localhost htdocs]# telnet 10.70.32.58 22
Trying 10.70.32.58...
Connected to localhost (10.70.32.58).
Escape character is '^]'.
jackxiang
jkdfjdl
Connection closed by foreign host.

这个怎么办???
1.ssh -vvv打印debug调试
2.检查iptable等是否有做端口限制
3.解决办法是:打电话给机房要求强制重启,然后就莫名其妙的可以了……

ssh -vvv xiangdong@10.70.32.58 22
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.70.32.58 [10.70.32.58] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
ssh_exchange_identification: Connection closed by remote host

使用Kerberos登陆ssh的时候,出现下列问题:
ssh_exchange_identification: Connection closed by remote host
解决办法:
修改/etc/hosts.allow文件,加入 sshd:ALL,然后重启sshd服务
http://wangmukun.blog.51cto.com/651644/202747
vi /etc/hosts.allow

sshd:10.65.*.* 10.4.*.* 192.168.112.195 110.64.6.58 110.70.58.84 202.108.16.65/255.255.255.224 211.108.17.* 211.181.168.*
加上自己的IP在后面,/etc/init.d/sshd status
sshd (pid 15818 7913 7911 7696 7694) is running...
/etc/init.d/sshd restart
或: service sshd restart
摘自:http://blog.163.com/zhengjiu_520/blog/static/3559830620118294059556/


有可能是使用了,使用SSH公钥(id_dsa.pub)实现免密码登录?实践证明不是的:
http://www.ibm.com/developerworks/cn/linux/l-backup/index.html#N10058


OpenSSH普通用户无法登录的几种情况的解决方法:(  #UsePAM yes 是注销了的,因为不需要PAM)
1 验证方式不支持
  如客户端登录时提示如下:
    [huzw@CentOS-6-37 ~]$ ssh monitor@192.168.1.5
    Permission denied (publickey,keyboard-interactive).
  解决方法:
    设置sshd的配置文件(sshd_config)的这条配置:PasswordAuthentication yes
    然后重启服务:service sshd restart
2 普通用户登录密码始终错误,sshd启动有报错
  sshd启动报错:
    Unsupported option GSSAPIAuthentication
    Unsupported option GSSAPICleanupCredentials
  解决方法:
    注销sshd的配置文件(sshd_config)的如下配置:
    #GSSAPIAuthentication yes
    #GSSAPICleanupCredentials yes
    #UsePAM yes
    然后重启服务:service sshd restart
来自:http://blog.csdn.net/huzhenwei/article/details/7486737
————————————————————————————————————————————————————

设置ssh日志记录 :
1、修改/etc/ssh/sshd_config
将SyslogFacility AUTHPRIV改为SyslogFacility local5
2 修改/etc/syslog.conf
添加如下两行:
# save sshd messages also to sshd.log
local5.* /data/log/sshd.log
3、重启sshd和syslog服务
然后你可以使用ssh来登录看看发现与sshd有关的信息都记录到了sshd.log中。不在是messages。

摘自:http://blog.chinaunix.net/uid-24500107-id-2602874.html

linux下怎么查看ssh的用户登录日志:
参考:http://www.cnblogs.com/wangkangluo1/archive/2011/09/23/2185976.html


SSH的登录次数查看:


指定尝试密码次数:
vi /etc/ssh/sshd_config

将默认的值改掉即可CentOS6 默认可以允许做3次尝试重启SSH。
MaxAuthTries 1
这里表示只允许输错一回密码.
我们要注意的是除了SSH自身的选项控制认证次数外,它还通过pam进行验证,所以如果我们设置MaxAuthTries 10,则允许输错密码的次数可能还是3,如果MaxAuthTries 2,则以MaxAuthTries为准.
如果是MaxAuthTries 2,我们输错密码的提示如下:
ssh  root@192.168.27.142
root@192.168.27.142's password:
Permission denied, please try again.
root@192.168.27.142's password:
Received disconnect from 192.168.27.142: 2: Too many authentication failures for root
修改默认登录时间
当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。

LoginGraceTime 1m
参考:http://wowubuntu.com/ssh-security.html
http://kyle.itpub.net/post/1626/491466

suse下可以这样:less /var/log/faillog
more /var/log/secure
who /var/log/wtmp

干了些什么?
root账户下输入su - username
切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条..

cat /var/log/secure 这个 日志记录 是记录了 所有 用户登陆信息
干了什么 可以看每一个用户的 history ...
tail -f  /(日志文件目录)   查看日志命令

ctrl+c停止打印

ls  -al  查看文件的详细信息路径等

vi  /(日志文件目录)  打开日志

/搜索字符

退出:按ESC后,按“:”,输入q,敲回车




近日,各大网站密码暴露,得修改下密码:
以root身份登陆,执行:passwd修改密码。useradd   用户名,添加用户。
具体的如下:
#passwd   root
输入root密码,输入两便。
#useradd   用户名
#passwd   用户名
密码,输入两便


———————————ssh_exchange_identification: Connection closed by remote host————————————
ssh问题:ssh_exchange_identification: Connection closed by remote host...  
ssh/scp:ssh_exchange_identification:Connection closed by remote host的问题
使用ssh/scp时,出现下列问题:
ssh_exchange_identification: Connection closed by remote host  
解决办法:  www.2cto.com  
修改/etc/hosts.allow文件,加入 sshd:ALL,然后重启sshd服务.
修改/etc/hosts.deny, 将 ALL: ALL 注释掉.
摘自:http://www.2cto.com/os/201210/161948.html

ssh问题:ssh_exchange_identification: Connection closed by remote host...
刚刚一个朋友告诉我SSH连接不上服务器了,重启电脑也不管用.我仔细看了一下,老报如下错误:
ssh_exchange_identification: Connection closed by remote host
the connection to the remote host was lost . this usually means that you network connection went down or that the remote host was rebooted
most network outages are short. and thus trying again may work
我在网上google了一下,得解决方案:
(1)  最简单的解决方法就是让/etc/hosts.allow 和/etc/hosts.deny里面的所有信息都不生效,全部注销掉,重启SSH服务就可以了.
但是,有时候在你修改后不久,仍然会出现/etc/hosts.deny自动修改,让你还是登录不了,此时需要检查denyhosts服务。
在redhat系列的版本中,有一个denyhosts服务,会自动覆盖/etc/hosts.deny文件,在确认要登录的机器没有问题时,可以简单做如下处理:
/etc/init.d/denyhosts stop
(2)  但是还有一种情况,就是客户端连接数过多时,也会报这个错误。缺省情况下,SSH终端连接数最大为10个。在这种情况下,需要改SSH的配置文件,
      解决方案:
1)        修改/etc/ssh/sshd_config中#MaxStartups 10,将其改为MaxStartups 1000
2)        重启SSH服务,/etc/init.d/ssh restart

摘自:http://chyd96.blog.163.com/blog/static/627060762011916115414327/



————————————————————————————更多相关知识——————————————————————————
Linux踢出其他正在SSH登陆用户
1、查看系统在线用户
[root@apache ~]# w
14:15:41 up 42 days, 56 min,  2 users,  load average: 0.07, 0.02, 0.00
USER     TTY      FROM      LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    116.204.64.165   14:15    0.00s  0.06s  0.04s w
root     pts/1    116.204.64.165   14:15    2.00s  0.02s  0.02s –bash
2、查看当前自己占用终端,别把自己干掉了
[root@apache ~]# who am i
root     pts/02013-01-16 14:15 (116.204.64.165)
3、用pkill 命令剔除对方
[root@apache ~]# pkill -kill -t pts/1
4、用w命令在看看干掉没。
[root@apache ~]# w
14:19:47 up 42 days,  1:00,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM      LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    116.204.64.165   14:15    0.00s  0.03s  0.00s w

后记:
如果最后查看还是没有干掉,建议加上-9 强制杀死。
[root@apache ~]# pkill -9 -t pts/1
From:http://www.myhack58.com/Article/48/66/2013/37031.htm

CentOS6下限制SSH远程终端连接数:
方案:
1)修改/etc/ssh/sshd_config中#MaxStartups 10:30:60,将其改为MaxStartups 1000
2)重启SSH服务,/etc/init.d/ssh restart
Centos系统默认连接时间120秒,如果远程终端连接数过多,则会出现超时连接,解决办法如下:
1)修改/etc/ssh/sshd_config中LoginGraceTime 120,将其改为LoginGraceTime 0,其中0表示不限制连接时间
2)重启SSH服务,/etc/init.d/ssh restart

From:http://www.21ops.com/linux/8220.html
web版firebug,适用于所有浏览器 :

主要就是针对IE 浏览器。IE8自带的不怎么好用。IE6 7的那个第三方插件更别提了。。有了这个,我们在做测试的只要加上一行代码 即可 使用 “firebug”测试。测试后 可以去掉。

总体来说:这个没有Firefox上强大,我试了下,只能看基本的CSS,Html和Js,等。
官方给的 兼容浏览器:E6+, Firefox, Opera, Safari and Chrome
官网:http://www.getfirebug.com/firebuglite
要求:当点击+按钮时,添加一个File位置,上传控件,当想删除这个上传文件控件时,点-取消。
问题:原有DOM上的三个上传文件框可以绑定上删除一个的事件,但是,通过AddInput.click生成的就没有。
如下:


解决:使用Jquery的Live Query插件,删除新加的文件控件的JS代码改为,livequery这个加上:
<script type="text/javascript" src="/js/jquery/jquery.livequery.js"></script>

参考来源:
使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题:
http://www.cnblogs.com/yongzhi/archive/2008/11/27/1342096.html


附录如下:
添加新上传文件Js事件:


一个多月前,Kernel.org公布了自己遭受的安全攻击,并将网站下线。现在,Kernel.org网站重新上线。

在8月份,Kernel.org声明自己的服务器被恶意网站攻破,这引发了Linux社区的剧烈反应。Kernel.org是Linux源代码的发布点,同时托管其他项目,包括Git。当时,主服务器“hera”被攻破,可能是通过另一台被攻破的Linux服务器完成。

Kernel的邮件列表和主页的链接中建议,开发人员要考虑自己的服务器有被潜在感染的可能,并且推荐他们重新生成自己所有的GnuPG密钥。由于GnuPG一来开发人员之间的web-of-trust工具(而不是根证书的已知列表,该列表被发现存在问题,比如导致Diginotar最近的崩溃),这需要Kernel开发人员在现实世界中碰面,以互相签名他们的新密钥。其他建议推荐使用root检测器(包括Chrootkit、ossec-rootcheck和rkhunter)。如果还有问题,一次干净的重新安装系统将会验证任何流氓系统,还会从LiveCD启动,并执行包扫描,比如rpm –verify all操作。

幸运的是,Kernel的源代码并没有被攻破,这些代码保存在Git库中。由于Git存储的内容由其SHA-1哈希识别,任何文件发生改变,这将会马上展现出文件的不同版本。不管是推送还是拉动等变更,都可以检测到这些不一致,并容易发出通知。此外,Git库的复制方式,意味着互联网上有多份拷贝,每一份都有同样的哈希,因此,任何开发人员如果想计算最近签出的库的正确性,去验证已知的正确值都是可能的。

预计不久就会有对本次安全漏洞的全面阐述。

查看英文原文:InfoQ: Kernel.org Back After Security Breach

nux 系统文件 /proc/{$pid}/status 会记录某个进程的运行状态,里面的 VmRSS 字段记录了该进程使用的常驻物理内存(Residence),这个就是该进程实际占用的物理内存了,用这个数据比较靠谱,在程序里面提取这个值也很容易
ps:虽然垃圾回收让php开发者在内存管理上无需担心了,但也有极端的反例:php界著名的包管理工具composer曾因加入一行gc_disable();性能得到极大提升。
两步:
1)Top查看进程PID。
2)查看进程的内存大小:

VmSize(KB) 任务虚拟地址空间的大小
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)

3)将KB换为G或M看:
https://www.wntool.com/filesize/
5020236 kb = 4.787670135498047GB

常用ps命令参数:最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。
p
pid
进程ID
u
user
用户名
x 显示没有控制终端的进程。

可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:
ps aux|grep dio_open_usb2|grep -v grep
root     10952  0.0  0.2  37436  8848 pts/0    S+   14:50   0:00 php dio_open_usb2.php
从上面可以得到信息如下:
还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时间的百分比;后者指该进程占用的内存和总内存的百分比。
即:该程序占用内存8848,我们只看内存,也也以这样看内存,10952是它的PID号,则这样看:



该文件里面有很多项的,如下:
cat /proc/10952/status
Name:   php
State:  S (sleeping)
Tgid:   10952
Pid:    10952
......
VmSize:    37436 kB
VmRSS:      8848 kB
......

解释:
VmSize(KB) 任务虚拟地址空间的大小
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)






参考来源:
http://apps.hi.baidu.com/share/detail/17897258
http://enterparse.blog.163.com/blog/static/11713797420096921232931/
steven jobs总算是走了,但蛮怀恋他老人家啊,尽管到目前我也买不起个苹果的本本上网什么的,但最近在同事的aire机上提前体验了下苹果的笔记本本,体验上创意上确实不错,于是也就立即逛逛他的苹果网站,发现也是用PHP+APache+Oracle做的,激发了我的兴趣,发现是用PHP连接Oracle的Apache架构实现,抓包发现服务器确实是:Apache/2.2.3 (Oracle),我不太明白ORacle这块,但同时看网上有这样的问题的提出,老大们,你们的php连oracle难道没有连接池问题吗?稍多几个人访问web那oracle可怜的百十个连接就用完了,你们是怎么解决的?沿着这个问题做了下简单的分析和查找资料,也就是如何解决这个贴纸儿的问题:http://blog.fabrichina.net/archives/250,

抓包看看再说,URL:
http://www.apple.com/global/nav/scripts/shortcuts.php?q=ja&section=global&geo=us&transport=js


于是找了网站上的两篇文章,说明为什么能用PHP连接Oracle并不用在乎它的连接数,Oracle自己采用了连接池的中间件技术:
http://martincarstenbach.wordpress.com/2010/05/11/compiling-php-5-3-2-for-oracle-11-2-and-apache-2-2-3/
http://archimedes.bitfine.com/dms/building-php-for-oracle.html

同时还发现有其它这样的server在苹果网站上得到初步证实:
获得的包返回情况如下,这个Server :Omniture DC/2.0.0,估计是:数据库驻留连接池 (DRCP) 的缩写。
标识补充:Oracle 数据库 11g 包含一个专门针对需要高可扩展性的应用程序的新特性:数据库驻留连接池 (DRCP)。通过 DRCP,我们可以在不同应用程序进程间共享数据库连接,从而更高效地使用服务器资源并全面提升吞吐量。Zend Server 随附的 PHP OCI8 扩展(目前为 V1.3.5)包含对 DRCP 的即用支持,使开发人员可以立即在其 PHP 应用程序中使用该特性。来源:http://blog.fabrichina.net/archives/250,再次查了下这方面网上关于ZendServe支持Oracle和Apache架构方面的r相关的文章,URL摘录如下:
(1)使用Zend Server 和Oracle 构建企业级PHP 应用:
http://www.zendchina.net/?action-viewnews-itemid-621
(2)11g新特性:常驻连接池DRCP(转):
http://space.itpub.net/23754390/viewspace-687268
(3)Oracle DRCP与PHP实际应用的区别:
http://database.51cto.com/art/201004/196170.htm

尝试访问苹果的URL如下,主要是证明这个Omniture Dc/2.0.0服务器的存在:
http://metrics.apple.com/b/ss/appleglobal,applestoreww,applestoreus,applestoreusconsum,applestoreamr,applestoreamrconsum/1/H.20.3/s9545065233069?AQB=1&ndh=1&t=6/9/2011%2023%3A28%3A57%204%20-480&ce=UTF-8&pageName=AOS%3A%20home%20-%20Return&g=http%3A//store.apple.com/us%3Fmco%3DNzc1MjMwNA&r=http%3A//store.apple.com/us&cc=USD&ch=AOS%3A%20home&server=a50028560&v1=AOS%3A%20TopNavigation%20%7C%20Store&h1=home&c2=AOS%3A%20US%20Consumer&v3=AOS%3A%20US%20Consumer&v4=AOS%3A%20home&c6=%3A%20AOS%3A%20home%20-%20Return&c8=AOS%3A%20home&c19=AOS%3A%20US%20Consumer%3A%20home&v19=AOS%3A%20US%20Consumer%3A%20home&c20=AOS%3A%20US%20Consumer&s=1400x1050&c=24&j=1.7&v=N&k=Y&bw=1400&bh=409&p=IE%20Tab%20Plug-in%3BAlipay%20security%20control%3BJava%20Deployment%20Toolkit%206.0.260.3%3BAliWangWang%20Plug-In%20For%20Firefox%20and%20Netscape%3BShockwave%20Flash%3BThunder%20DapCtrl%20NPAPI%20Plugin%3B&pid=AOS%3A%20home%20-%20First&pidt=1&oid=Nzc1MjMwNA&oidt=1&ot=A&oi=1&AQE=1

对该URL抓包返回头如下:


最后,只能模糊判断苹果网站的架构是基于这篇PPT来实现PHP和Oracle进行通信的,这个过程得到了学习,苹果在自己网站上采用的技术也很独特,佩服佩服啊:
  我似乎不应该向出租车司机提起腾讯。车窗外,一幢幢高楼沿着深南大道逐个晃过去。出租车司机因为那幢“马化腾的大楼”触发了谈兴。他一边有腔有调地讲述深圳人眼中的马化腾,一边顺道得瑟起他的QQ泡妞故事。

转载请注意来自http://www.chaoren.com
阅读全文
一直很困惑,技术人员拥有技术,但创业成功者寥寥无几。上周拜访客户,接触了几家公司后,才真正明白为什么技术人员当不好老板的原因。

有些人认为技术人员当不好老板,往往是技术人员性格比较怪,比较孤僻,不爱结交,只喜欢摆弄自己的技术,这些固然是有一些原因,但不是深层次原因,毕竟还是有很多技术人员的性格是很好的。

当然,我这儿说的技术人员,指在自己的领域能够深入,有自己独到的见解的那种,而不是那些搞了几年,还只是三脚猫功夫的,这类本质上谈不行是技术人员,只能讲是技术工人。

技术人员的工作:阅读全文
方法1:
在传入system()的参数字符串结尾加'&'字符,要求在后台运行

方法2:
先fork()出子进程,然后在子进程中调用system()函数

http://zhidao.baidu.com/question/43141259.html
curl c/c++ api接口使用例程

来源:http://bbs.chinaunix.net/viewthread.php?tid=586014
前两天看到有人求客户端socket 发HTTP包的代码,受flw版主启发找了一些perl的资料,不过对perl 还是不太熟悉。也没有深入的 研究。无意中发现了libcurl.so 这个库。去google上搜索发现它是处理客户端发送HTTP请求的库 以及可以处理web服务器回送回来的 包。研究了两天将研究的成果,共享出来给大家一起研究。
参考:http://curl.haxx.se/  这是curl开发者的首页。
利用libcurl.so库 我们能轻松的连接某个web站点。获得某个首页的html代码 或者是http 请求的头部。 还可以提交表单,
此外它还支持ftp,https,
/usr/include/curl/curl.h 中。
1 CURLcode curl_global_init(long flags);
描述:
这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
如果这个函数在curl_easy_init函数调用时还没调用,它讲由libcurl库自动完成。
参数:flags
CURL_GLOBAL_ALL    //初始化所有的可能的调用。
CURL_GLOBAL_SSL    //初始化支持 安全套接字层。
CURL_GLOBAL_WIN32  //初始化win32套接字库。
CURL_GLOBAL_NOTHING     //没有额外的初始化。
2 void curl_global_cleanup(void);
描述:在结束libcurl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数。
3 char *curl_version( );
描述: 打印当前libcurl库的版本。
4 CURL *curl_easy_init( );
描述:
curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样). 相应的在调用结束时要用curl_easy_cleanup函数清理.
一般curl_easy_init意味着一个会话的开始. 它的返回值一般都用在easy系列的函数中.
5  void curl_easy_cleanup(CURL *handle);
描述:
这个调用用来结束一个会话.与curl_easy_init配合着用.  
参数:
CURL类型的指针.
6  CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
描述: 这个函数最重要了.几乎所有的curl 程序都要频繁的使用它.
它告诉curl库.程序将有如何的行为. 比如要查看一个网页的html代码等.
(这个函数有些像ioctl函数)
参数:
1 CURL类型的指针
2 各种CURLoption类型的选项.(都在curl.h库里有定义,man 也可以查看到)
3 parameter 这个参数 既可以是个函数的指针,也可以是某个对象的指针,也可以是个long型的变量.它用什么这取决于第二个参数.
CURLoption 这个参数的取值很多.具体的可以查看man手册.
7 CURLcode curl_easy_perform(CURL *handle);
描述:这个函数在初始化CURL类型的指针 以及curl_easy_setopt完成后调用. 就像字面的意思所说perform就像是个舞台.让我们设置的
option 运作起来.
参数:
CURL类型的指针.
下面来看一个简单的例子:
用来获得某个主页的html代码
#include <stdio.h>;
#include <curl/curl.h>;
#include <stdlib.h>;
int main(int argc, char *argv[])
{
    CURL *curl;   //定义CURL类型的指针
    CURLcode res;  //定义CURLcode类型的变量
    if(argc!=2)
    {
        printf("Usage : file <url>;\n");
        exit(1);
    }
    curl = curl_easy_init(); //初始化一个CURL类型的指针
    if(curl!=NULL)
    {
//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
        curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
        res = curl_easy_perform(curl);
//清除curl操作.
        curl_easy_cleanup(curl);
    }
    return 0;
}
编译: gcc -o 001 -Wall 001.c -lcurl
我们来获得www.chinaunix.net 主页的html代码
./001 www.chinaunix.net阅读全文
find命令:

查找当前目录下递归本层所有的文件夹,按评论说的作了下改动:

就是列出当前所有的文件夹,这样可以对一个满是Linux安装文件包并解压后的包含:tar.gz 目录等,做统计和删除,很有用。
注意:
-maxdepth   1       (其中‘1’为你本层目录里面查找,要是为‘2’的话就是两层目录下面的文件查找)

其实我是想删除这个目录下所有给解压的目录,只留下安装包,命令如下:
jQuery

主页:http://jquery.com/
设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。

优点
小,压缩后代码只有20多k(无压缩代码94k)。
Selector和DOM操作的方便


Chaining:总是返回一个jQuery对象,可以连续操作。
文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。
应用的广泛,包括google code也使用了jQuery。

使用jQuery的站点:http://docs.jquery.com/Sites_Using_jQuery
核心的开发团队和核心人员:John Resig等。
简洁和简短的语法,容易记。
可扩展性:有大量用户开发的插件可供使用(http://jquery.com/plugins/)
jQuery UI(http://jquery.com/plugins/,基于jQuery,但和核心的jQuery是独立的),不断发展中。
友好和活跃的社区:google groups: http://docs.jquery.com/Discussion
事件处理有很多方便的方法,如click,而不是单一的addEvent之类的。

缺点
由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和Mootools不一样。
CSS Selector的速度稍微有些慢(但是现在速度已经大幅提高)

Ext JS
主页:http://extjs.com/

设计思想
组件化,推进RIA(Rich Internet Application)的应用。

优点
强大的UI,而且性能不错,这是其最大的优点。
速度快,管是UI还是其它模块。
100%面向对象和组件化的思想,一致的语法,全局的命名空间。
文档的完整,规范,方便。
核心的开发团队,Jack Slocum等。
活跃的社区,迅速增加的用户量。
模块化实现,可扩展性强。
所有的组件(widgets)都可直接使用,而无需进行设置(当然,用户可以选择重新配置)。

缺点
稍复杂。
为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。

ExtJs与jQuery比较

1.EXT体积大,jQuery更专注于简化最基础的开发工作.所以使用起来,也就感觉更像是使用原始的js进行开发一样

2.EXT界面美观,jQuery一般

3.EXT代码复用性强

4.EXT兼容性还是有点小问题,jQuery兼容性良好

5.EXT不易调试,

6.Ext使页面是只留下body,搜索引擎无法收录这样,不利于SEO排名

7.jQuery的事件绑定更强

Ext简化了很多工作,让开发更简洁,更方便,但也带来了很多麻烦,给我们留下了更小的选择空间,局域网里面我们可以使用EXT,但是在互联网上请优先jQuery
分页: 125/339 第一页 上页 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 下页 最后页 [ 显示模式: 摘要 | 列表 ]