一)过滤出三次握手的第一次:
tcp.flags.syn == 1  //YN置1就表示这是一个连接请求或连接接受报文。首先由Client发出请求连接即 SYN=1 ACK=0  (请看头字段的介绍), TCP规定SYN=1时不能携带数据,但要消耗一个序号,因此声明自己的序号是 seq=0
二)跟踪一个IP和另一个IP的数据包:
(ip.addr eq 123.130.127.180 and ip.addr eq 172.20.156.35) and (tcp.port eq 80 and tcp.port eq 16616)

ip.addr == 123.130.127.180 and ip.addr == 172.20.156.35 //注意,一是两个等号,二是ip不用双引或单引号想起来,否则属于错误语句。
(ip.addr == 123.130.127.180 and ip.addr == 172.20.156.35) and (tcp.port == 80 and tcp.port == 16616)

ip.addr==123.130.127.180 and ip.addr==172.20.156.35
阅读全文
今天查看了一下服务器,发现/var/log/btmp日志文件比较大(38M     /var/log/btmp),搜索一下,此文件是记录错误登录的日志,就是说有很多人试图使用密码字典登录ssh服务,此日志需要使用lastb程序打开。
通过此文件发现有几个ip总是试图登录,可以使用防火墙把它屏蔽掉。
命令如下:
iptables -A INPUT -i eth0 -s *.*.*.0/24 -j DROP
查看恶意ip试图登录次数:
lastb | awk ‘{ print $3}’ | sort | uniq -c | sort -n
删除这个日志:
rm -rf /var/log/btmp
touch /var/log/btmp

来自:http://blog.chinaunix.net/uid-20329764-id-5016539.html
背景:想把sublime改成vim,但是对于列模式可视块这种需要ctrl+v这种变成粘贴了,而产生冲突,最后还是修改回去了。
本文部分摘自:http://www.cnblogs.com/zuike/p/4402022.html
启用 Vim 模式

      在菜单栏中: Preferences -> Setting - User ,即可打开配置文件进行编辑,将 ignored_packages 项的[]里面内容清空:

"ignored_packages":
 [
 ]

  这样就启用了 Vim 模式,按 Esc 退出编辑模式,即进入了 Vim 模式。

     vim 模式快捷键说明请查看 http://feliving.github.io/Sublime-Text-3-Documentation/vintage.html

我的实践:
{
  "color_scheme": "Packages/User/SublimeLinter/Solarized (Dark) (SL).tmTheme",
  "font_size": 14,
  "ignored_packages":
  [
    "Markdown Preview",
    "Vintage"
  ],
  "show_encoding": true,
  "theme": "Soda Light 3.sublime-theme"
}

删除掉:

    "Markdown Preview",
    "Vintage"







启用 Ctrl 功能键及自定义功能键

  Preference->Setting User 添加如下内容:

  

"vintage_ctrl_keys": true
   这样就支持以下命令了:  

Ctrl+[ : Esc键的别名
Ctrl+R : Redo
Ctrl+Y : 向下滚动一行
Ctrl+E : 向上滚动一行
Ctrl+F : 下一页
Ctrl+B : 上一页
  如果觉得以上按键太复杂,可以自定义按键,找到 Vintage.sublime-package这个文件,其实是一个压缩包,改名zip后缀后解压得出文件,使用记事本打开 Default.sublime-keymap 文件,找到需要修改的快捷键进行修改即可。

  例如我需要将 ctrl+f 下一页修改成 f+f 下一页:

  搜索 “ctrl+f”,找到以下代码:

  

{ "keys": ["ctrl+f"], "command": "set_motion", "args": {
"motion": "move",
"motion_args": {"by": "pages", "forward": true, "extend": true }},
"context": [{"key": "setting.command_mode"}, {"key": "setting.vintage_ctrl_keys"}]
},



修改成

{ "keys": ["f","f"], "command": "set_motion", "args": {
"motion": "move",
"motion_args": {"by": "pages", "forward": true, "extend": true }},
"context": [{"key": "setting.command_mode"}, {"key": "setting.vintage_ctrl_keys"}]
},

这样,你 按esc退出编辑模式,按两下f键,即可实现向下翻页了,大家可以尝试下将 ctrl+b 向上翻页修改成 b+b 。
杨永(杨永) 08-19 15:14:56
tcpdump -vnn host  要挂载服务器的IP
杨永(杨永) 08-19 15:15:07
tcpdump -vnn host 192.168.151.201
杨永(杨永) 08-19 15:17:01
看情况得开下4046端口
杨永(杨永) 08-19 15:17:12
发给张腾让他开下
杨永(杨永) 08-19 15:18:02
10.71.182.97.55818 > 192.168.151.201.4046
卡在这了
杨永(杨永) 08-19 15:18:09
访问4046端口没权限 (ength 0)
    10.71.182.97.37218 > 192.168.151.201.4046: Flags [S], cksum 0xf506 (correct), seq 2144183597, win 14600, options [mss 1460,sackOK,TS val 1372580057 ecr 0,nop,wscale 9], length 0
——————————————————————————————————————————————
   10.71.182.97.48860 > 192.168.151.201.111: Flags [F.], cksum 0x0a06 (correct), seq 61, ack 33, win 29, options [nop,nop,TS val 1372580057 ecr 798553157], length 0
15:16:24.794577 IP (tos 0x0, ttl 64, id 19956, offset 0, flags [DF], proto TCP (6), length 60)
    10.71.182.97.37218 > 192.168.151.201.4046: Flags [S], cksum 0xf506 (correct), seq 2144183597, win 14600, options [mss 1460,sackOK,TS val 1372580057 ecr 0,nop,wscale 9], length 0
15:16:24.795999 IP (tos 0x0, ttl 57, id 8451, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.151.201.111 > 10.71.182.97.48860: Flags [.], cksum 0xe7ea (correct), ack 62, win 8760, options [nop,nop,TS val 798553157 ecr 1372580057], length 0
15:16:24.796009 IP (tos 0x0, ttl 57, id 8707, offset 0, flags [DF], proto TCP (6), length 52)
    192.168.151.201.111 > 10.71.182.97.48860: Flags [F.], cksum 0xe7e9 (correct), seq 33, ack 62, win 8760, options [nop,nop,TS val 798553157 ecr 1372580057], length 0
15:16:24.796014 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 52)
    10.71.182.97.48860 > 192.168.151.201.111: Flags [.], cksum 0x0a04 (correct), ack 34, win 29, options [nop,nop,TS val 1372580058 ecr 798553157], length 0
15:16:25.794390 IP (tos 0x0, ttl 64, id 19957, offset 0, flags [DF], proto TCP (6), length 60)
    10.71.182.97.37218 > 192.168.151.201.4046: Flags [S], cksum 0xf11e (correct), seq 2144183597, win 14600, options [mss 1460,sackOK,TS val 1372581057 ecr 0,nop,wscale 9], length 0
15:16:27.794397 IP (tos 0x0, ttl 64, id 19958, offset 0, flags [DF], proto TCP (6), length 60)
    10.71.182.97.37218 > 192.168.151.201.4046: Flags [S], cksum 0xe94e (correct), seq 2144183597, win 14600, options [mss 1460,sackOK,TS val 1372583057 ecr 0,nop,wscale 9], length 0
背景:问个技术问题:  如果代码中数据库连接使用域名,域名解析切换的时候,PHP是立即生效,还是会有DNS缓存?我知道CURL有缓存,数据库连接不太清楚,hosts绑定也 不靠谱,也会出现缓存。还是会有DNS缓存的,这块我遇到过好几次,最好restart php-fpm,甚至重启,有一个哥们大致总结了一下,特转之。

1、Linux修改本机别名/etc/hosts的hostName后经常不生效解决
Linux修改本机别名/etc/hosts的hostName后经常不生效,

比如我们/etc/hosts的内容如下:

#192.68.1.10 message.xxx.com

192.68.1.11 message.xxx.com


但是ping

message.xxx.com还是指向192.68.1.10。


一般2种解决方案:


1). 重启,这是最直接最可靠稳定的一种方法,如果有些时候不方便重启,则可以使用第二种方法。

2). 修改/etc/sysconfig/network文件,将HOSTNAME修改成对应的别名,如下:



NETWORKING=yes

HOSTNAME=host1
修改后重启网络服务
service network restart
(本质是/etc/init.d/network)


3).
如果重启服务器后,还是不起作用,应该是本机的dns缓存引起的。



查看nscd是否启用:
ps -ef|grep nscd

直接关闭Linux nscd 缓存服务:

/etc/init.d/nscd stop

2、Linux的DNS

     linux本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(name service cache daemon).

    nscd缓存三种服务passwd group hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份缓存,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL).

     安装:

  yum install nscd

    修改配置文件/etc/nscd.conf,开启dns缓存,修改这一行

  enable-cache hosts yes。

如果启用了nscd 服务,才有dns 缓存,否则是没有dns缓存的。




     开启 、停止、 重启服务
     service nscd start | stop | restart

nscd的配置:

通过编辑/etc/nscd.conf文件,在其中增加如下一行可以开启本地DNS cache:

enable-cache hosts yes

阿里云主机上的配置如下:

[plain] view plain copy print?
[root@iZ2571ykq ~]# cat /etc/nscd.conf  
#logfile        /var/log/nscd.log  
threads         6  
max-threads     128  
server-user     nscd  
debug-level     5  
paranoia        no  
enable-cache    passwd      no  
enable-cache    group       no  
enable-cache    hosts       yes  
positive-time-to-live   hosts   5  
negative-time-to-live   hosts       20  
suggested-size  hosts       211  
check-files     hosts       yes  
persistent      hosts       yes  
shared          hosts       yes  
max-db-size     hosts       33554432  
相关参数的解释如下:

logfile debug-file-name:指定调试信息写入的文件名。

debug-level value:设置希望的调试级别。

threads number:这是启动的等待请求的线程数。最少将创建5个线程。

server-user user:如果设置了该选项,nscd将作为该用户运行,而不是作为root。如果每个用户都使用一个单独的缓存(-S参数),将忽略该选项

enable-cache service <yes|no>:启用或禁用制定的 服务 缓存。

positive-time-to-live service value:设置 service 在指定缓存中正的项目(成功的请求)的TTL(存活时间)。 Value 以秒为单位。较大的值将增加缓存命中率从而减低平均响应时间,但是将增加缓存的一致性问题。

negative-time-to-live service value:设置 service 在指定缓存中负的项目(失败的请求)的TTL(存活时间)。 Value 以秒为单位。如果存在由不在系统数据库中的uid(用户ID)(例如在以root身份解包linux 内核源代码时)所拥有的文件将明显改善性能;应该维持较小的值以降低缓存一致性问题。

suggested-size service value:这是内部散列表的大小, value 应该保持一个素数以达到优化效果。

check-files service <yes|no>:启用或禁用检查属于指定 服务 的文件的改变。这些文件是 /etc/passwd, /etc/group, 以及/etc/hosts。







nscd的查看和清除




nscd缓存DB文件在/var/db/nscd下。
nscd -g  查看统计信息

清除 nscd缓存:
nscd -i passwd
nscd -i group
nscd -i hosts
当然也先删除缓存库或者停掉nscd服务:
rm -f /var/db/nscd/hosts

service nscd restart

或者是直接停止nscd 服务
service nscd stop。

  


来自:http://blog.csdn.net/hguisu/article/details/49278355
第一步:
在sublimetext的tools中developer下面的new plugin输入,保存为copyfile.py:
import sublime, sublime_plugin, os  
class FilenametoclipboardCommand(sublime_plugin.TextCommand):  
   def run(self, edit):  
      sublime.set_clipboard(os.path.basename(self.view.file_name()))  
      print(os.path.basename(self.view.file_name()))  

第二步:
保存到pakages/user/filenametoclipboard.py
class ListOpenFilesCommand(sublime_plugin.TextCommand):  
    def run(self, edit):  
        window = sublime.active_window()  
        views = window.views()  
        fileNames = ''  
        for view in views:  
            if view and view.file_name():  
                fileNames += os.path.basename(view.file_name())+'\n'  
        window.new_file().insert(edit, 0, "List of open files:\n\n"+fileNames)

第三步:preferences下面的key-bindings-user下面添加:
然后取key-bindings下加如
{ "keys": ["ctrl+alt+c"], "command": "filenametoclipboard" },
{ "keys": ["ctrl+alt+l"], "command": "list_open_files" }
保存,重启sublitext,即可,简单吧,呵呵

来自:http://blog.csdn.net/zhuboyan123/article/details/41249685
背景:想搭建一个Gitlab的两台机器进行都访问NAS网盘作为数据共享,而这样的好处是网盘内容是一致的,达到高可用,而同时对这个NAS网盘进行Git命令备份,防止网盘挂了,也能恢复,也是代码数据的高可用。
在阿里云上也申请了一个类似的NFS磁盘,但是挂载时是ROOT权限,我那个/home/git/.ssh想是git权限,于是提起工单:




售后工程师 :    您好,这样不支持,mount后的目录权限有ans服务端决定,目前不支持修改。  
2017-07-06 23:42:54
售后工程师 :    您好,技术反馈这个是nas服务端决定的,目前我方设置的权限是777 root:root  

经实践:
mkdir -p /home/git/mnt
ll  -d /home/git/mnt/
drwxr-xr-x 2 root root 4096 Jul  8 23:52 /home/git/mnt/  #Linux root用户id号是0
挂载NFS:
mount -t nfs -o vers=3,tcp 10.71.15.98:/Vol-01/backup /home/git/mnt
ll  -d /home/git/mnt/
drwxr-xr-x 11 1000 1000 114688 Jun 11 20:04 /home/git/mnt/
变成1000了,这个值是NFS服务端设置的,但是阿里云是0,也就不是Git账户的ID了。它是0,root用户id号是0,不敢该RootID值为非0值。

推测其配置如下:
打开/etc/exports文件,在末尾加入:
/home/kevin *(rw,sync,no_root_squash)
注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:
/home/kevin:要共享的目录
* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限


nfs中exports中no_root_squash的意义:
no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!
root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份。

增加no_root_squash可以轻松获得NFS主机共享目录读写权限.
=================================================================================
在文章后面有讲如何搭建NFS服务器:http://jackxiang.com/post/8299/
阅读全文
软件无法启动
常见原因1: 未获得管理员权限
解决方法:右 键点击图标,选择以管理员身份运行。如果觉得每次这样操作很麻烦,可以直接在“我的电脑”点击右键选择管理。打开界面后,选择本地用户和组,单击用户,选 择administrator账户即可。打开administrator账户之后,把帐户已禁用选项关闭,重启电脑后即可获得管理员最高权限。
点击在新窗口中浏览此图片

摘自:http://tech.china.com/news/11146420/20160811/23265628.html
Q:Win10 Build9841 64位系统。没有建立虚拟机的菜单,怎么办?
A:右上角那个“连接到服务器”,你要先把本机添加成hyper-v服务器才能创建虚拟机。



Q:选连接到本地计算机后,出现Hyper-V开启失败无法连服务器/无效类,怎么办?

微软也有一个本身自带的虚拟机叫做Hyper-V,但是并不好用。如题,打开Hyper-V,提示:尝试连接“XXX”时出错。请检查……此服务器。计算机"XXX"上的操作失败:无效类。参考:

http://jingyan.baidu.com/article/8275fc866ecb1f46a03cf6a1.html


如果还是不行?有可能是这样的:
那很可能是因为你的系统不是64位的,注意32位系统是无法在本地运行Hyper-V的!
此时建议改用VMware Workstation。
有用的插件:
SublimeCodeIntel 让sublime跳转到变量定义的地方:
http://www.xuebuyuan.com/1122417.html
需要在用户目录添加配置文件。linux就是创建 ~/.codeintel/config 文件,具体readme,win也是用户目录下
sublimecodeintel 安装后需要配置,文件:插件目录/.codeintel/config 中 增加

"PHP": {
        "php": 'D:\SaeServer\php\php.exe',
        "phpExtraPaths": ['D:\SaeServer\php\stdlib'],
        "phpConfigFile": 'D:\SaeServer\apache\php.ini'
    },


ctags。 这个插件能跨文件跳转,跳转到指定函数声明的地方。 使用package control 搜索ctags 进行安装(安装ctags插件就可以了, 还有一个 CTags for PHP 插件没什么用)。注意安装好插件后要需要安装ctags命令。window 下载 ctags.exe  http://vdisk.weibo.com/s/7QZd7 。 将ctags.exe文件放在一个环境变量能访问到的地方。打开cmd, 输入ctags,如果有这个命令,证明成功了。 ubuntu下安装运行命令:sudo apt-get install exuberant-ctags 。
    然后在sublime项目文件夹右键, 会出现Ctag:Rebuild Tags 的菜单。点击它,然后会生成.tags的文件。也可:
    ctags -R -f .tags生成  .tags文件,然后在sublime下就可以用ctrl+t ctrl+t来跳转,用ctrl+t ctrl+b来返回到原来位置。 From:http://www.cnblogs.com/cchun/p/3794018.html

ctags

生成.ctags ctrl + t + r  同时t r。

跳转到声明 ctrl + t + t ,ctrl+> ,ctrl+shift+left_click (按两次t,> 这个在笔记本键盘上得按下shift上档键的点上面才有> ,ctrl+shift+.)
返回 ctrl + t + b ,ctrl+< ,ctrl+shift+right_click         (t b两次,或直接按ctrl+shift+,),   ,这个就是, 上面的<符号。


sublime配置全攻略:
http://blog.csdn.net/w6611415/article/details/7725566/

以下来处:http://www.cnblogs.com/lchg/p/5304168.html
对你有助请点赞,请顶,不好请踩------送人玫瑰,手留余香!
目录放错地了是关键,目录在:D:\Program Files\sublime\Data\Packages\sublime-phpcs-master ,win7好像真没有这个目录。
C:\Users\admin\AppData\Roaming\Sublime Text 3\Packages 放这儿才是:
"D:\Program Files\SublimeText3\Data\Packages\User\phpcs.sublime-settings"
但是window10的sublime路径的确在:
阅读全文
背景: 深入理解PHP原理之变量分离/引用(Variables Separation)   之自己+1,这个refcount是否+1的问题。
Q:
有时候会在原有数值的基础上改变吧 比如$var++
A:两种情况,那个对象就不测试了:
情况1,字符:


---------- 调试PHP ----------
string(5) "jackX" refcount(2)
string(5) "jackY" refcount(2)

输出完成 (耗时 0 秒) - 正常终止


情况2,整数:


---------- 调试PHP ----------
long(1) refcount(2)
long(2) refcount(2)

输出完成 (耗时 0 秒) - 正常终止

说明,$var++; 并没有改变自己的refcount值。而像:$var_dup = $var;就会+1了哟:



---------- 调试PHP ----------
string(5) "jackX" refcount(2)
string(5) "jackY" refcount(3)  <---看,这儿+1,等于3了,$var_dup = $var;会加1,得证。

输出完成 (耗时 0 秒) - 正常终止
实践来源:http://www.laruence.com/2008/09/19/520.html


疑问:


---------- 调试PHP ----------
string(8) "laruence" refcount(3)
string(8) "laruence" refcount(3)
long(1) refcount(2)
string(8) "laruence" refcount(2)

输出完成 (耗时 0 秒) - 正常终止

可能是:
作为函数的参数穿进去的时候,函数的实参使用了,所以+1,函数电用完,实参也回收了,所以变回2,应该是这样,实践如下:

---------- 调试PHP ----------
string(9) "jackxiang" refcount(2)
string(9) "jackxiang" refcount(2)
string(9) "jackxiang" refcount(2)

输出完成 (耗时 0 秒) - 正常终止

运行debug_zval_dump后不是又变回去了?按这样说,那前面的结论都TM错了,$var ++,其refcount也是加了1的。这就是结论。要看是这么玩的,得看PHP这块的源代码。

http://my.oschina.net/u/2340880/blog/508688
Crack:
http://download.csdn.net/download/xieyupeng520/9342987

http://www.sd173.com/html/3774.html
背景:阿里私有云呐,出现Agent异常,查各种配置均没有问题,后把EDAS的agent服务器均重启了又好了(重启6台中的一台还是有问题),东软哥们问阿里说是给他来了句,叫什么地址漂移,不知道什么鬼高科技。查一下了解了解。

   采用地址漂移技术,利用虚拟IP地址来绑定主服务器,可有效解决不能利用组播的情况下,多台服务器集群之间的信息交互问题。此方法具有一定的代表性,在很多行业可以采用。  双机集群方式广泛应用于各级航空飞行管制中心,两台中心服务器通过网络构成一套高可靠性双机热备份系统,同步工作、互为备份,当主机发生故障时,自动切换到备机工作,系统不间断运行。而地址漂移技术是当其中一台主机有故障时,另一主机接管故障主机的网络IP地址,使网络仍能正常运行。
三是采用地址漂移技术,给管制中心分配一个航空管制中心虚拟IP 地址,航空管制中心之间传递情报采用此IP地址,然后由各航空管制中心的主服务器与此IP地址绑定,负责接收和发送情报。同时在主服务器启动一个三通进 程,所谓三通进程是指此进程负责接收信息,然后将收到的信息分别转发到集群内两台服务器,类似于水龙头的三通,因此称之为三通进程。主服务器收到一份情报 后,送往局域网内主服务器和备服务器的接收进程。当主机切换为备机时,此服务器卸载此虚拟IP地址,切换为主机的服务器加载虚拟IP地址,并启用三通进程 负责接收和分发情报。虚拟IP地址在主备服务器之间漂移,也称之为地址漂移技术,目前很多集群软件也采用此技术来解决集群内多台计算机只有惟一IP地址的 问题。
文中有说ARP+Socket实现的。详情如下:

阅读全文
Redis的慢日志是一个系统记录了超出规定的执行时间查询。执行时间不包括I/O操作,比如与客户会话,发送回复等等,只是实际执行的命令(这就是线程被阻塞而无法执行命令的唯一阶段所需的时间为在此期间其他请求)。可以用两个参数来配置的慢日志:slowlog-log-slower-than告诉Redis是什么的执行时间,以微秒为单位,以超过为获得记录的命令。需要注意的是负数禁用慢日志,而零值强制每个命令的记录。slowlog-max-len是慢日志的长度。最小值是零。当一个新的命令被记录和慢日志已处于其最大长度时,最早的一个是从记录的命令队列中移出以腾出空间。该配置可以通过编辑redis.conf完成或当服务器使用CONFIG GET和Config中设置的命令运行。

一、Redis默认记录超过10000us的命令:
10.64.*.54:6379> config get slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000"


二、默认保留128条慢查询日志:
10.64.*.54:6379> config get slowlog-max-len
1) "slowlog-max-len"
2) "128"


三、慢查询日志查询,2条:
[root@rh08 ~]# redis-cli -h 10.64.*.54
10.64.6.54:6379>  slowlog get 2
1) 1) (integer) 2
   2) (integer) 1470219973
   3) (integer) 36910
   4) 1) "info"
2) 1) (integer) 1
   2) (integer) 1469739564
   3) (integer) 14997
   4) 1) "save"
像discuz论坛啥的, 要是楼数多,分页发现有这个问题,导致mysql的cpu负载较高,分页需要优化,如limit 222222,20,从20万以上取这样的。
再说是对mysql的INNODB引擎进行分区,以提高mysql的性能:

资料:
【分页查询时如何优化MySQL的性能?必藏】
http://toutiao.com/group/6303291874997141762/?iid=4621176401&app=news_article&tt_from=android_share&utm_medium=toutiao_android&utm_campaign=client_share

MySQL架构优化实战系列3:定时计划任务与表分区:
http://sc.qq.com/fx/u?r=BHE7tkA

MySQL架构优化实战系列2:主从复制同步与查询性能调优:
http://blog.csdn.net/huaweitman/article/details/51822082

MySQL架构优化实战系列1:数据类型与索引调优全解析:
http://udn.yyuap.com/article-11729.html
背景:公司发的本本发现关闭Alt+F4,需要加上Fn键盘,那个音量键盘,默认就是F3即可,这产品设计得是为用户,不是为开发的呀,得修改。
thinkpad X250笔记本ALT+F4组合键不能用 只能FN+ALT+F4:
这款笔记本要使用 F1 - F12 功能,需要同时按 Fn 键和所需的功能键;
这是默认设置。要更改默认设置,方法如下。
笔记本开机之后在品牌LOGO画面按F2,进入到BIOS设置界面。
从 BIOS Setup Utility 菜单中选择 Config。
从Keyboard/Mouse 子菜单中找到Fn Key Lock:禁用 Fn 键锁定即可。


实践发现有一项是F1-F12什么的给Enable,好像就好了。


实际怎么弄的呢?步骤如下:
1.开机进入时,按F12,不是F2,也不是del,进入到一个界面。这个界面好像又是一个tab的,如下:
Boot Menu  | App Menu --》 Setup
2.Config->Keyboard/Mouse->F1-F12 as Primary Function [enable], 这下Al+F4,就能使用了,不用按FN这个键了。
背景:经常看到为了省流量出现js代码或css代码经过了压缩,怎么不用工具,直接在浏览器里看呢?如下 巧用Chrome格式化压缩后的js文件。
实践如下:F12->Source->左侧找到找看的js->选中js->选中后右侧有一个line1、column1-> 在它的左边有一个花括号->于是就会变成格式化正常可看代码。
———————————————————————————————————————————————————————————————————

按下快捷键F12,或者Ctrl+Shift+I
我们点击Sources中的一个百度Javascript代码文件。
可以看出,这些代码是经过压缩的。如果直接阅读这一块代码,很快就会感到理解困难了。
我们点击下方的大括号{}图标,即可使用Pretty Print功能了。

来自:http://blog.csdn.net/yenange/article/details/7162405
背景:如果一个文件目录很大且需要定时同步,怎么办,linux下有一个rsync,同步到的可能是本地,更多是同步到把nas给mount上来的一个网络超大磁盘,这就很有用了。

rsync -avh #备注:只是增量同步,远端有不一样的文件,它不会自动删除。
rsync -avh --delete gliethttp/ /media/udisk/gliethttp
其中gliethttp/为src这里的结尾/很重要,这表示同步的是gliethttp/目录中的内容,而不是gliethttp目录本身.
/media/udisk/gliethttp为dst
表示将src中的内容与dst进行严格同步,如果dst不存在,那么创建之.
-r 表示递归目录
-t 表示保留时间
-l 表示保留符号链接

我们也可以使用ssh辅助rsync远程同步文件夹
luther@gliethttp:~$ rsync -avh --delete luther@127.0.0.1:/media/udisk/gliethttp/ gliethttp.local
默认使用ssh远程登录luther用户,然后使用ssh加密通道进行数据传输,同步/media/udisk/gliethttp/文件夹中的内容到本地的gliethttp.local目录下

网上有通过配置/etc/rsyncd.conf来设置访问权限,个人感觉很不安全,远远不如使用成熟的ssh进行数据加密,对于用户认证,可以将生成的.ssh对应的key发布出去,这样就不用每次输入密码了[luther.gliethttp]
《windows登陆远程Linux主机的一种途径putty-详细安装使用过程》
下面看看如何创建key
1. luther@gliethttp:~$ ssh-keygen -t rsa
2. 将~/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys
3. 将私钥~/.ssh/id_rsa拷贝到远程客户端的~/.ssh/目录下
当然可以安装rsync的GUI版本grsync
luther@gliethttp:~$ sudo apt-get install grsync

来自:http://blog.chinaunix.net/uid-20564848-id-74200.html
DokuWiki 升级方法
diff -ruN /data/htdocs/wiki.jackxiang.com/  dokuwiki/ > wiki.diff
cp -Rf /data/htdocs/wiki.jackxiang.com /data/backup/wiki.jackxiang.com.backup.2016.7.28
cd /data/htdocs/wiki.jackxiang.com
patch -p1 < /tmp/doukuwiki/wiki.diff --dry-run
patch -p1 < /tmp/doukuwiki/wiki.diff
yes|cp -Rf /data/backup/wiki.jackxiang.com.backup.2016.7.28/conf/* ./conf/.
yes|cp -Rf /data/backup/wiki.jackxiang.com.backup.2016.7.28/data/* ./data/.
chmod -R 755 /data/htdocs/wiki.jackxiang.com/data/
---------------------------------------------------------------------------------------------------------
说明:Dokuwiki Install Path:~/public_html/wiki
1、先确认目前所使用的版本号:
$cd ~/public_html/wiki
$cat VERSION
2009-02-14b

2、官网下载最新版本版本进行差异对比:
点击查看: http://www.splitbrain.org/projects/dokuwiki

$mkdir src
$cd src
$wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-02-14b.tgz
$wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-12-25c.tgz
$tar zxvf dokuwiki-2009-02-14b.tgz
$tar zxvf dokuwiki-2009-12-25c.tgz
$diff -Nauf dokuwiki-2009-02-14 dokuwiki-2009-12-25 > wiki.diff

3、二次确保安全,先做好原数据的备份工作:
$cd ~/public_html
$tar -zcvf src/wiki.tar.gz wiki/

4、最后靠谱过渡升级:
$cd ~/pubilic_html/wiki
$patch -p1 < ~/public_html/src/wiki.diff --dry-run  //测试升级
$patch -p1 < ~/public_html/src/wiki.diff    //正式升级

5、确认无误后即可清除废墟:
$rm -rf ~/public_html/src

参考资料:
官方指南: http://www.dokuwiki.org/zh:install:upgrade

本文来自:http://www.pythonclub.org/dokuwiki/upgrade
背景:在拿代码量算KPI...跟程序员来这一套。--西乔漫画。IT部门谈到:马上部署代码覆盖测试,PHP这块有查了一下还真有类似的工具。
Web端PHP代码函数覆盖率测试解决方案:
主要是结合xdebug和Spike PHPCoverage这两个工具进行统计:
原创网址:http://blog.csdn.net/httpnet/article/details/1707377
辅助参考:
http://www.cnblogs.com/xuning/archive/2015/11/09/4950110.html
http://blog.jobbole.com/97236/
我是win10:
win8上安装tortoisegit1.8.12 64位时无法安装,报2503错误。查资料,经测试后可以安装。

这是Win8系统的权限问题,可以如下解决:

1.运行CMD(管理员权限):
  在桌面直接使用 WIN+X 组合键 在弹出菜单目录中选择 运行命令提示符(管理员) ;
  也可以在桌面直接使用 WIN+X+A 组合键操作;
2.输入以下命令: msiexec /package "你安装程序包的路径"(例如:msiexec /package "d:\soft\TortoiseGit-1.8.12.0-64bit.msi" )


msiexec /package "E:\download\TortoiseGit-2.2.0.0-32bit.msi“


From:http://www.bubuko.com/infodetail-1022395.html
背景:删除文件时吧 /root/ 里面的文件删除了.过程如下:
[root@localhost x86_64]# ll
total 534136
-rwxr-xr-x 1 www  www    6227876 May  4 13:45 amoeba-2.1.0-160504134426.el6.x86_64.rpm
-rwxr-xr-x 1 www  www     149892 Apr 26 18:11 apcu-php56-4.0.11-160426181109.el6.x86_64.rpm
-rwxr-xr-x 1 www  www     114160 May  5 11:12 apcu-php70-5.1.3-160505111247.el6.x86_64.rpm
-rwxr-xr-x 1 www  www   25338712 May 27 15:40 berkeleydb-6.2.23-160527153833.el6.x86_64.rpm
-rwxr-xr-x 1 www  www   27203008 Jun 23 14:57 elasticsearch-2.3.3-160623145745.el6.noarch.rpm
drwx------ 3 root root      4096 Jul 15 15:20 $HOME

rm -Rf '$HOME'

[root@localhost x86_64]# rm -Rf $HOME
[root@localhost x86_64]# echo $HOME
/root
[root@localhost /]# ls /root
ls: cannot access /root: No such file or directory

cd /data/www/yum/centos/7/x86_64
rm -Rf usr
rm -Rf lib
rm -Rf lib64
rm -Rf boot
rm -Rf data
rm -Rf dev
rm -Rf etc
rm -Rf home
rm -Rf '$HOME'
rm -Rf  lost+found
rm -Rf  media
rm -Rf  mnt
rm -Rf  opt
rm -Rf  proc
rm -Rf  repodata
rm -Rf  root
rm -Rf  root_901
rm -Rf  run
rm -Rf  sbin
rm -Rf  srv
rm -Rf  sys
rm -Rf  tmp
rm -Rf  usr
rm -Rf  zabbix
rm -rf bin
rm -Rf selinux software var
rm -Rf lamp
rm -Rf scp.sh screenquit.sh temp.retry web.retry mysql.retry mountIrdcBackUp.sh irdcops.retry install.sh install.log.syslog install.log id_rsa debug.retry crontab_ntpdate  anaconda-ks.cfg monitor.sh
rm -Rf  a getip
============================================================
解决办法:
.mkdir /root

cp -a /etc/skel/.[!.]* /root



主要是吧 /etc/skel/里面的文件拷贝回去就行了~~~哈..


cp -r /etc/skel/.bash
.bash_logout   .bash_profile  .bashrc  
法一:
cp -a /etc/skel/.[!.]* /root
chown -R root /root
chmod -R 700 /root

法二:从别的linux上拷贝一个root过来,后面删除时注意一下:
带你飞(39345****)  11:37:21
@回忆未来-向东-Jàck rm '$HOME'
加个引号就行了

参考:http://blog.csdn.net/wlqf366/article/details/50081389
分页: 11/196 第一页 上页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]