Benjamin

静以修身,俭以养德,非澹薄无以明志,非宁静无以致远。
随笔 - 397, 文章 - 0, 评论 - 196, 引用 - 0
数据加载中……

centos常用操作

一、centos7安装iptables防火墙:
1、关闭firewall(centos7默认防火墙):
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
service firewalld start # 启动
service firewalld restart # 重启 
service firewalld stop # 关闭
2、安装iptables防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
iptables -L -n    //查看iptables状态
systemctl list-unit-files --type=service   列出所有活动(激活的、未激活的)
systemctl states iptables.service   #查看iptables服务器状态
systemctl is-active iptables.service  #激活iptables

打开某个端口的防火墙

#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
然后保存(很重要):
#/etc/init.d/iptables save
 
查看打开的端口:
# /etc/init.d/iptables status

极端情况

#关闭防火墙
/etc/init.d/iptables stop


 

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT这个命令是无效的,切记!!在centos6.5的环境下

 


centOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
centos 7的yum源中只有MariaDB,默认是没有安装的,要手动安装。安装过程如下:
 yum -y install mariadb*   #安装MariaDB相关软件
systemctl start mariadb.service   #启动MariaDB
systemctl enable mariadb.service   #开机启动
mysql    #进入mysql
mysql_secure_installation   #配置mysql
进入mysql,开启远程root访问:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '111111' WITH GRANT OPTION;
flush privileges;  #数据数据库,使其立即生效


centos 6安装mysql:
yum install -y mysql-server mysql mysql-deve  #安装mysql命令
service mysqld start   #启动mysql服务
service mysqld restart   #重启mysql服务器
chkconfig --list | grep mysqld  #查看mysql是否开机启动(适用于centos6)
chkconfig mysqld on   #mysql开机启动(适用于centos6)
安装错误提示:Another app is currently holding the yum lock; waiting for it to exit...
yum以及在运行中,yum现在处在锁定中.
用常规的kill命令无法删除,需要rm -f /var/run/yum.pid命令来删除.

初次设置初次安装mysql密码
设置密码的方法
# mysql -uroot
UPDATE mysql.user SET Password = PASSWORD('1234') WHERE User = 'root';
FLUSH PRIVILEGES;
重设密码:
方法一
 mysqladmin -u root flush-privileges password "newpwd"
方法二
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;

centos默认防火墙常用操作:
firewall-cmd --zone=public --add-port=3306/tcp --permanent    //打开3306端口
firewall-cmd --reload    //重新加载防火墙
systemctl stop firewalld.service           //关闭防火墙
systemctl start firewalld.service           //打开防火墙
 firewall-cmd --state                  //查看防火墙状态
firewall-cmd --list-all                //防火墙开服端口列表

/usr/bin/ld: cannot find -lmysqlclient
vim /etc/ld.so.conf
加入mysqlclient的路径,执行ldconfig
拷贝mysqlclient的路径下的所有so文件和a文件到/usr/lib

二、
Linux/CentOS 升级C基本运行库CLIBC的注意事项(GLIBC_2.x找不到的编译问题)
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。
glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现..


查看当前系统libc版本号:ll /lib64/libc.so.6  
wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
tar -xvf  glibc-2.15.tar.gz
tar -xvf  glibc-ports-2.15.tar.gz
mv glibc-ports-2.15 glibc-2.15/ports
mkdir glibc-build-2.15 
cd glibc-build-2.15
../glibc-2.15/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make 
make install  
查看glibc所在的共享库:
ll /lib64/libc*  


有些人会在make install后出现error。可能是因为没有sudo造成的,因为make install就是把文件拷贝到几个受保护的系统目录下。

如果还是不行,可以查看一下系统此时的GLIBC版本,参考一开始的做法。如果版本未升级,我们只能手动安装一下:
首先make是成功了,那么我们会发现build目录下编译出了一个新的libc.so.6 (/glibc-build-2.15/libc.so.6, 我们会发现这实际上也是一个软连接,真实的lib文件时libc.so, 输出
 ll  libc.so.6  
lrwxrwxrwx 1 root root 7 Sep 23 07:41 libc.so.6 -> libc.so  

strings libc.so | grep GLIBC  
GLIBC_2.2.5  
GLIBC_2.2.6  
GLIBC_2.3  
GLIBC_2.3.2  
GLIBC_2.3.3  
GLIBC_2.3.4  
GLIBC_2.4  
GLIBC_2.5  
GLIBC_2.6  
GLIBC_2.7  
GLIBC_2.8  
GLIBC_2.9  
GLIBC_2.10  
GLIBC_2.11  
GLIBC_2.12  
GLIBC_2.13  
GLIBC_2.14  
GLIBC_2.15  
GLIBC_PRIVATE  

这是我们需要的lib了,然后去更新系统的库。

这里要注意,更新系统里的链接(我的是/lib64/libc.so.6) 很容易出错,一般都是删除旧链接,建立新链接
但删除旧链接后,很多命令直接不能用了,因为此时中不到glibc的库了。这个时候就需要临时指定一个glibc库,方法如下(libc.so改个名以便好以后更新的其他版本区分):

cp /****/glibc-build-2.15/libc.so /lib64/libc-2.15.so  
rm -rf /lib64/libc.so.6  
LD_PRELOAD=/lib64/libc-2.15.so ln -s/lib64/libc-2.15.so  lib64/libc.so.6  
更新连接完毕,然后:
$ strings /lib64/libc.so.6 | grep GLIBC  
GLIBC_2.2.5  
GLIBC_2.2.6  
GLIBC_2.3  
GLIBC_2.3.2  
GLIBC_2.3.3  
GLIBC_2.3.4  
GLIBC_2.4  
GLIBC_2.5  
GLIBC_2.6  
GLIBC_2.7  
GLIBC_2.8  
GLIBC_2.9  
GLIBC_2.10  
GLIBC_2.11  
GLIBC_2.12  
GLIBC_2.13  
GLIBC_2.14  
GLIBC_2.15  
GLIBC_PRIVATE  
说明连接更新成功,再编译的话,GLIBC_2.15及以下版本的依赖问题就不会出现了。
在升级过程中无须停止正在运行的程序,高版本是兼容低版本的。它没有回滚功能,如果安装了高版本的c库,想退回到上一个版本,没可能,要注意

在编译升级到高版本gcc中,常见的错误:

configure: error: C++ compiler missing orinoperational

make[2]: \*** [configure-stage1-libcpp]Error 1   

make[2]: Leaving directory`/home/liukk/gcc-4.8.1'   

make[1]: \*** [stage1-bubble] Error 2   

make[1]: Leaving directory `/home/liukk/gcc-4.8.1'   

make: \*** [all] Error 2


解决办法:

安装如下内容:

yum install gcc-c++



三、其他:
查找命令:
遍历当前文件夹下所有文件,查看文件中是否有"msg_gl_ask_active_wepfac"
find . -type f -print | xargs grep "msg_gl_ask_active_wepfac" 

文件内容查找命令grep
grep 命令用于查找指定的模式匹配,格式为:
grep [命令选项] 要查找的匹配模式 [要查找的文件]
例如:
grep cams test.txt 在 “test.txt” 文件中查找cams 字符串;
grep -r cams /root/cams 在 “/root/cams” 目录及其子目录下的所有文件中,查找cams 字符串;
grep 命令除了能够查找文件外,还能够将任意输出流重定向到grep 进行查找:
ps -ef | grep ora 查找进程名中包含 “ora” 的所有进程信息。


安装vim配件:
wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x
wget https://raw.github.com/ma6174/vim/master/setup.sh -Oma6174_vim_setup.sh && bash ma6174_vim_setup.sh
如果在安装过程中提示BundleInstall不是编辑器命令,需要先安装Vundle ,具体的安装过程及注意事项请看https://github.com/VundleVim/Vundle.vim


svn升级:
centos通过yum命令安装的svn版本比较低,如果想升级到目前最新的1.9
1、创建一个新文件vi /etc/yum.repos.d/wandisco-svn.repo,添加内容如下:如果是centos7将baseurl中的6改成7
[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/6/svn-1.9/RPMS/$basearch/
enabled=1
gpgcheck=0
2、安装第三方yum源
yum install epel-release
3、yum clean all;yum makecache; yum install subversion

更改yum源
1、备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、进入yum源配置文件所在文件夹
cd /etc/yum.repos.d/
3、下载163的yum源配置文件,放入/etc/yum.repos.d/(操作前请做好相应备份)
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo;
yum clean all;yum makecache  #生成缓存
yum -y update #更新系统:更新后如果安装还有问题请使用此命令更新系统

ntpdate asia.pool.ntp.org  //linux同步时间,服务器是西安时间服务器
date -s 06/12/15  //更改系统时间(格式:月、日、年)

#更改linux系统编码
vi   /etc/profile
在文件最后加上  export LC_ALL="zh_CN.UTF-8" 
export LANG="zh_CN.UTF-8"
source /etc/profile使文件立即生效
echo $LANG 显示默认编码

CentOS #include <uuid/uuid.h> 找不到文件解决方法:

sudo yum install e2fsprogs-devel
 sudo yum install uuid-devel
 sudo yum install libuuid-devel



 错误:readline/readline.h:没有那个文件或目录
错误:readline/history.h:没有那个文件或目录
l: In function ‘pushline’:
l警告:隐式声明函数 ‘readline’
 警告:赋值时将整数赋给指针,未作类型转换
In function ‘loadline’:
 警告:隐式声明函数 ‘add_history’

解决方法:
yum install libtermcap-devel ncurses-devel libevent-devel readline-devel


 

svn: E670002: 未知的名称或服务

报错的原因是域名解析不了

把域名改成服务器的Ip


 

no server suitable for synchronization found
解决方法:

 

 

第1:先要确定,系统确实可以上网,ping baidu.com 能通就行

第2:/usr/sbin/ntpdate stdtime.gov.hk 就行了。


 


 



posted on 2015-12-14 22:47 Benjamin 阅读(485) 评论(0)  编辑 收藏 引用 所属分类: linux


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理