一些Linux管理学习笔记。
1. 安装 webmin
# 安装 webmin cd /usr/local/ieternal/ mkdir download cd download wget http://downloads.sourceforge.net/project/webadmin/webmin/1.660/webmin-1.660-1.noarch.rpm?r=http%3A%2F%2Fwww.webmin.cn%2F&ts=1387801624&use_mirror=jaist rpm -U webmin-1.660-1.noarch.rpm # 此时,可以通过: http://115.28.9.136:10000/ 进行访问,用户名,密码是root的.
# 如果要修改语言,请登录以后,选择
# Webmin –> Change Language and Theme,然后在右边进行选择,可以选择SImplexxx中文.然后保存,刷新即可.
2. SSH Tunnel端口转发,端口代理
############################################## #### SSH Tunnel; 经测试,已经打通 ############################################## # 公网服务器外网IP: 115.28.9.136 # 公网服务器内网IP: 10.144.7.195 # 内网服务器内网IP: 10.144.7.191 ### 1 先登录 115.28.9.136 ssh root@115.28.9.136 -p 22 #通过 webmin 修改 ssh配置,并应用变更 # 实质是 /etc/ssh/sshd_config 文件 GatewayPorts yes ### 2 在 136 上登录 10.144.7.191 ssh root@10.144.7.191 -p 22 ### 3 在 10.144.7.191 上执行: # 即通过此SSH后台登陆 195机器,监听了 195:19122端口, # 此时访问 136:19122 的请求,相当于都转发到本地的22端口了。 # -Nf 是后台命令的意思 ssh -Nf 10.144.7.195 -R 19122:10.144.7.191:22 # 此时,客户端通过 115.28.9.136:19122 登录,实际上登陆的就是 10.144.7.191:22 服务器了。
3. 安装squid代理
##### 1. 安装squid yum -y remove squid yum -y install squid ##### 2. 修改配置文件 #搜索”http_access deny all”改为”http_access allow all” # ESC, /http_access 可以进行搜索 vim /etc/squid/squid.conf # 执行以下修改 #http_access deny CONNECT !SSL_ports http_access allow CONNECT !SSL_ports #http_access deny all http_access allow all #coredump_dir /var/spool/squid coredump_dir /usr/local/ieternal/squid_cache ##### 3. 设置缓存目录 ##### !!!必须修改该目录的所属用户及用户组 mkdir /usr/local/ieternal/squid_cache chown squid:squid /usr/local/ieternal/squid_cache cd /usr/local/ieternal/squid_cache/ /usr/sbin/squid -k shutdown /usr/sbin/squid -z ##### 4. 启动 #/usr/sbin/squid service squid start ##### 5. 查看监听端口状态 netstat -ntl
一本很好的中文翻译书: 《Squid中文权威指南 》 http://www.linuxidc.com/Linux/2011-05/36276.htm
4. 在内网机器上设置yum代理
#### 在191上执行:设置代理 #yum的代理可以单独设置 vim /etc/yum.conf # 在最后加上 proxy=http://10.144.7.195:3128 # 也可以如此执行 #cp /etc/yum.conf /etc/yum.conf_original #echo 'proxy=http://10.144.7.195:3128' >> /etc/yum.conf #在Linux的命令行底下,一般的程序都是使用http_proxy和ftp_proxy这两个环境变量来获得代理设置的。 #所以只要使用export http_proxy=10.144.7.195:3128就可以使用代理了。 #export http_proxy=10.144.7.195:3128 # 如果要设置系统级别的代理,使用如下语句: #vim /etc/profile #http_proxy="10.144.7.195:3128" #export_http_proxy
完整的命令如下所示:
cp /root/.bash_profile /root/.bash_profile_bak_1231 echo 'http_proxy=10.144.7.195:3128' >> /root/.bash_profile echo 'export http_proxy' >> /root/.bash_profile source /root/.bash_profile echo $http_proxy
此时,可以使用yum安装,更新软件了
5. 使用 kill 杀死某些僵死的进程
# 查看含有tomcat的进程 ps -aux | grep tomcat # 杀死指定的进程 # xxx 是看到的进程号 kill -9 xxx # 重新启动tomcat # ... ...
6. 远程主机签名更改的解决办法
因为重置了131服务器,所以从linux上再次登录时提示远程主机已更改,提示的信息如下:
[root@AY1312181745044978b4Z ~]# ssh 10.144.169.131 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 36:86:33:b9:61:f8:fc:92:df:0b:d7:b3:ae:e5:4e:fb. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:2 RSA host key for 10.144.169.131 has changed and you have requested strict checking. Host key verification failed.
其实从上面的信息提示可以知道,需要修改 /root/.ssh/known_hosts 。解决方式是将此IP对应的行删除即可。
操作方式是使用 vi 或者 vim 打开该文件,然后按ESC进入命令模式(如果按 a 或者 i 则进入编辑模式),并定位到需要删除的行,按 dd 即可删除一行。
vim ~/.ssh/known_hosts
7. 安装rzsz
在XShell或者其他ssh客户端工具中,可以使用 rz来选择文件上传,也可以用 sz 选择文件下载。所以是个很好用的工具。
安装很简单:
yum install lrzsz -y
下载文件示例:
sz /etc/init.d/mysql
执行此命令后,会弹出一个对话框,选择本地存放路径后就开始下载. 但是对命令行显示可能会有些延迟,完成操作后再按一次回车即可
至于rz的操作,就更简单了,先 cd 到需要上传的路径,然后执行 rz 命令即可. 然后也是弹出对话框,选择文件上传。
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2016-06/131994p2.htm
8. 查看磁盘空间使用情况
# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 6.1G 13G 33% / tmpfs 939M 0 939M 0% /dev/shm /dev/xvdb1 50G 21G 26G 45% /usr/local/ieternal
9. 查看当前目录的空间大小
# du -ch --max-depth=1 4.5G ./video_source 270M ./client 8.5G ./video 23M ./family 14M ./sid 341M ./repository 20M ./guide 127M ./style 1.5G ./photo 2.0G ./music 3.0G ./video_dest 21G . 21G total
-c 是在最后做一个统计的信息, -h 是显示人工可读的统计信息,如270M, 4.5G,等。 最大深度设置为1. 更多选项可以使用 “man du” 来查看
-s 是只显示汇总信息(–summarize),
-h 是显示人类可读的信息(–human-readable)
所以只需要查看单个目录的大小事可以使用:
# du -sh /usr/local/ieternal/mysql_data 28G /usr/local/ieternal/mysql_data
10. 安装JDK
# 查看可用列表 yum list Java* # 然后安装JDK7,openJDK6有bug,所以... yum install java-1.7.0-openjdk* -y
检查是否安装正确:
# java -version java version "1.7.0_45" OpenJDK Runtime Environment (rhel-2.4.3.4.el6_5-x86_64 u45-b15) OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode) # javac -version javac 1.7.0_45
11. 设置 wget 代理
wgetrc 的详细参考地址: http://www.gnu.org/software/wget/manual/html_node/Sample-Wgetrc.html
echo 'https_proxy=http://10.144.7.195:3128/' >> $HOME/.wgetrc echo 'http_proxy=http://10.144.7.195:3128/' >> $HOME/.wgetrc echo 'ftp_proxy=http://10.144.7.195:3128/' >> $HOME/.wgetrc
12. 安装 tomcat
# 创建下载目录 mkdir /usr/local/ieternal/download # 进入下载目录 cd /usr/local/ieternal/download # 下载文件 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz # 解压文件 tar -zxf apache-tomcat-6.0.37.tar.gz # 剪切目录 mv apache-tomcat-6.0.37 /usr/local/tomcat # 进入tomcat配置目录 cd /usr/local/tomcat/conf/ # 备份原始的配置文件 cp -a /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml_original # 按需要编辑 vim /usr/local/tomcat/conf/server.xml
完整的一个示例如下: 其中配置了 2个主机域, 其中也包括默认域的配置,并将 根目录 与 upload 目录都映射到了自定义文件夹。
需要注意的是,默认是不能有汉字存在的,因为默认保存的是ANSI编码。
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> <Listener className="org.apache.catalina.core.JasperListener" /> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html --> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <!-- Global JNDI resources Documentation at /docs/jndi-resources-howto.html --> <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <!-- renfufei,20131229,not loadbalance --> <Service name="Catalina"> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="250" minSpareThreads="20"/> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla,traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json,application/javascript,application/x-javascript" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" executor="tomcatThreadPool" URIEncoding="UTF-8"/> <Engine name="Catalina" defaultHost="www.renfufei.com"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="www.renfufei.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>localhost</Alias> <Alias>www.renfufei.cn</Alias> <Alias>renfufei.com</Alias> <Alias>renfufei.cn</Alias> <Context docBase="/usr/local/renfufei/upload" path="/upload" /> <Context docBase="/usr/local/renfufei/index" path="" /> </Host> <Host name="m.renfufei.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>m.renfufei.com</Alias> <Alias>m.renfufei.cn</Alias> <Context docBase="/usr/local/renfufei/upload" path="/upload" /> <Context docBase="/usr/local/renfufei/blog" path="" /> </Host> </Engine> </Service> </Server>
13. 安装FFMpeg转码程序
FFMpeg 是一个集播放,采集输入源,解码,转码,影音服务器这些功能的强大开源类库。我们主要用于转码。
编译安装的方式,需要下载源码包,大体操作如下:
#### Tran1 上 首先安装编译环境。 yum install -y automake autoconf libtool gcc gcc-c++ yum install make 下载所需文件 ffmpeg.tar wget http://m.ieternal.com/upload/ffmpeg.tar 解压ffmpeg.tar tar xvf ffmpeg.tar 切换到ffmpeg目录下,执行以下命令。 ./configure --prefix=/usr -- disable-yasm make make install 测试转码命令,注意区分文件名的大小写 包括后缀 ffmpeg -i /usr/local/movi/qq.mov -r 25 -b 3200k -vcodec mpeg4 -ab 128k -ac 2 -ar 44100 /usr/local/movi/kk.mp4。
Linux下编译FFmpeg之下载源文件并编译 http://www.linuxidc.com/Linux/2012-02/54565.htm
Linux 编译升级 FFmpeg 步骤 http://www.linuxidc.com/Linux/2013-08/88190.htm
CentOS 5.6 上安装 FFMPEG http://www.linuxidc.com/Linux/2011-09/42793.htm
在Ubuntu下安装FFmpeg http://www.linuxidc.com/Linux/2012-12/75408.htm
Ubuntu 12.04下编译ffmpeg http://www.linuxidc.com/Linux/2013-02/78857.htm
Ubuntu 14.04下PPA安装FFmpeg 2.2.2 http://www.linuxidc.com/Linux/2014-05/101322.htm
FFmpeg 的详细介绍:请点这里
FFmpeg 的下载地址:请点这里
另外一种是采用别人已经构建编译好的版本,如下所示:
#########
#Tran2.3.4上:
#下载目录: http://ffmpeg.gusari.org/static/64bit/
#01-02版本: d1062ad9c208267241b6dfac7fa4ea25 (md5)
# 创建目录并下载
mkdir /usr/local/ieternal/download
mkdir /usr/local/ffmpeg
cd /usr/local/ieternal/download
wget http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-01-02.tar.gz
mv /usr/local/ieternal/download/ffmpeg.static.64bit.2014-01-02.tar.gz /usr/local/ffmpeg/ffmpeg.tar.gz
cd /usr/local/ffmpeg
# md5校验
md5sum ffmpeg.tar.gz
# 解压到当前目录
tar zxf ffmpeg.tar.gz
# 设置 Path
cp /root/.bash_profile /root/.bash_profile_bak_0102
echo ‘PATH=$PATH:/usr/local/ffmpeg’ >> /root/.bash_profile
echo ‘export PATH’ >> /root/.bash_profile
source /root/.bash_profile
echo $PATH
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/131994.htm