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