Scientific Linux 7 常用软件安装(支持7.2/7.3/7.4)

请注意:请不要安装7.0/7.1/7.5,这几个版本跟我们常用软件存在冲突

吴鸿毅(wuhongyi@qq.com)

更新于 2018 年 11 月 03 日 - 北京大学 - 技物楼

以下终端命令中,没有$开头的表示需要root权限。

对大多数联想电脑,因为联想没提供无线网卡的驱动给LINUX组织,因此安装后无线网卡默认是无法使用的。如想使用无线上网,还需自行安装无线网卡驱动。本人没有联想笔记本,因此这里无法给出其无线网卡驱动的安装教程。

Scientific Linux 7 安装

_images/ScientificLinux7Install1.jpg

进入以上安装界面,需要重点设置的是 软件选择(S)安装位置(D) 两个位置。

_images/ScientificLinux7Install2.jpg

进入 软件选择(S) 选项,这里选 开发及生成工作站,右边已选环境的附加选项 全部打钩。自动化配置脚本是在该安装选项基础上开发的,如若选择其它选项,可能造成某些软件安装缺少依赖库等问题。

_images/ScientificLinux7Install3.jpg

进入 安装位置(D)**选项,这里选 **我要配置分区

_images/ScientificLinux7Install4.jpg

可以选择 点这里自动创建他们 或者自己手动创建, 这里新挂载点将使用以下分区方案:标准分区

_images/ScientificLinux7Install5.jpg

创建/swap时候,文件系统选择默认;创建/、/boot、/home时候,文件系统选 ext4,然后点击右下的 更新设置。其中根目录/空间得预留得足够大(至少>20GB),自动化脚本默认将软件安装在/目录。

安装完成之后,第一次开机时候会跳出一些引导,出来语言选择时候,务必选择 汉语(Intelligent Pinyin) 拼 选项,不要选 汉语 zh 选项。

按照以上步骤安装好系统之后,还需要对基础依赖工具做一些安装及升级,可以下载执行我的自动化安装脚本 自动配置 或者按照以下教程自己手动安装。

对LINUX不太熟悉的人优先推荐使用自动配置脚本配置。

升级 GCC 之后在任何时候出现以下提示都不用搭理,可把该文件删除

/sbin/ldconfig: /lib64/libstdc++.so.6.0.20-gdb.py 不是 ELF 文件 - 它起始的魔数错误。

安装USB无线网卡驱动

台式机在没有有线网络时候可以采用USB无线网卡。这里我配置了 Tenda U12 的无线网卡。具体安装流程见 https://github.com/wuhongyi/ScientificLinuxTendaU12

手动配置常用软件

安装好系统之后:

系统自带python2.7.5。

将我的yum配置文件替换系统中的配置文件。以下安装默认是采用我配置的yum库。 YumSet


自带emacs24.3.1与我的.emacs配置有冲突(开多窗口失效),所以自己安装最新24.5版本(暂时还没发现没法修复的bug)。

依赖的库:

yum -y install giflib-devel.x86_64  giflib-utils.x86_64
$ tar -zxvf emacs-24.5.tar.gz
$ cd emacs-24.5
$ ./configure --prefix=/usr
$ make -j4
make install

系统自带gcc4.8.5,基本够用,为了ROOT能够支持C++14属性,我还是安装gcc4.9.2。

依赖的库:

yum -y install glibc-static libstdc++-static //安装基础库,想要安装gcc 4.8及以上版本,你需要先安装C标准库和头文件,以及旧版本的c++编译器。
$ tar -zxvf gcc-4.9.2.tar.gz
$ cd gcc-4.9.2
$ ./contrib/download_prerequisites //自动编译下载所需文件
$./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-checking=release  --enable-languages=c,c++,fortran --disable-multilib
$ make -j4
make install

如果使用 gdb 来调试的话。安装的 gcc4.9.2 与系统自带 gdb7.6 存在兼容性问题。所以安装高版本 gdb。gdb7.8也存在一点不兼容问题,gdb7.11.1 似乎没有问题。

$ tar -zxvf gdb-7.11.1.tar.gz
$ cd gdb-7.11.1
./configure --prefix=/usr
$ make -j4
make install

系统自带cmake版本2.8.11,Geant4.10.02 要求 cmake 版本大于3.0。ROOT6.08 要求 cmake 版本大于3.4。所以还是安装最新的3.7.2版本。

$ tar -zxvf cmake-3.7.2.tar.gz
$ cd cmake-3.7.2
$ ./configure --prefix=/usr
$ make -j4
make install

常用必需依赖库

#EPEL提供的一个yum插件。使用该插件后用yum安装软件时可以并行下载,大大提高了软件的下载速度,减少了下载的等待时间。安装该插件的同时会安装另一个软件axel。axel是一个并行下载工具,在下载http、ftp等简单协议的文件时非常好用。
yum -y install yum-axelget

#加快yun速度
yum -y install yum-plugin-fastestmirror

#dnf
yum -y install dnf

#安装iptables-services软件包
yum -y install iptables-services

#64位系统中安装了32位程序解决办法
yum -y install glibc.i686 glibc-devel.i686 glibc-static.i686
yum -y install libstdc++.i686 libstdc++-devel.i686 libstdc++-static.i686

#usb64/32
yum -y install libusb-devel.x86_64 libusb-static.x86_64 libusb.i686 libusb-devel.i686 libusb-static.i686 libusbx.i686 libusbx-devel.i686

#多机并行(有空再测试G4的多机并行)
yum -y install mpich.x86_64 mpich-devel.x86_64  #SL7.2
yum -y install mpich*.x86_64   #SL>7.2


#汉化包,缺少将导致有些软件为英文界面,例如kate
yum -y install kde-l10n-Chinese.noarch  kde-l10n-Chinese-Traditional.noarch

#screen
yum -y install screen.x86_64

# 读取写入json格式数据
yum -y install jsoncpp.x86_64 jsoncpp-devel.x86_64

#压缩解压缩.rar文件
yum -y install rar.x86_64

#打开ntfs/exfat格式硬盘
yum -y install findntfs.x86_64 ntfs-3g.x86_64 ntfs-3g-devel.x86_64
yum -y install fuse-exfat.x86_64 exfat-utils.x86_64

#gnuplot
yum -y install gnuplot.x86_64 gnuplot-common-4.6.2-3.el7.x86_64

#flash播放
yum -y install flash-plugin.x86_64

#minicom超级终端
yum -y install minicom.x86_64

# nfs文件共享
yum -y install -y nfs-utils rpcbind  #SL6 yum -y install -y nfs-utils portmap

#hdf5
yum -y install hdf5.x86_64  hdf5-devel.x86_64 hdf5-mpich.x86_64 hdf5-mpich-devel.x86_64  hdf5-openmpi.x86_64 hdf5-openmpi-devel.x86_64

#数据恢复
yum -y install extundelete.x86_64

#自动输入密码
yum -y install sshpass.x86_64

# qwt
yum -y install qwt.x86_64 qwt-devel.x86_64 qwt5-qt4.x86_64 qwt5-qt4-devel.x86_64

#lighttpd
yum -y install lighttpd.x86_64 lighttpd-fastcgi.x86_64 lighttpd-mod_authn_gssapi.x86_64 lighttpd-mod_authn_mysql.x86_64 lighttpd-mod_geoip.x86_64 lighttpd-mod_mysql_vhost.x86_64

#ZeroMQ
yum -y install zeromq.x86_64 zeromq-devel.x86_64
yum -y install cppzmq-devel.x86_64
yum -y install czmq.x86_64 czmq-devel.x86_64

#python3  这里有些版本依赖,使用时候需要注意是否一致
yum -y install python34.x86_64 python34-devel.x86_64 python34-libs.x86_64
yum -y install python34-cryptography.x86_64 python34-pip.noarch python34-pyasn1.noarch
yum -y install python36.x86_64 python36-devel.x86_64 python36-libs.x86_64

额外功能依赖库(根据需要选择安装)

#evince
yum -y install  gtk-doc.noarch
yum -y install yelp-devel.x86_64 yelp-tools.noarch

#elog
yum -y install elog.x86_64

#kate编辑器
yum -y install kate.x86_64 kate-devel.x86_64 kate-libs.x86_64 kate-part.x86_64 ghc-highlighting-kate-devel.x86_64 ghc-highlighting-kate.x86_64

#Code::Blocks IDE
yum install codeblocks*

#桌面录制
yum -y install recordmydesktop.x86_64 gtk-recordmydesktop.noarch

#mp3格式文件转wav格式
yum -y install mpg123.x86_64 mpg123-devel.x86_64 perl-Audio-Play-MPG123.noarch

#播放mp3
yum -y install libmad.x86_64 libmad-devel.x86_64

#clang编译器
yum -y install clang.x86_64 clang-devel.x86_64

#shell脚本加密
yum -y install shc.x86_64

#htop
yum -y install htop.x86_64

#npm  用于jekyll/hexo、gitbook
yum -y install npm.noarch  nodejs.x86_64
yum -y install rubygems-devel.noarch
gem update --system


#加快显示网页的latex数学公式
yum -y install mathjax.noarch

#markdown转pdf
yum -y install pandoc.x86_64
#yum pandoc-pdf.x86_64 #这个不需要

#翻译软件,配置后可选词翻译
yum -y install goldendict.x86_64 goldendict-docs.noarch

#okular pdf阅读器(基于KDE) 感觉没有默认的evince好
yum -y install okular.x86_64

#监视CPU温度
yum -y install lm_sensors
sensors-detect   #此命令会给出一些问题,一律回答Yes即可
$ sensors       #查看温度

#文件编码转换
yum -y install convmv.noarch

#HP打印机驱动
yum -y install hplip.x86_64

#wine 这样安装只能运行64bit软件
yum -y install wine.x86_64 wine-devel.x86_64
$cp /usr/lib64/wine/fakedlls/mountmgr.sys ~/.wine/drive_c/windows/system32/drivers/

## ipython 软件版本有冲突,不能正常使用
yum -y install anaconda.x86_64
yum -y install anaconda-widgets-devel.x86_64 anaconda-dracut.x86_64 anaconda-addon-org_scientificlinux_contexts.noarch
yum -y install python-ipython*
yum -y install python.x86_64 python-devel.x86_64 python-tools.x86_64
yum -y install epel-release.noarch
yum -y install python2-pip.noarch      #这个默认装的pip版本太低,需要以下方法来提高pip版本

wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
sh setuptools-0.6c11-py2.7.egg
cp setuptools-0.6c11-py2.7.egg /usr/lib/python2.7/site-packages/
easy_install pip==9.0.1     #后面的==9.0.1是指定版本

virtualenv --no-site-package ipython_notebook   ##本行及下一行与前面四行作用相同
source ipython_notebook/bin/activate

pip install jupyter metakernel zmq
pip install Markdown
ipython2 kernelspec install-self     #Jupyter notebook中设定Kernel为Python2和Python3


## jupyter-notebook python2/python3 20180112/20180416
yum -y install python2-pip.noarch
pip install --upgrade pip
pip install jupyter metakernel zmq
pip install Markdown

yum -y install python34-pip.noarch
pip3 install --upgrade pip
pip3 install jupyter metakernel zmq
pip3 install Markdown
pip3 install jupyterthemes
pip3 install jupyter_nbextensions_configurator
pip3 install jupyter_contrib_nbextensions
pip3 install rise
jupyter-nbextension install rise --py --sys-prefix  #安装并启用扩展
jupyter-nbextension enable rise --py --sys-prefix  #安装并启用扩展
pip3 install jupyterhub
jupyterhub upgrade-db
npm install -g configurable-http-proxy
pip3 install sudospawner

$jupyter contrib nbextension install --user   #插件使用   哪个用户开启服务进程就哪个用户执行
$jupyter nbextensions_configurator enable --user  #插件使用  哪个用户开启服务进程就哪个用户执行

#python2 额外库
pip install pandas
pip install pandas-datareader
pip install BeautifulSoup
pip install BeautifulSoup4
pip install selenium
pip install sphinx-autobuild  #Read the Docs
pip install recommonmark      #Read the Docs

#python3 额外库
pip3 install numpy==1.9.3
pip3 install wheel
pip3 install BeautifulSoup4
pip3 install pandas==0.19.2
pip3 install pandas-datareader
pip3 install selenium
pip3 install sphinx-autobuild  #Read the Docs
pip3 install recommonmark      #Read the Docs



#gedit和emacs图形界面无法打开
#yum -y install kmod-nvidia.x86_64

#NVIDIA独立显卡(无需安装,安装后无法开启图形界面)
#yum -y install kmod-nvidia.x86_64 nvidia-detect.x86_64 nvidia-x11-drv.x86_64 yum-plugin-nvidia.noarch

jekyll/hexo网站、gitbook、JSROOT

#jekyll
yum -y install mingw64-libffi.noarch mingw64-libffi-static.noarch
yum -y install rubygem* --skip-broken
gem install ffi --remote --platform=ruby
gem install bundler
gem install rb-inotify
gem install redcarpet
gem install jekyll-paginate
gem install jekyll
gem install jekyll-sitemap
gem install jekyll-gl jekyll-do jekyll-s3 jekyllkb
#Hexo个人网站制作
npm install -g hexo
#gitbook
npm install -g gitbook-cli
$ gitbook -V
#以下这还没安装测试
#gitbook-pdf calibre(ebook-convert)等安装之后补上


#Bower
npm install -g bower

#gitbook 使用calibre插件生成PDF
wget https://download.calibre-ebook.com/linux-installer.sh
sh linux-installer.sh

ROOT

yum -y install lz4.x86_64 lz4-devel.x86_64
yum -y install fftw.x86_64 fftw-devel.x86_64 fftw-libs.x86_64
yum -y install gsl.x86_64 gsl-devel.x86_64
yum -y install graphviz.x86_64 graphviz-devel.x86_64
yum -y install ruby.x86_64 ruby-devel.x86_64 ruby-libs.x86_64
yum -y install expect.x86_64 expect-devel.x86_64
yum -y install davix.x86_64 davix-devel.x86_64
yum -y install unuran.x86_64 unuran-devel.x86_64
yum -y install avahi-compat-libdns_sd.x86_64 avahi-compat-libdns_sd-devel.x86_64
yum -y install ftgl.x86_64 ftgl-devel.x86_64
yum -y install glew.x86_64 glew-devel.x86_64
yum -y install mysql++.x86_64 mysql++-devel.x86_64
yum -y install cfitsio.x86_64 cfitsio-devel.x86_64
yum -y install libxml2*
yum -y install binutils-devel.x86_64
yum -y install pythia8.x86_64 pythia8-devel.x86_64
yum -y install redhat-lsb.x86_64
yum -y install R.x86_64
yum -y install R-RInside.x86_64 R-RInside-devel.x86_64 R-Rcpp.x86_64 R-Rcpp-devel.x86_64
./configure --all
make -j4

Enabled support for asimage, astiff, bonjour, builtin_afterimage, builtin_llvm, explicitlink, fftw3, fitsio, gviz, gdml, genvector, http, ldap, mathmore, memstat, minuit2, mysql, odbc, opengl, pgsql, pythia8, python, roofit, search_usrlocal, shadowpw, shared, sqlite, ssl, table, tmva, unuran, vc, vdt, x11, xft, xml.

## https://root.cern.ch/building-root
# cmake安装方法,以6.08.06为例。 安装之后.bashrc中 source /opt/root60806/bin/thisroot.sh
tar -zxvf root_v6.08.06.source.tar.gz
mkdir buildroot60806
cd buildroot60806/
cmake -DCMAKE_INSTALL_PREFIX=/opt/root60806 -Dall=ON  ../root-6.08.06/
make -j8
make install
rm -rf buildroot60806

解决未联网下ROOT启动慢问题

ROOT启动时会调用GetHostName()函数,如果没找到则等待超时响应。这个等待大约需要30秒,严重影响使用。可通过在 /etc/hosts 里面添加一行 127.0.0.1 xxxxx (这里xxxxx计算机主机名,可在终端中输入 echo $HOSTNAME 查看)。

Geant4

yum -y install xerces-c.x86_64  xerces-c-devel.x86_64
mkdir buildgeant41002p02
cd buildgeant41002p02/
cmake -DCMAKE_INSTALL_PREFIX=/opt/Geant4/geant41002p02  -DGEANT4_USE_SYSTEM_EXPAT=OFF -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_QT=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_GDML:BOOL=ON  -DGEANT4_BUILD_TLS_MODEL=global-dynamic   /opt/Geant4/geant4.10.02.p02
make -j4
make install

VGM > http://ivana.home.cern.ch/ivana/VGM.html 如果装有VGM,则可添加

-DGeant4VMC_USE_VGM=ON

Garfield

按照UserGuide.pdf中的方式下载到源码,我将其压缩成Garfield.tar.gz文件了。

以下我将动态连接库、静态连接库两种都安装了,方便使用。

Garfield依赖于ROOT,编译时候ROOT的include等信息会写到Garfield里,如果更改ROOT版本之后最好重新安装Garfield以免发生错误。

cp Garfield.tar.gz /opt/
cd /opt/
tar -zxvf Garfield.tar.gz
mkdir buildGarfield
cd buildGarfield
cmake -DCMAKE_INSTALL_PREFIX=/opt/Garfield /opt/Garfield/
make -j4
make install
cd /opt/Garfield
make -j4

geant4_vmc

Geant4 VMC, as well as ROOT and Geant4, have moved to the C++11 standard. The latest versions of all three packages use C++11 by default: Geant4 VMC 3.3, Geant4 10.2 and ROOT 6. When mixing other versions of Geant4 and ROOT together, the same standard must be used for both packages. See below how the override the default setting when needed.

Geant4 VMC 3.3 built against ROOT 5.x requires ROOT built with C++11 (not default for this ROOT version), set via:

-Dcxx11=ON

option, when ROOT is built using CMake, or

--enable-cxx11

option, when ROOT is built using configure script.

需要将程序包中cmake文件夹内FindGarfield.cmake中的

find_library(Garfield_LIBRARIES NAMES Garfield
             HINTS ${Garfield_DIR}/lib ${Garfield__LIB_DIR}
             HINTS $ENV{GARFIELD_HOME}/Library)

替换为:

find_library(Garfield_LIBRARIES NAMES Garfield
             HINTS ${Garfield_DIR}/lib ${Garfield__LIB_DIR}
             HINTS $ENV{GARFIELD_HOME}/lib)
cp geant4_vmc.tar.gz /opt/VMC
cd /opt/VMC
tar -zxvf geant4_vmc.tar.gz
mkdir buildgeant4vmc
mkdir geant4vmc
cd buildgeant4vmc/
cmake -DCMAKE_INSTALL_PREFIX=/opt/VMC/geant4vmc/ /opt/VMC/geant4_vmc/
make -j4
make install

JSROOT

> https://github.com/root-project/jsroot/

> https://bower.io/

  • 下载源码,解压缩,文件夹内有 bower.json 文件

  • 终端指向该文件夹执行 bower install,等待安装完成即可。

  • 安装后打开文件夹内的 index.htm 即可

elog 手动安装方法

前面已经有elog yum安装方法。自动安装时候 elogd.cfg 文件在 /etc 文件夹内,其它配置文件在 /usr/share/elog 文件夹内。

这时需要将/usr/share/elog文件夹复制到本地,然后再将elogd.cfg文件复制到本地 elog 文件夹内。

这里再给出一个手动安装方法。

下载地址:http://midas.psi.ch/elog/

安装:

tar -zxvf elog-latest.tar.gz
cd elog-latest
cd elog-x.y.z(xyz version)
make
make install

以上默认安装在 /usr/local,到该处拷贝文件夹 elog 到本地,该文件夹是配置参数、存放数据等功用。不直接使用/usr/local/elog配置文件是其在系统目录,误操作容易引起系统问题。

使用:

elogd [-p port] -c pathto/elog/elogd.cfg

程序将调用 elog文件夹下的 elogd.cfg 配置文件

浏览器中输入 0.0.0.0:8888 (8888为elogd.cfg中设置的端口号)即可访问该elog页面

其它用途的软件

谷歌浏览器 chrome

先下载自动安装脚本:http://chrome.richardlloyd.org.uk/install_chrome.sh

然后将其中的
http://omahaproxy.appspot.com
改为
https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

打开终端,依次执行
chmod u+x install_chrome.sh
./install_chrome.sh

它会自动下载并安装最新版谷歌浏览器及相关依赖包。在终端下执行google-chrome就可以打开浏览器了。 在系统左上角的 应用程序-Internet 里面也会有Google Chrome 启动项。

以上方法如果被墙了,还可以到这里 下载rpm安装文件 google-chrome-stable_current_x86_64.rpm

然后执行

rpm -i google-chrome-stable_current_x86_64.rpm

将mp3文件转为wav格式文件

前面已经提供了yum的安装方法了。

The -w option will convert an .mp3 file to .wav file. The syntax is:

mpg123 -w output.wav input.mp3

安装texlive

先卸载系统中的texlive

yum remove texlive
yum remove texlive-*

下载地址:http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/texlive2015.iso

我要将镜像文件挂载到 /opt/texlive 文件夹,所以先建好文件夹 /opt/texlive

具体安装:

mkdir /opt/texlive
mount -o loop texlive2015.iso  /opt/texlive
cd /opt/texlive
./install-tl
#出现选项后,输入 I 直接安装(也可以更改选项)。

环境变量

在~/.bashrc中加入如下语句:

# TeX Live 2014
export MANPATH=${MANPATH}:/usr/local/texlive/2015/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2015/texmf-dist/doc/info
export PATH=${PATH}:/usr/local/texlive/2015/bin/x86_64-linux

取消挂载镜像

umount /opt/texlive

特别说明

插入太多ROOT生成的tex格式图片容易出现以下问题。

TeX capacity exceeded, sorry [main memory size=5000000]
如果报以上错误,则在下面文件添加以下几行
/usr/local/texlive/2015/texmf.cnf

main_memory = 10240000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 100000000 % extra high memory for chars, tokens, etc.
extra_mem_bot = 100000000 % extra low memory for boxes, glue, breakpoints, etc
save_size = 1500000 % for saving values outside current group
stack_size = 1500000 % simultaneous input sources

将
/usr/local/texlive/2015/texmf-dist/web2c/texmf.cnf
main_memory 数值也调大。

如果 main_memory 设置太大,latex、pdflatex 将无法使用,出现以下错误:
Ouch---my initernal constants have been clobbered!---case 14

texhash 刷新 lsr 数据库
# fmtutil-sys --all

修复装完双系统中只有linux启动项丢失windows启动项的方法

su
fdisk -l

查看引导的设备号,比如 /dev/sda2

su
emacs /etc/grub.d/40_custom

添加以下几行

menuentry 'Windows 10 (on /dev/sda2)' --class windows {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos2'
    chainloader +1
}

其中

set root='hd0,msdos2'
0表示第一个硬盘,2为刚才看到的sda2
su
grub2-mkconfig -o /boot/grub2/grub.cfg

即将信息添加到/boot/grub2/grub.cfg中

ScientificLinux7重置ROOT密码

启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。

在linux16所在参数行尾添加:init=/bin/sh

按Ctrl+x启动到shell。

挂载文件系统为可写模式: mount -o remount,rw /

运行passwd,并按提示修改root密码。

如果之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统: touch /.autorelabel

运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启。

yum update冲突解决办法

yum update --skip-broken

系统关闭自动更新的方法

将文件 /etc/yum/yum-cron.conf 中的

update_messages = yes
download_updates = yes

修改为

update_messages = no
download_updates = no

CentOS 7.0关闭默认防火墙启用iptables防火墙

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤。

关闭firewall

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

iptables防火墙(这里iptables已经安装,下面进行配置)

emacs /etc/sysconfig/iptables #编辑防火墙配置文件
# sampleconfiguration for iptables service
# you can edit thismanually or use system-config-firewall
# please do not askus to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

备注:这里使用80和8080端口为例。部分一般添加到“-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。

systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

关闭SELINUX

emacs /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
setenforce 0 #使配置立即生效