一、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
就行了。