.. ScientisicLinux72.rst --- .. .. Description: .. Author: Hongyi Wu(吴鸿毅) .. Email: wuhongyi@qq.com .. Created: 四 7月 4 17:32:02 2019 (+0800) .. Last-Updated: 四 7月 4 19:26:37 2019 (+0800) .. By: Hongyi Wu(吴鸿毅) .. Update #: 11 .. URL: http://wuhongyi.cn ################################################## 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 安装 ============================================================ .. image:: img/ScientificLinux7Install1.jpg 进入以上安装界面,需要重点设置的是 **软件选择(S)**、**安装位置(D)** 两个位置。 .. image:: img/ScientificLinux7Install2.jpg 进入 **软件选择(S)** 选项,这里选 **开发及生成工作站**,右边已选环境的附加选项 **全部打钩**。自动化配置脚本是在该安装选项基础上开发的,如若选择其它选项,可能造成某些软件安装缺少依赖库等问题。 .. image:: img/ScientificLinux7Install3.jpg 进入 **安装位置(D)**选项,这里选 **我要配置分区**。 .. image:: img/ScientificLinux7Install4.jpg 可以选择 *点这里自动创建他们* 或者自己手动创建, 这里新挂载点将使用以下分区方案:**标准分区**。 .. image:: img/ScientificLinux7Install5.jpg 创建/swap时候,文件系统选择默认;创建/、/boot、/home时候,文件系统选 **ext4**,然后点击右下的 **更新设置**。其中根目录/空间得预留得足够大(至少>20GB),自动化脚本默认将软件安装在/目录。 安装完成之后,第一次开机时候会跳出一些引导,出来语言选择时候,务必选择 **汉语(Intelligent Pinyin) 拼** 选项,不要选 **汉语 zh** 选项。 按照以上步骤安装好系统之后,还需要对基础依赖工具做一些安装及升级,可以下载执行我的自动化安装脚本 `自动配置 `_ 或者按照以下教程自己手动安装。 **对LINUX不太熟悉的人优先推荐使用自动配置脚本配置。** 升级 GCC 之后在任何时候出现以下提示都不用搭理,可把该文件删除 .. code:: bash /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)。 依赖的库: .. code:: bash yum -y install giflib-devel.x86_64 giflib-utils.x86_64 .. code:: bash $ 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。 依赖的库: .. code:: bash yum -y install glibc-static libstdc++-static //安装基础库,想要安装gcc 4.8及以上版本,你需要先安装C标准库和头文件,以及旧版本的c++编译器。 .. code:: bash $ 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 似乎没有问题。 .. code:: bash $ 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版本。 .. code:: bash $ tar -zxvf cmake-3.7.2.tar.gz $ cd cmake-3.7.2 $ ./configure --prefix=/usr $ make -j4 make install ============================================================ 常用必需依赖库 ============================================================ .. code:: bash #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 ============================================================ 额外功能依赖库(根据需要选择安装) ============================================================ .. code:: bash #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 ============================================================ .. code:: bash #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 ============================================================ .. code:: bash 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 .. code:: bash ./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. .. code:: bash ## 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 ============================================================ .. code:: bash yum -y install xerces-c.x86_64 xerces-c-devel.x86_64 .. code:: bash 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,则可添加 .. code-block:: bash -DGeant4VMC_USE_VGM=ON ============================================================ Garfield ============================================================ 按照UserGuide.pdf中的方式下载到源码,我将其压缩成Garfield.tar.gz文件了。 以下我将动态连接库、静态连接库两种都安装了,方便使用。 **Garfield依赖于ROOT,编译时候ROOT的include等信息会写到Garfield里,如果更改ROOT版本之后最好重新安装Garfield以免发生错误。** .. code:: bash 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: .. code:: bash -Dcxx11=ON option, when ROOT is built using CMake, or .. code:: bash --enable-cxx11 option, when ROOT is built using configure script. 需要将程序包中cmake文件夹内FindGarfield.cmake中的 .. code:: cmake find_library(Garfield_LIBRARIES NAMES Garfield HINTS ${Garfield_DIR}/lib ${Garfield__LIB_DIR} HINTS $ENV{GARFIELD_HOME}/Library) 替换为: .. code-block:: cmake find_library(Garfield_LIBRARIES NAMES Garfield HINTS ${Garfield_DIR}/lib ${Garfield__LIB_DIR} HINTS $ENV{GARFIELD_HOME}/lib) .. code-block:: bash 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/ 安装: .. code-block:: bash 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配置文件是其在系统目录,误操作容易引起系统问题。 使用: .. code-block:: bash elogd [-p port] -c pathto/elog/elogd.cfg 程序将调用 elog文件夹下的 elogd.cfg 配置文件 浏览器中输入 0.0.0.0:8888 (8888为elogd.cfg中设置的端口号)即可访问该elog页面 ============================================================ 其它用途的软件 ============================================================ ---------------------------------------------------------------------- 谷歌浏览器 chrome ---------------------------------------------------------------------- .. code-block:: text 先下载自动安装脚本: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 然后执行 .. code-block:: bash 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: .. code-block:: bash mpg123 -w output.wav input.mp3 ---------------------------------------------------------------------- 安装texlive ---------------------------------------------------------------------- 先卸载系统中的texlive .. code-block:: bash yum remove texlive yum remove texlive-* 下载地址:http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/texlive2015.iso 我要将镜像文件挂载到 /opt/texlive 文件夹,所以先建好文件夹 /opt/texlive 具体安装: .. code-block:: bash mkdir /opt/texlive mount -o loop texlive2015.iso /opt/texlive cd /opt/texlive ./install-tl #出现选项后,输入 I 直接安装(也可以更改选项)。 环境变量 在~/.bashrc中加入如下语句: .. code-block:: bash # 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 取消挂载镜像 .. code-block:: bash umount /opt/texlive ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 特别说明 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 插入太多ROOT生成的tex格式图片容易出现以下问题。 .. code-block:: text 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启动项的方法 ============================================================ .. code-block:: bash su fdisk -l 查看引导的设备号,比如 **/dev/sda2** .. code-block:: bash su emacs /etc/grub.d/40_custom 添加以下几行 .. code-block:: text menuentry 'Windows 10 (on /dev/sda2)' --class windows { insmod part_msdos insmod ntfs set root='hd0,msdos2' chainloader +1 } 其中 .. code-block:: text set root='hd0,msdos2' 0表示第一个硬盘,2为刚才看到的sda2 .. code-block:: bash 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冲突解决办法 ============================================================ .. code-block:: bash yum update --skip-broken ============================================================ 系统关闭自动更新的方法 ============================================================ .. code-block:: text 将文件 /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 ---------------------------------------------------------------------- .. code-block:: bash systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) ---------------------------------------------------------------------- iptables防火墙(这里iptables已经安装,下面进行配置) ---------------------------------------------------------------------- .. code-block:: bash emacs /etc/sysconfig/iptables #编辑防火墙配置文件 .. code-block:: bash # 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”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。 .. code-block:: bash systemctl restart iptables.service #最后重启防火墙使配置生效 systemctl enable iptables.service #设置防火墙开机启动 ---------------------------------------------------------------------- 关闭SELINUX ---------------------------------------------------------------------- .. code-block:: bash emacs /etc/selinux/config .. code-block:: text #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 .. code-block:: bash setenforce 0 #使配置立即生效 .. .. ScientisicLinux72.rst ends here