Linux几个问题小记

一、bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory

写好上传的脚本如果出现这个错误,第一个想到的问题应该是文档的格式是不是unix。当然我觉得会写脚本的人都应该知道这个问题了。

原因是Windows保存的BASH是DOS格式的,每一行的行尾以/r/n来标记,在unix下运行这东西自然就有错误了。

解决办法有改下几个:

1、转换格式,用Vi 打开文件,输入命令

:set filefomat=unix

然后保存退出。

2、在Linux中,文本文件用”n”表示回车换行,而Windows用”rn”表示回车换行。把这些字符替换了。

用Vi 打开文件,输入命令

:%s/^M//g

然后保存退出。

3、使用转化命令:

dos2unix filename

必要的时候要用

sudo dos2unix filename

4、在Windows下使用UltraEdit转换,至于我为什么会有这个问题,就是因为我用的是Notepad++

5、直接用VI 编辑器写bash

接下来找算去找个破解版的UltraEdit,能不记命令时我还是懒得记命令的,虽然状元顶我说,你妹你连五笔都给记了。

 

二、tar removing leading “/” from member names

这个问题出现在我打包备份文件时,查看了某博客,如下解释:

tar备份打包时,默认为相对路径;而排除匹配式默认也是全路径匹配的所以,在打包时,会提示:“tar: Removing leading `/’ from member names”除非你使用-P参数或特定的参数指定。
它是tar命令为了避免不必要的错误而做的限制。如果用户在压缩文件时使用了绝对路径,那么tar会自动的剥离掉第一个‘/’。

例如,你想备份/etc的内容:

$tar -zcvf etc.gz /etc

生成了一个压缩包,那么在解压这个压缩包的时候,内容会被写入到/etc这个目录,可能潜在的造成风险。 经过tar剥离第一个’/’后,解压时压缩包的内容会被释放到当前目录,即:./etc。

如果非要使用绝对路径,那么请加-P参数。

如果想盖面解压缩目录,请加-C参数。

注意,如果出现tar: Exiting with failure status due to previous errors,是因为待压缩的文件夹是root权限创建的,而执行tar的时候未加sudo。

注:脚本执行的时候默认是在用户目录下,在执行tar之前cd切换到要打包的目录就没有提示了

也不知是不是我IQ有问题,我认认真真地看了三遍,才马马虎虎地理解了一点。大约是,如果不把“/”这个去掉,原地解压文件时会替换掉原来的文件,存在风险。

 

三、打包PHP配置文件时,ssh_config 与sshd_config 有什么区别:

ssh_config 是针对客户端的配置

sshd_config 是针对服务端的配置

 

四、Lnmp 0.9 下Wordpress 3.4 无法浏览和编辑主题

错误如下:

Warning: scandir() has been disabled for security reasons in /home/wwwroot/yourdomain.com/wp-includes/class-wp-theme.php on line 978

Warning: Invalid argument supplied for foreach() in /home/wwwroot/yourdomain.com/wp-includes/class-wp-theme.php on line 981

Warning: scandir() has been disabled for security reasons in /home/wwwroot/yourdomain.com/wp-includes/class-wp-theme.php on line 978

Warning: Invalid argument supplied for foreach() in /home/wwwroot/yourdomain.com/wp-includes/class-wp-theme.php on line 981

原因是Lnmp 0.9 禁用了部分存在危险的PHP函数。

解决办法:

编辑PHP配置文件:

vi /usr/local/php/etc/php.ini

寻找disable_functions,将后面的 scandir 删除(提示:vi下可输入/,进入搜索模式,轻松找到disable_functions)

重启PHP生效

/etc/init.d/php-fpm restart

可参看此处

加入对话

9条评论

    1. 我还称不上技术控吧,只是乐于记录。 [兔20]
      其实那时也有技术文的,但记得不够勤快,还很水,都是仿别人的,不好意思发。
      现在自己懂的多了,越玩越难了,懂的人少了,但内容原创性也高了。希望能帮到那此搜索进来的人。 [洋葱头15]

  1. 有什么不懂的直接man一下好了 …… 我也懒得记多如牛毛的命令,因为有man和textinfo为我等懒人服务……

留下评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据