本文转

这个错:configure:error:libjpeg.(a|so) not found
检查一下:
[root@cheng Nginxsource]# rpm -qa |grep libjpeg
libjpeg-6b-46.el6.x86_64
libjpeg-devel-6b-46.el6.x86_64                #貌似我明明安装了
看了找不到库文件那我就给他复制一份:

1.          cp  -frp /usr/lib64/libjpeg.* /usr/lib/  
#configure:error:libjpeg.(a|so) not found 报错搞定

2. 注意过程中还会提示" Configure: error: libpng.(also) not found."错误,解决办法和上面的一样.
cp -frp /usr/lib64/libpng* /usr/lib/

3.如果提示"configure: error: Cannot find ldap libraries in /usr/lib."
cp -frp /usr/lib64/libldap* /usr/lib
#好的搞定了报错
linux下碰到不能设置时区的问题,也偶尔有提示类似的错误,参考此文可解决

引用
locale.Error:unsupported locale setting

1、错误提出
(1)locale指令运行出现的错误信息
locale:Cannot set LC_CTYPE to default locale: No such file or directory
locale:Cannot set LC_MESSAGES to default locale: No such file or directory
locale:Cannot set LC_ALL to default locale: No such file or directory
(2)setup指令运行出现的错误信息
locale.Error:unsupported locale setting,导致无法设置“network configuration"
(3)yum指令运行出现的错误信息
Failed to set locale, defaulting to C

2、分析原因
locale是用来设置软件运行的语言环境,所以语言环境设置有问题

3、解决故障
重新设置语言环境,最简单的解决办法,例如:
[root@Mylinux ~]#  echo "export  LC_ALL=en_US.UTF-8"  >>   /home/XXX/.bash_profile(特定用户)
或者
[root@Mylinux ~]#  echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile(所有用户)
[root@Mylinux ~]#  exit
然后重新登录,使用locale指令查看变量



关于locale的设置,请查阅文章:《Linux系统locale的设置

查看原文
JavaScript shell 是一个可以在shell 命令行下执行js脚本的命令。
好像没啥用处,要执行什么任务,大把的编程语言可以搞定,为啥要这东西呢?
小众东西有小众用途,这个的功效当然是特殊情况下使用了。

阿权找JavaScript shell这个东西,是碰到了一个问题:
下载某个网站的图片,图片加了防盗链,防盗链的做法很新奇,用js计算出验证码,然后用新的地址访问即可正常。

既然这样,如何破?

1 把算法用php重新做一遍。这个比较费力,脚本写的还很复杂,每次都换
2 用shell执行脚本,得到需要的结果。

一 安装JavaScript shell

下载编译好的二进制吧:Nightly Builds
解压即可使用

二 做个脚本测试一下:

alert("test");

运行一下
引用
./js a.js
a.js:1:0 ReferenceError: alert is not defined


这个问题的发生,也就了解了它的局限性,不是每个脚本函数都支持的,内置功能可以阅读文章后面的参考文章。
看到这个情况,很容易产生一个做法,定义alert就好,是吧?
在a.js里加上
function alert(str){ print(str);}

我们可以看到,shell里有输出test

这个就正常了,逐步调试就可以知道对方脚本调用了什么对象,定义并且输出到命令行即可。

比如:
a.js:2:0 ReferenceError: window is not defined
肯定是调用了 window.xxx 的方法了,我们定义一个window对象
var window = {};
加入脚本前头,再执行:
a.js:3:0 TypeError: window.open is not a function
修改window对象为:var window = {open:function(url){print(url);}};
这个就把打开的网址给打印出来啦,任务完成

三 用途:

php在获取了脚本后,匹配出脚本内容,在内容前加上刚才window的定义
用shell执行脚本内容,获得跳转地址,重新下载

附送正则表达式参考:
preg_match("/<script>(((?!<\/script>).)+)<\/script>/i", $data, $matches);


四 linux下如果提示这个
./js: symbol lookup error: ./js: undefined symbol: PR_SetCurrentThreadName


那可以安装需要的东西:
yum -y install nspr firefox xulrunner


五 参考内容:
Introduction to the JavaScript shell
不包含某字符串的字符串匹配 (正则表达式)
使用正则表达式找出不包含特定字符串的条目
简单说,strace是可以跟踪一个程序在做什么的命令。

一 它可以监控某个要执行的命令,比如平时最常见的ls命令:

[root@localhost a]# strace ls
execve("/bin/ls", ["ls"], [/* 26 vars */]) = 0
brk(0)                                  = 0x11a8000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4792b00000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=63053, ...}) = 0
mmap(NULL, 63053, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4792af0000
close(3)                                = 0
open("/lib64/libselinux.so.1", O_RDONLY) = 3
....


由上面可以看出,打开的是那个文件,还有依赖的文件

二 也可以监控正在执行的命令,比如nginx

[root@localhost a]# ps aux|grep nginx
root      1496  0.0  0.0 127536  1564 ?        Ss   Sep18   0:00 nginx: master process /Data/apps/nginx/sbin/nginx
daemon    1499  2.2  0.2 162008 36640 ?        S    Sep18 128:43 nginx: worker process      
...
[root@localhost a]# strace -p 1499
Process 1499 attached - interrupt to quit
epoll_wait(25, {{EPOLLIN|EPOLLOUT, {u32=3002737265, u64=140018936586865}}}, 512, 141) = 1
recvfrom(1067, "", 16384, 0, NULL, NULL) = 0
close(1067)                             = 0
epoll_wait(25, {{EPOLLIN|EPOLLOUT, {u32=3002704696, u64=140018936554296}}}, 512, 138) = 1
recvfrom(812, "\1\6\0\1\3v\2\0X-Powered-By: PHP/5.2.13"..., 4096, 0, NULL, NULL) = 4096
readv(812, [{".aslibra.com/\" target=\"_blank"..., 4096}], 1) = 4096
...


由上面可以看出,nginx在从后端的php接收数据

三 用strace细节可以做什么呢?

1 监测程序做什么: strace 命令
2 监测某个进程:strace -p pid
3 参数,man strace可以获知每个参数说明,说一些常用的:
监测每个步骤花了多少时间: -t 秒 -tt 毫秒 -ttt 时间戳
统计每个操作类型的用时 -c
只列举指定的操作 -e,比如 -e open,只列出打开文件的操作
输出到文件 -o filename
记录相对时间 -r
引用
在安装ImageMagick出现这个错误!可能是没安装perl-CPAN

运行:

yum -y install perl-CPAN

这个命令之后再重新编译一下试试看!

我的环境是centos6

至于你们的好不好, 反正我的是好了!


from: http://hi.baidu.com/wanyujun/item/998350c5d254fc63f7c95d9d
分页: 4/33 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐