linux 笔记
1. 下载 wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.3.tgz
2. 解压 tar zxvf mongodb-linux-x86_64-2.2.3.tgz
3. 切换用户 sudo su
4. 修改文件名称 mv oldname newname
5. 创建目录 mkdir filename
6. 设置端口 vi /etc/sysconfig/iptables
1. 下载 Linux 版本的 MongoDB 数据库
到官方的下载页面下载 mongodb 的 Linux 版本,32 位还是 64 位根据自己的情况自行选择
http://www.mongodb.org/downloads
或者直接使用 wget 在服务器上下载
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz
点击查看原图
下载完成后解压缩压缩包
tar zxf mongodb-linux-i686-1.8.2.tgz
2. 安装准备
将 mongodb 移动到 /usr/local/mongdb 文件夹
mv mongodb-linux-i686-1.8.2 /usr/local/mongodb
创建数据库文件夹
mkdir /usr/local/mongodb/data
将 mongodb 启动项目加入 rc.local 保证 mongodb 在服务器开机时启动
echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data" >> /etc/rc.local
启动 mongodb
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data
看到下图的输出就说明 mongodb 启动了
点击查看原图
当然如果你还不放心,可以运行下列命令
/usr/local/mongodb/bin/mongo
来进入 mongodb 的 shell 模式,如果看到下列输出,那么表示 mongodb 已经启动成功,Have fun!
点击查看原图
2014-7-11
手动 清除 缓存
#free -m 用于查看
#echo 1>/proc/sys/vm/drop_cached
#fee -m
2014-8-19
linux 硬件时间同步系统时间 没隔 5 分钟
下方法解决这个问题。
1. 写一个 shell 脚本,同步系统时间和硬件时间。
#vi sj.sh // 编译 shell 脚本,内容如下:
#!/bin/sh
hwclock --hctosys
2. 定时执行 sj.sh 的脚本。
#crontab -e
*/ 5 * * * * /root/cron/sj.sh // 每五分钟执行一次“root/cron 下的 sj.sh 脚本”
可是时间还是不同步,又纳闷了!!!后来发现了系统的以下的提示:
提示的错误为:在当前路径下没有“hwclock”的命令。于是我修改 sj.sh 的 shell 脚本如下:
#!/bin/sh
/usr/sbin/hwclock --hctosys
时间就会同步了。困扰多天的问题终于解决了。
Permission denied 拒绝访问
chmod 755 file 修改某个文件的权限为读写执行
关于安装 apache 的步骤
Linux 查看程序端口占用情况
今天发现服务器上 Tomcat 8080 端口起不来,老提示端口已经被占用。
使用命令:
ps -aux | grep tomcat
发现并没有 8080 端口的 Tomcat 进程。
使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是 PID/Program name
clip_image002
发现 8080 端口被 PID 为 9658 的 Java 进程占用。
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
clip_image004
就可以明确知道 8080 端口是被哪个程序占用了!然后判断是否使用 KILL 命令干掉!
1. 关于 apache 反向代码的一些问题 代理不出去的时候 run command
[error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:8080 (127.0.0.1) failed
[error] ap_proxy_connect_backend disabling worker for (127.0.0.1)
Solution: Run following command
/usr/sbin/setsebool httpd_can_network_connect 1
If that works, you can set it so that the default policy is changed and this setting will persist across reboots:
/usr/sbin/setsebool -P httpd_can_network_connect 1
Hope this saves others some time!
2014-09-24
log.io 启动时报错
error: File doesn't exist:'/pwp/server/messaage/logs/pwp.log' 原因是 message 写错了, 多了一个 a
Error: EACCES, open file nodejs 解决方法, 原因是没有权限, 得用 root 帐号登录进去才可以 启动相应的服务即可
2014-09-25
svn: Error converting entry in directory ‘pwp’ to UTF-8
原因是 pwp 目录下有中文转化不了, 解决方式是把 pwp 目录清空, 然后重新检出代码即可
一、CentOS 安装 TortoiseSVN
yum install -y subversion
二、SVN 客户端命令
1、将文件 checkout 到本地目录
svn checkout path(path 是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加 test.php)
svn add *.php(添加当前目录下所有的 php 文件)
3、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock 开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci
4、加锁 / 解锁
svn lock -m “LockMessage“ [--force] PATH
例如:svn lock -m “lock test file“ test.php
svn unlock PATH www.2cto.com
5、更新到某个版本
svn update -r m path
例如:
svn update 如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件 test.php 还原到版本 200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先 update,修改文件,然后清除 svn resolved,最后再提交 commit)
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在 svn 的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff 和 svn revert 这三条命令在没有网络的情况下也可以执行的,原因是 svn 在本地的.svn 中保留了本地版本的原始拷贝。
简写:svn st
7、删除文件
svn delete path -m “delete test fle“
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
或者直接 svn delete test.php 然后再 svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)
8、查看日志
svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
9、查看文件详细信息
svn info path
例如:svn info test.php
10、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本 m 和版本 n 比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di www.2cto.com
11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本 200 与 205 之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
12、SVN 帮助
svn help
svn help ci
——————————————————————————
以上是常用命令,下面写几个不经常用的
——————————————————————————
13、版本库下的文件和目录列表
svn list path
显示 path 目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以 URL 指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录
16、代码库 URL 变更
svn switch (sw): 更新工作副本至不同的 URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的 URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的 URL 元数据,以反映单纯的 URL 上的改变。当仓库的根 URL 变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。 www.2cto.com
18、输出指定文件或 URL 的内容。
svn cat 目标 [@版本]…如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本, 也可以写具体版本号, 这样输出结果是可以提交的)
新建并初始化版本库
1. 新建代码仓库
# svnadmin create /home/myrepos
这样,我们就在 /home 目录下新建了版本库 myrepos。
2. 初始化代码仓库
#mkdir -p code/{branches,tags,trunk}
按照 svn 手册上的建议,我们版本库的布局采用 branches/tags/trunk 这样的三个目录。然后可以将代码直接拷贝的 trunk 目录,也可以随后采用 svn add 的方式添加。
#svn import code file: ///home/myrepos
将我们构造好的版本库布局(以及代码,如果已经拷贝到 trunk 下的话)提交到版本库。由于这里我们是在本地操作,因此可以直接使用 file 协议方式提交。格式为:file:// + 版本库绝对的路径
OK,到这里我们已经构建了一个本地版本库,可以再本地使用 svn ci 的方法得到版本库的副本了。如果前面只是提交了版本库布局,而没有提交代码的话,则可以通过如下命令,提交版本代码:
#svn co file: ///home/myrepos/trunk repos
通常只从主线目录 trunk 下取出源码,放在了新建的 repos 目录。然后可以将源码拷贝到 repos 目录。
执行以下两条命令将代码添加的版本库。
#svn add *
#svn ci * -m "Committed codes"
首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。
用 forever 启动时
forever -a -l /pwp/branch/pwp_normalDev/server/socket/logs/pwp.log start app.js
2014-09-26
1.centos 6.2 安装 rar 压缩命令 后 报错 /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 解决
用 yum install ld-linux.so.2 再次压缩的时候 报 libstdc++so.6:cannot open shared object file:No such file or directroy
然后执行完 cp -rf rar/rar_static /usr/local/bin/rar 即可 然后种方式为 /usr/local/lsws/bin/lswsctrl start 本人没测试过
修复 /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 等相关问题
问题:群里的朋友问 rar 文件解压不了呢,问了下原来他的系统是 64 位的,于是执行下面的解决方法
1、在 64 系统里执行 32 位程序如果出现 /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
安装下 glic 即可
yum install glibc.i686
2、如果还提示 error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
则需要安装下 zlib 即可
yum install zlib.i686
3、有时执行完毕 1 还会提示 error while loading shared libraries: libstdc++so.6:cannot open shared object file:No such file or directroy
出现此问题执行 cp -rf rar/rar_static /usr/local/bin/rar 建立软链接 即可。 如有错误,敬请指正!
ubuntu 下 解压缩 以后 make make install 完了还不行 提示 sudo apt-get install rar 运行完 即安装成功 但是写不了文件 没权限 得用 root 用户登录即可 即能写文件 也可以压缩 OK