CentOS 桌面版安装配置(以CentOS 7为例)

CentOS 同时被 2 个专栏收录
15 篇文章 0 订阅
24 篇文章 1 订阅

(注:本文中的链接都需要复制出来,然后粘贴在浏览器的地址栏,否则会定向错误)


一、安装centos7后配置
1、将安装光盘构建为本地yun源
1.安装createrepo
  yum install createrepo

2.复制光盘镜像文件到/usr/local/src
  cp CentOS-7.0-1406-DVD.iso /usr/local/src

3.将安装光盘文件挂载
   mkdir /media/CentOS7-LocalSource
  mount -t iso9660 -o loop /usr/local/src/CentOS-7.0-1406-DVD.iso/media/CentOS7-LocalSource

4.设置开机自动挂载光盘镜像
  vi /etc/fstab
 
   在最后添加一行(注意:fstab写错了会进入emergency mode,无法正常加载系统)
  /usr/local/src/CentOS-7.0-1406-DVD.iso /media/CentOS7-LocalSourceiso9660 defaults,ro,loop 0 0

5.重写repodata(未修改光盘镜像不需要此操作)
  cd /media
  createrepo CentOS7-LocalServer
 
6.配置源
  vi /etc/yum.repos.d/CentOS7-LocalServer.repo
 
  [CentOS7-LocalServer]
  name=LocalServer
  baseurl=
  enable=1
  gpgcheck=0
 
7.重新建立yum缓存
  yum clean all
  yum makecache

8.本地yum源搭建完成


2、配置kde桌面语言中文显示
      我装的是kde桌面,刚装好时桌面是英文显示的,所以现在来配置一下
             yum listkde*chinese
             yum install kde-l10n-Chinese.noarch

二、添加第三方软件源1、添加rpmforge源
该源听说很强大,不过我看了下目前centos7的软件包并不多,关于5和6的包倒是很多
下载地址:
http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
安装:
cd ~/下载
rpm –ivh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
2、添加elrepo源
该源包含NVIDIA显卡驱动
下载地址:
http://elrepo.reloumirrors.net/elrepo/el7/x86_64/RPMS/elrepo-release-7.0-1.el7.elrepo.noarch.rpm
安装:
cd ~/下载
rpm –ivh elrepo-release-7.0-1.el7.elrepo.noarch.rpm
3、添加epel源
该源包含很多fedora移植过来的软件

下载地址:
http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
安装:
cd ~/下载
rpm -ivh epel-release-7-2.noarch.rpm
4、添加mosquito源
该源包含的软件有(配合nux-dextop源使用)
pidgin-lwqq - 使用 WebQQ 协议编写的 pidgin-QQ 插件
pidgin-openfetion - 使用 fetion v4 协议编写的 pidgin 飞信插件
pidgin-sendscreenshot - pidgin 截图插件
wiznote - 为知笔记
sogou-pinyin - 搜狗拼音输入法,基于 fcitx 框架开发
sogou-pinyin-skins - 搜狗拼音输入法皮肤
fcitx-googlepinyin - 基于 fcitx 框架的谷歌拼音输入模块
fcitx-rime - 中州韵输入法
fcitx-libpinyin - 基于 fcitx 框架的 libpinyin 输入法
fcitx-sunpinyin - 基于 fcitx 框架的 sunpinyin 输入法
fcitx-configtool, kcm-fcitx - GTK 和 KDE 下的 fcitx 配置工具
openyoudao - 一个 python 编写的有道词典 linux 客户端
deepin-music-player - 深度音乐播放器
dmusic-plugin-baidumusic - 深度音乐播放器的百度音乐插件
osdlyrics - 支持多款音乐播放器的桌面歌词软件
pointdownload - 一款方便高效的下载软件
mvgather - 一款支持影视点播的视频客户端,内容来自 yunfan.com
deepin-screenshot - 深度截图
deepin-translator - 深度翻译
xware-desktop - 迅雷桌面版
bcloud - 百度云的 linux 客户端
screenfetch - 获取系统/主题信息的命令行工具
musicbox - 网易云音乐的命令行客户端
moonplayer - 视频播放器,支持搜索播放 youku, tudou, iqiyi, sohu, 56, funshion 的网络视频
gouyong - 够用翻译,支持取词
doubanfm-qt - 基于 Qt5 开发的 DoubanFM 客户端
douban.fm - 基于 NodeJS 开发的 DoubanFM CLI 客户端

1)方法一:直接安装
终端输入,回车即可
yum-config-manager --add-repo=
https://copr.fedoraproject.org/coprs/mosquito/myrepo/repo/epel-$(rpm-E %?rhel)/mosquito-myrepo-epel-$(rpm -E %?rhel).repo
2)方法二:手动编写repo文件
      若方法一不可用,用vi新建一个/etc/yum.repos.d/mosquito-myrepo.repo文件
   vi /etc/yum.repos.d/mosquito-myrepo.repo       往里面写入一下语句       [mosquito-myrepo]
name=Copr repo for myrepo owned by mosquito
baseurl=
http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo/epel-7-$basearch/
skip_if_unavailable=True
gpgcheck=0
enabled=1
   按:wq保存退出

5. 添加nux-dextop源1)方法一:直接安装
终端输入,回车即可
yumlocalinstall
http://li.nux.ro/download/nux/dextop/el$(rpm -E %rhel)/x86_64/nux-dextop-release-0-2.el$(rpm-E %rhel).nux.noarch.rpm
2)方法二:
下载:
http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
安装:
cd ~/下载
rpm –ivh nux-dextop-release-0-1.el7.nux.noarch.rpm
6.运行以下命令生成以上第三方源的yum缓存
sudo yum cleanall
sduo yum makecache
7、安装fastestmirror
一个自动选择最快的yum源的插件
      安装方法:
1)搜索fastestmirror包的全名
sudo yum search fastestmirror
2)假设搜索的结果是“yum-fastestmirror-noarch”,那么输入命令
sudo yum install yum-fastestmirror-noarch
8、如果不想这么麻烦自己安装第三方源,可以将我在百度网盘里提供的repo和gpg直接复制到本机centos7上就可以了
      导入repo
      cdrepo目录
      cp*.repo /etc/yum.repos.d
      导入repo的密钥gpg
      cdgpg目录
      cp* /etc/pki/rpm-gpg

三、安装一些日常应用软件

1、安装chrome浏览器
Firefox是各centos7发行版默认的浏览器,chrome是Google出品的一款很强大的浏览器,所谓Google出品,必属精品。还有adobe-flash插件的安装。chrome访问不了官网, adobe-flash插件可以分别到官网下载,在软件源里都没有,前面已经给出了我的百度网盘分享地址
安装方法:
1)安装chrome
首先进入rpm安装包所在目录,cd命令参照前面,后面所有安装均要进入安装包所在目录,不再提示。
运行下面这条命令
sudo rpm –ivh google-chrome*.rpm
如果提示缺少什么依赖包,则安装依赖包后在执行,后面的软件安装缺少依赖包时参照此处依赖包的安装,依赖包的安装方法
sudo yum –y install 依赖包1 依赖包2 依赖包n
2)安装adobe-flash插件
sudo rpm –ivh flash*.rpm
2、安装桌面插件cairo-dock
一个仿苹果风的桌面插件。这个安装后要在 系统设置->桌面效果 设置,忘了哪个效果了,应该是跟透明相关的效果,否则有一条黑黑的条条,很难看
yum install cairo-dock
3、压缩与解压缩工具
Linux下打包压缩解压缩一般用的是tar、gzip、bzip2命令,tar打包后的压缩包通常为*.tar.gz或*.tar.bz,gzip压缩后的文件为*.gz,bzip2压缩后的文件为*.bz。也有办法解压缩zip文件。但对于新手来说,win平台常见的rar、zip和7z文件使用unrar、unzip和p7zip可能更为适合,现在我们来安装一下。
安装方法:
1)安装unrar和unzip
sudo yum install unrar unzip
2)安装p7zip
sudo yun install p7zip
4、在线音乐kwplayer
这是一个酷我音乐盒的linux版本,kwplayer 是linux桌面下的轻量级的音乐播放软件, 由LiuLang同学开发, 使用的是Python3+gtk3, 开源的(GPLv3),地址为
https://github.com/LiuLang/kwplayer
方法:
sudo rpm –ivh kwplayer*.rpm
这个要安装音频解码器等依赖包,根据依赖检测缺失的包安装一下就好
5、视频播放器Mplayer和smplayer
yum install mplayer smplayer
6、视频播放器VLC
      yum -y --enablerepo=nux-dextop installgstreamer-ffmpeg gstreamer-plugins-ugly gstreamer-plugins-bad ffmpeg libvdpaumpg123 gstreamer-plugins-bad-nonfree gstreamer1-libavgstreamer1-plugins-bad-freeworld
yum install vlc
7、办公软件
默认安装的libreoffice是开源的办公软件,兼容微软的office的各种文档格式,但是有点问题就是可能两者的显示效果并不一致,不知道是不是跟文字编码和字体有关,这一点上国产的WPS则要好一点点,所以一般linux和windows的文档交流用的是pdf文档。因为不同系统对office文档的显示效果并不那么一致,就连win系统不同版本间对office的显示效果有时都会不一样。
      安装方法:
安装wps,wps for linux下载地址
http://community.wps.cn/download/
sudo rpm –ivh wps-office*.rpm\
然后这个在centos7上面缺少好多依赖包,一个个把依赖包安装上去吧,参照前面的方法
安装后打开wps是可能会提示缺少字体,可以到win系统下把字体复制到/usr/share/fonts/文件夹下就是了。因为那些字体是有版权的,wps并没有集成。
8、PDF阅读器
      Centos7自带的okular挺好用的
9、chm阅读器
      我从fedora20上移植过来的kchmviewer,所有第三方源似乎都没有关于chm阅读的软件,前面的百度网盘有分享
      rpm –ivh chmlib-0.40-9.el7.x86_64.rpm kio_msits-5.2-5.el7.x86_64.rpmkchmviewer-common-5.2-5.el7.noarch.rpm kchmviewer-5.2-5.el7.x86_64.rpm
10、图形处理工具gimp和矢量图处理工具inkscape
Windows下有Photoshop这个图形处理软件,而linux下对应的图形处理工具则是gimp,值得一提的是,gimp比Photoshop还要强大一些,可以直接输出视频。而inkscape则是处理矢量图的工具,类似与illustrator
安装方法:
yum install gimp
yum install inkcape
11、翻译词典stardict
星际译王(stardict)是利用GTK(GIMP TOOLKIT)开发的国际化的、跨平台的自由的桌面字典软件。它并不包含字典档,使用者须自行下载配合使用。它可以运行于多种不同的平台,如Linux, MicrosoftWindows,FreeBSD及Solaris,并使用GPL授权。这是从fedora20源里弄下来的,直接用,没什么bug
安装方法:
rpm –ivh stardict-3.0.5-1.fc20.x86_64.rpm
      词库安装:(我在百度网盘里有分享)
             cp 词库 /usr/share/stardict/dic
12、linux版百度云管家bcloud
这个也是kwplayer的作者编写的,我们已经添加了源,直接装就好了
yum install bcloud
13、邮件收发工具thunderbird
      yum install thunderbird
14、录制桌面操作视频的工具qt-recordMyDesktop
      Kde桌面安装
yum install qt-recordmydesktop
gnome桌面安装
gtk-recordmydesktop
15、linux下相当于windows中的迅雷的下载软件(多线程下载,支持断点续传等。超级好用!):

      yum install multiget
16、linux版有道
      可惜只有屏幕取词的功能
      yum install openyoudao
17、影视集结号mvgather
      可以看在线电视和一些在线视频
      yum install mvgather
18、Moon Player
      视频播放器,支持搜索播放 youku,tudou, iqiyi, sohu, 56, funshion 的网络视频
     yum install moonplayer
19、screenfetch
      获取系统/主题信息的命令行工具,大神都在用
     yum install screenfetch
20、点载pointdownload
      一款方便高效的下载软件,支持 HTTP,BT, Magnet, ed2k, Thunder 等下载协议,支持迅雷离线加速和高速通道功能,支持视频下载功能。
     yum install pointdownload

四、磁盘管理与刻录、启动U盘制作1、图形化分区和格式化磁盘工具gparted
在 Linux 中调整分区最简单的方法是使用GParted 程序。它拒绝在任何当前挂载的分区上进行操作,不能调整根目录(/)或者其他对操作系统功能来说至关重要的分区,避免了误操作。当然要调整这些至关重要的分区还是可以在命令行进行的。
安装方法:
yum install gparted
2、专业的图形化光盘刻录工具k3b
K3b(KDE Burn Baby Burn)是一个设计给 KDE在Linux或其它类Unix系统上的CD/DVD烧录的自由软件 。当然各linux发行版一般都有自带磁盘刻录的工具啦。
Centos7自带了,挺好用的,效果不比Nero差
3、Linux下制作USB安装盘(启动U盘)
在windows下我们使用通过制作PE或者使用UltraISO写入硬盘映像的方法来制作USB引导安装盘,也就是所谓的启动U盘,在linux下也是可以做到的,通过unetbootin这个傻瓜式的图形软件就可以一键制作各linux发行版的USB引导盘,但可惜的是unetbootin并不支持win系统的USB安装盘的制作。没有关系我们可以使用gparted、ms-sys、cp等工具进行制作win系统的USB引导盘,下面就来介绍一下。
安装方法:
1)       制作linux各发行版USB安装盘  
yum installunetbootin
然后打开unetbootin这个软件就可以一键制作linux各发行版USB安装盘了。
2)制作win7系统的USB安装盘
有三步:
第一步:使用gparted格式化U盘为NTFS格式
第二步:使用ms-sys -7 /dev/sdb 写入win7引导信息到dev/sdb磁盘上面,注意看你的U盘设备是什么,是“dev/sdb”还是“dev/sdc”
第三部:挂载win7.iso和你的U盘,复制win7.iso里面的所有信息到U盘去,可以使用cp –r命令或直接在图形化的文件管理器里用鼠标进行复制。

gparted前面已经介绍了安装的方法,现在介绍安装ms-sys这个微软出品的在开源linux上使用的写入win系统引导信息的命令行工具,去官网下载一个最新版,
http://sourceforge.net/projects/ms-sys/
只有源码的makefile文件,没有前面用的那种rpm包,所以我们要手动编译并安装
在终端进入下载的ms-sys目录下,运行命令
sudo make
这时如果没有错误提示则在运行make install命令,如果提示找不到cc或gcc,那就是没有安装gcc编译器的意思。
这时就可以先运行命令安装gcc编译器
sudo yum install gcc
安装完gcc编译器后,我们再运行
sudo make
sudo make install
安装完ms-sys命令后,我们可以运行ms-sys命令测试一下,这是就可以看到ms-sys的具体用法了。
然后我们使用之前安装的图形化gparted工具将U盘格式化为NTFS格式,win7安装盘一定要是NTFS格式,否则制作的引导盘无法引导win7系统,
格式化后关闭gparted,打开终端,然后输入partprobe命令刷新磁盘信息
然后写入win7引导信息到U盘,运行命令
ms-sys -7 /dev/sdb
-7这个参数是写入win7引导信息的意思,/dev/sdb是你的U盘设备名
最后挂载win7.iso并复制所有iso里的文件到你的U盘里面,可以使用如下命令
挂载win7.iso
sudo mount 路径/win7.iso /mnt/media
复制文件
cp –r /mnt/media/* U盘的挂载路径
因为win7.iso有3.2G大小,复制需要10-20分钟时间,耐心等待就好
如果你觉得命令行下看不到进度条不放心,也可以使用图形化的文件管理器进行复制
复制完后就win7USB引导设备就制作完成了,XP和win8我没有尝试,应该也是可以成功的。

五、开发环境的安装
如果是作为桌面使用,以上的软件已经足够像在windows上那样随心所欲地操作了,但如果作为开发者而言,一些开发环境的安装是不能不知道的。比如C/C++的编译器GCC,Java的编译与运行环境JDK,目前比较流行的Java的集成开发环境eclipse,甚至还有Oracle数据库、apache服务器等等。
1、安装GCC编译器
如果安装centos7时没有选择安装开发环境那一项,那么
yum install gcc gcc-c++
2、安装openjdk
openjdk是jdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,openjdk已经成为jdk7的主干开发,sun jdk7是在openjdk7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearchLicense,Java研究授权协议)发布。至于openjdk6则更是有其复杂的一面,首先是openjdk6是jdk7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。
我们安装openjdk7就好了
1)安装java程序运行环境
java-1.7.0-openjdk.x86_64(Java程序的运行环境,libreoffice等多数开源程序的运行就是基于此)
yum install java-1.7.0-openjdk.x86_64
1)       安装java开发环境
java-1.7.0-openjdk-devel.x86_64(开发环境,Java的编译环境)
             sudoyum –y install java-1.7.0-openjdk-devel.x86_64
3、安装linux下的常用文本编辑器
vi是所有linux下的强大命令行文本编辑器,vim是vi的升级版本,有高亮显示的功能,已经是一个代码编辑器了,很多程序员都喜欢用vim或者emacs作为写C/C++代码的编辑器。nano是一个易于使用的命令行文本编辑器。gedit是gnome桌面默认的图形文本编辑器,对应的,KDE桌面也有一个默认的图形文本编辑器叫kwrite。
      安装方法:
1)安装vim
      sudo yum –y install vim
2)安装nano
sudo yum –y  install nano
3)安装emacs
sudo yum –y  install emacs
4、安装eclipse
Eclipse是目前比较流行的Java集成开发环境(Eclipse官网下载的绿色软件,解压后直接用)
tar -zxvf eclipse-jee-luna-SR1-linux-gtk-x86_64.tar.gz -C ~
5、安装oracle11g数据库
      rpm –ivh oracle-xe-11.2.0-1.0.x86_64.rpm
6、安装tomcat服务器
      tomcat官网下载的绿色软件,解压后直接用
      tar-zxvf apache-tomcat-7.0.56.tar.gz -C ~

五、几个常见问题的说明1、当前用户不在sudoers文件中
解决办法是,将当前用户写到/etc/sudoers文件中
1)切换到root用户
su –
2)修改/etc/sudoers文件权限,修改为可写权限
chmod 777 /etc/sudoers
3)使用gedit或kwrite编辑/etc/sudoers文件
添加要提升权限的用户;在文件中找到root  ALL=(ALL)ALL那一行,在该行下添加提升权限的用户信息,比如我的用户名为“jison“,就填上jison如:
root   ALL=(ALL)       ALL
jison   ALL=(ALL)       ALL
说明:格式为(用户名   网络中的主机=(执行命令的目标用户)   执行的命令范围)
4)保存退出,并恢复/etc/sudoers的访问权限为440
chmod440 /etc/sudoers
5)切换到普通用户,测试用户权限提升功能
sudo命令
2、音乐格式不支持播放
那是因为没有安装到相关的音乐解码器,安装一下以下音频解码器就好了。
安装音频解码器:(可以一条命令一起安装,每个包之间用空格隔开即可,这样写只是为了大家知道有哪些包)
sudo yum install ffmpeg
sudo yum install ffmpeg-libs
sudo yum install gstreamer-ffmpeg
sudo yum install xvidcore
sudo yum install libdvdread
sudo yum install libdvdnav
sudo yum install lsdvd
sudo yum install gstreamer-plugins-good
sudo yum install gstreamer-plugins-bad
sudo yum install gstreamer-plugins-ugly
sudo yum install gstreamer-plugins-bad
sudo yum install gstreamer-ffmpeg
3、视频格式不支持播放
那是因为没有安装到相关的视频解码器,安装一下以下视频解码器就好了。
安装视频解码器:(可以一条命令一起安装,每个包之间用空格隔开即可,这样写只是为了大家知道有哪些包)
sudo yum install ffmpeg
sudoyum install ffmpeg-libs
sudo yum install gstreamer-ffmpeg
sudo yum install libmatroska
sudo yum install xvidcore
4、centos7的备份与还原和grub2修复
centos7备份还原与grub2引导和rescue模式修改root密码
一.centos7备份
  1.su -
  2.cd /
  3.tar -zpPcvf backup.tgz --exclude=/sys --exclude=/mnt --exclude=/proc--exclude=/lost+found --exclude=backup.tgz /
二.centos7还原(原系统挂掉解决办法,系统没挂直接tar即可还原)
  1.centos7安装盘进入援救模式
  2.给磁盘分区(sda1用作根目录,sda2用作交换分区)
      fdisk/dev/sda
          p            向屏幕打印硬盘的分区
          d            删除分区
          n            新建分区
          w            保存更改并退出
          q            退出不保存之前的操作
  3.格式化分区
      mke2fs-t ext3 /dev/sda1              将/dev/sda1格式化为ext3文件系统
      mkswap/dev/sda2                将/dev/sda2格式化为交换分区
  4.挂载/dev/sda1到centos启动盘援救系统的/mnt目录下
      mount/dev/sda1 /mnt
  5.还原系统备份到/dev/sda1所挂载的目录/mnt
      tar-zpxvf backup.tgz -C /mnt
     
三.安装grub并写入引导信息到mbr
  1.更改/dev/sda1所挂载的目录/mnt为根目录
      chroot/mnt
  2.挂载proc和sysfs
      mount-t proc proc /proc
      mountsysfs /sys -t sysfs
  3.安装grub2到/dev/sda的mbr
      grub2-install/dev/sda1
  4.更新/boot/grub2/grub.cfg和/etc/grub2.cfg的信息
      grub2-mkconfig-o /boot/grub2/grub.cfg
      grub2-mkconfig-o /etc/grub2.cfg
  {/**
    *   @引申的命令
    *  查看默认引导的内核                       grub2-editenvlist
    *  修改默认引导的标题                       grub2-set-default"标题"
    *  未chroot时使用(假设/mnt为根目录挂在位置)      grub2-install --directory-root=/mnt/dev/sda
    */
   }
  5.把/etc/fstab文件中的uuid标识符改为硬盘设备分区
    比如:
      行首的UUID=03feda9-c221-4375-a6bf-0b80bd875323改为/dev/sda1
            UUID=f4e3d0dc-df2f-446f-9403-0e51835ca4b3改为/dev/sda2
四.更改root密码(不知道为何,没有这个操作进不了系统)
  1.开机选择界面按e
   2.然后在倒数第二行内核vmlinuz那一行后面加 rw single init=/bin/bash,接着Ctrl+X进入但用户模式
  3.passwd修改root密码
  4.touch /.autorelabel
  5.exec /sbin/init(一定要这样启动),接着输入刚刚修改root密码回车,自动重启后就可以进入还原的系统了
5、双系统win7引导项丢失问题
一.用vi编辑/boot/grub2/grub.cfg文件
   vi /boot/grub2/grub.cfg
 
   找到下面这段
   ### BEGIN /etc/grub.d/30_os-prober ###
   ###  END/etc/grub.d/30_os-prober       ###
   修改为下面这段(+2没有空格)
   ### BEGIN /etc/grub.d/30_os-prober ###
   menuentry "Windows 7"{
     insmod part_msdos
     insmod ntfs
     set root=*(hd0,msdos1)*
     search --no-flooppy --fs-uuid --set6a9463b094637e07
     chainloader +2
  }
  ###    END/etc/grub.d/30_os-prober       ###
 
  查看分区的uuid
blkid/dev/sda1

二.修改win7为默认启动系统
   查看默认引导的内核
     grub2-editenv list
   修改默认引导的系统(双引号内的字符串为上面修改grub.cfg的"Windows7")
     grub2-set-default "Windows 7"
6、ibus拼音输入法
      按win+空格就可以切换输入法了,这里提一下,免得找不到
7、给konsole做一个快捷键Ctrl+Alt+T
      打开 系统设置->快捷方式->手势自定义快捷键->编辑->新建->全局快捷键->命令/URL-
      快捷方式命名为“konsole“
触发器->快捷键输入“Ctrl+Alt+T”
动作->命令/URL输入“/usr/bin/konsole”
最后点击应用就ok了
8、解决ntfs格式的磁盘挂载
1.下载
http://www.tuxera.com/community/ntfs-3g-download/
2.编译工具(若没有yum安装一下)
gcc compiler, libc-dev libraries
3.编译安装()
./configure
make
make install # or *sudo make install* ifyou aren*t root
4.挂载ntfs分区(以挂载/dev/sdb1为例)
mount -t ntfs-3g /dev/sdb1 /mnt/windows
5.卸载ntfs分区
umount /dev/sdb1
6.设置开机挂载
vi /etc/fstab
到最后一行添加
/dev/sda1 /mnt/windows ntfs-3g defaults 0 0
9、配置konsole字体和外观
      konsole默认状态极丑,文字有时显示不全,我们只要设置一下就好了
      设置->管理配置方案->编辑配置方案->外观
      选择自己的配色方案和背景,编辑需要的效果即可
      字体选择自己喜欢的一个,调整好大小和显示效果即可

六、centos7的虚拟化1、kvm虚拟机
   kvm是未来虚拟化的趋势,因为从内核2.6.20开始已经整合到内核里面了,又称为基于内核的虚拟机。
它和xen均是虚拟化的解决方案,但是目前中国用的较多的还是xen的解决方案,xen的高手也多一些。
   1.安装
      查看虚拟支持情况:grep-E *svm|vmx* /proc/cpuinfo
      需要注意的是,开启主板BIOS里的AMD或者INTEL的CPU的虚拟化支持。
      如果是服务器上的实装,一般都不会安装GUI,采用最小化安装,那么执行以下命令:
      yum -y install qemu-kvm libvirtvirt-install bridge-utils
      并且要会设置桥接网卡。这里不再介绍了。
      如果是有GUI的界面的,比如我自己的笔记本电脑,那么要简单的多了。
      yum install qemu-kvm qemu-imgyum installvirt-manager libvirt libvirt-python python-virtinst libvirt-client
      然后重启下电脑。
      lsmod | grep kvm
     
      确认模块已经被加装了,如果出现以下两行,则表示模块已安装
      kvm_intel       138567 0
      kvm             441119  1 kvm_intel

      开启libvirtd服务
      systemctl start libvirtd
      systemctl enable libvirtd
     
   2.配置桥接网络接口
      为即将安装的kvm虚拟机配置一个桥接网络接口
      vi/etc/sysconfig/network-scripts/ifcfg-br0
      我的配置有点像这样
         DEVICE=br0
         TYPE=Bridge
         BOOTPROTO=dhcp
         DEFROUTE=yes
         IPV4_FAILURE_FATAL=yes
         IPV6INIT=no
         NAME=br0
         ONBOOT=yes
         PEERDNS=yes
         PEERROUTES=yes
      编辑实际网卡的配置
      vi/etc/sysconfig/network-scripts/ifcfg-enp8s0
      我的配置有点像这样
          DEVICE=enp8s0
         TYPE=Ethernet
         BOOTPROTO=dhcp
         BRIDGE=br0
         DEFROUTE=yes
         IPV4_FAILURE_FATAL=yes
         IPV6INIT=no
         NAME=enp8s0
         UUID=bd4e4309-1113-4223-b94a-509fe0d15c8b
         ONBOOT=yes
         PEERDNS=yes
         PEERROUTES=yes
      然后重启下电脑
      reboot
     
   3.安装kvm虚拟机
      打开虚拟系统管理器(virt-manager),安装系统挺傻瓜式的,唯一需要注意的是网卡选择上面配置的br0桥接网卡
      安装完成之后,就可以使用本地路由器分配的ip地址上网了,也可以通过ip地址进行远程登陆管理形成vpn(虚拟专用网了)
      值得一提的是,安装kvm虚拟机时有三种让虚拟机访问外网的方式,即桥接,NAT和Host-only(使用主机网络)
      但只有上面用到的桥接方式才能让外网访问安装的kvm虚拟机
     
2.xen虚拟机
   //TODO 用到再说
 
3.VitualBox虚拟机
这个虚拟机也是开源的,没有vmware好用,仅仅是装过一个winxp
rpm–ivh VirtualBox-4.3-4.3.18_96516_el7-1.x86_64.rpm
//TODO并没有用来测试过桥接网络接口,用到再说
4.VMware虚拟机
   VMware应该算是目前最好用的虚拟机软件了,但为什么放到最后说呢,因为上面三个是免费的,它是闭源收费的
好用归好用,但是一般用不起vmware的时候就只好用上面三个了
   在CentOS7上安装Vmware 10.0.3。通常,这个版本是不能在CentOS7工作的,因为它只能运行在比较低的内核版本3.10上。

首先,以正常方式下载并安装(没有问题)。唯一的问题是在后来运行vmware程序的时候。
shVMware-Workstation-Full-10.0.3-1895310.x86_64.bundle
   如何修复?
   1 –进入/usr/lib/vmware/modules/source。

   cd /usr/lib/vmware/modules/source
   2 –解压 vmnet.tar.

   tar -xvf vmnet.tar
   3 –进入 vmnet-only 目录。

   cd vmnet-only
   4 –编辑filter.c文件。

   vi filter.c
   在206和259行,替换以下字符串:

   #if LINUX_VERSION_CODE <KERNEL_VERSION(3, 13, 0)
   为:

   #if LINUX_VERSION_CODE <KERNEL_VERSION(3, 0, 0)
   保存并退出。

   5 –回到先前文件夹。

   cd ../
   6 –再次压缩文件夹。

   tar -uvf vmnet.tar vmnet-only
   7 –移除旧目录。

   rm -fr vmnet-only
   8 –启动vmware并体验。

   9 卸载Vmware
      vmware-uninstall
      vmware-installer -l
      vmware-installer -u vmware-workstation
      这三个命令足够卸载了
 
   10 vmware功能强大,方便易用,跨平台且资料也多,没什么好说的了

七、几种我搭建过的服务器1、ftp服务器
1.安装vsftpd
   yum install vsftpd

2.启动关闭
   设置开机自启
     systemctl enable vsftpd
   启动/关闭重启
     systemctl start/stop/restart vsftpd

3.关闭防火墙和selinux
   systemct disable firewalld
   systemctl stop firewalld
   vi /etc/selinux/config
   将SELINUX改为disabled
   reboot
 
4.通过sftp登陆vsftpd
   sftp username@192.168.1.119

5.浏览器访问
   
 
   注:192.168.1.119是局域网服务器的ip
   查看ip命令ipaddr
2、ftp-yum服务器
无防范的配置:(初学者用)

1.安装createrepo和vsftpd
  yum install createrepo vsftpd

2.mkdir /home/ftp

3.cp-r 源的目录 /home/ftp

4.vi/etc/vsftpd/vsftpd.conf
   最后添加anon_root=/home/ftp和no_anon_password=YES

6.cd/home/ftp

7.createrepo CentOS7-LocalServer/

8.关闭防火墙和selinux
  systemct disable firewalld
  systemctl stop firewalld
  vi /etc/selinux/config
   将SELINUX改为disabled
  reboot

9.systemctl enable vsftpd

10.systemctl start vsftpd

1.客户端配置源
  vi /etc/yum.repos.d/CentOS7-LocalServer.repo
 
  [CentOS7-LocalServer]
  name=LocalServer
  baseurl=
  enable=1
  gpgcheck=0
 
2.yum clean all

3.yum makecache

4.搭建完成,局域网ftp-yum服务器测试
  yum install samba
3、samba服务器
centos7安装samba服务器

1.关闭防火墙,systemctlstop firewalld.service 和setenforce0

2.mkdir/home/samba
 chmod 777 /home/samba

3.配置smb.conf,vim /etc/samba/smb.conf

smb.conf配置内容

[global]

workgroup= WORKGROUP
netbiosname = cmcc1
serverstring = Linux Samba Server TestServer
security= user #在samba4中share 和server已经被禁用

(表示192.168.1.*的IP)
hostsallow = 192.168.1.

mapto guest =Bad User

[WORKGROUP]
path= /home/samba
writeable= yes
browseable= yes

guestok= yes


3.启动samba服务,systemctl start samba.service
注意:在samba4中share 和server已经被禁用,需要用security = user 和mapto guest =Bad User来实现无密码访问目录
4、ntp服务器
1、NFS的安装需要的软件包;
Centos7:需要nfs-utils和nfs4;
2、使用如下命令查找系统是否已安装如上的软件包;
rpm–qa *nfs*
  如果已安装,则直接操作第三步;如果未安装,则运行如下命令安装:
yuminstall nfs4* nfs-util
3、配置服务器端
  建立挂载的目录,并且挂载目录,使用如下命令:
mkdir/home/nfs
cd/home/nfs
mkdirtest
  然后修改/etc/exports文件,该文件定义了共享目录以及共享规则;
vi/etc/exports
  在该文件中加入
/home/nfs192.168.1.119(rw,root_squash)
  上面加入的这行的意思是nfs共享的目录是/home/nfs,192.168.1.0/24网段的IP可以访问,访问是读写,客户端可以有root权限;
  修改完成后保存退出;
  然后运行systemctlrestart nfs重启nfs服务;
4、关闭防火墙,使用如下命令
systemctlstop firewalld
5、配置客户端
  客户端上的操作系统与服务端的操作系统相同;也需要安装nfs-utls和rpcbind;
  安装后查看是否能正常访问nfs服务
showmount–e 192.168.1.119
  出现如下结果说明能正常访问:
Exportlist for 192.168.1.119:
/home/nfs192.168.1.0/24
  然后使用如下命令创建本地文件与服务端的挂载点关联
mkdir/home/nfs
mount-t nfs 192.168.1.119:/home/nfs/ /home/nfs/
  然后运行ls/home/nfs在客户端看到服务器上共享目录中的文件。并可以对共享目录中的文件进行读写操作;
5、apache服务器
1.安装apache主程序httpd
   yum install httpd

2.启动关闭
   设置开机自启
     systemctl enable httpd
   启动/关闭重启
     systemctl start/stop/restart httpd

3.在/var/www/html目录存放自己的网页目录就可以访问了
   新建一个测试网页
   cd /var/www/html
   echo "hello world!">helloworld.html
 
4.在局域网内的任意一台计算机访问测试网页helloworld.html
   
http://192.168.1.119/helloworkd.html
   注:192.168.1.119是局域网apache服务器的ip
   查看ip命令ipaddr
6、centos7服务管理、防火墙和selinux设置
1.服务管理
   设置服务(service)开机自启和关闭开机自启
      systemctl enable/disable service
   设置服务启动/重启/关闭
      systemctl start/restart/stop service
2.防火墙(firewalld)启动与关闭
   防火墙开机自启
   systemctl enable firewalld
   防火墙关闭开机自启
   systemctl disable firewalld
   设置防火墙启动/重启/关闭
      systemctl start/restart/stop firewalld
3.selinux设置与查看和修改运行模式
 设置
   vi /etc/selinux/config
   找到SELINUX=enforcing这一行
   可以修改为以下三个模式
   SELINUX=enforcing            强制模式(默认)
   SELINUX=permissive          宽容模式(有警告)
   SELINUX=disabled              关闭
 
  查看
   getenforce
  修改运行模式
   setenforce 0|1
   0     宽容模式(permissive)
   1     强制模式(disabled)
 
 
systemctl是系统服务管理器命令,它实际上将service 和chkconfig 这两个命令组合到一起。

任务       旧指令    新指令
使某服务自动启动       chkconfig –level3 httpd on systemctl enable httpd.service
使某服务不自动启动    chkconfig –level3 httpd off       systemctl disablehttpd.service
检查服务状态       service httpd status systemctl status httpd.service (服务详细信息)systemctl is-active httpd.service (仅显示是否Active)
显示所有已启动的服务       chkconfig --list      systemctl list-units --type=service
启动某服务    service httpd start   systemctl start httpd.service
停止某服务    service httpd stop   systemctl stop httpd.service
重启某服务    service httpd restart       systemctl restart httpd.service
下面以nfs服务为例:

1.启动nfs服务

systemctlstart nfs-server.service
2.设置开机自启动

systemctlenable nfs-server.service
3.停止开机自启动

systemctldisable nfs-server.service
4.查看服务当前状态

systemctlstatus nfs-server.service
5.重新启动某服务

systemctlrestart nfs-server.service
6.查看所有已启动的服务

systemctllist -units --type=service
开启防火墙22端口

iptables-I INPUT -p tcp --dport 22 -j ACCEPT
如果仍然有问题,就可能是SELinux导致的

关闭SElinux:

修改/etc/selinux/config文件中的SELINUX=””为 disabled,然后重启

彻底关闭防火墙:

sudosystemctl status  firewalld.service
sudosystemctl stop firewalld.service        
sudosystemctl disable firewalld.service
7、centos7的telnet和ssh远程登录
telnet远程登录
1. SentOS7.0 telnet-server 启动的问题。
解决方法:
      ①、先检查CentOS7.0是否已经安装以下两个安装包:telnet-server、xinetd。命令如下:
      rpm-qa telnet-server
      rpm-qa xinetd
      如果没有安装,则先安装。安装命令:
      yuminstall telnet-server-0.17-59.el7.x86_64.rpm
      yuminstall xinetd-2.3.15-12.el7.x86_64.rpm
安装完成后,将xinetd服务加入开机自启动:
      systemctlenable xinetd.service
将telnet服务加入开机自启动:
      systemctlenable telnet.socket
最后,启动以上两个服务即可:
      systemctlstart telnet.socket
      systemctlstart xinetd(或servicexinetd start)
     
2.telnet 192.168.5.128 出错:No route to host
解决方法:在服务器主机运行以下命令:iptables -F 即可

3.telnet 192.168.5.128 出错:connection refuse
解决方法:
      ①、出现这个问题请先检查telnet-server 是否已经启动。
      ②、修改服务器主机允许root用户登录:
      修改方法:
      1)在客户端运行登录指令:telnet192.168.5.128
      2)在服务器主机运行以下命令:tail/var/log/secure
      查看log里面刚才客户端是以哪一个端口设备登录的(如:pts/1)。记录下来然后
      打开/etc/securetty 将设备名添加进去即可。
ssh远程登录
1.centos7默认安装有openssh-server、openssh-client和openssh
2.所以我们直接登陆ssh192.168.1.119

3.后台运行的是sshd,所以我们可以通过它来开启和关闭ssh远程登陆服务
   开启/重启/关闭
     systemctl start/restart/stop sshd

八、centos7学习的一些常用网站
      最近常逛的几个centos7相关的网站
1、一个介绍搭建centos7服务器的网站
http://www.server-world.info/en/note?os=CentOS_7&p=kvm
2、centos的中文站
http://www.centoscn.com/CentOS/
3、centos官方wiki
http://wiki.centos.org/HowTos
4、51cto的centos版块
http://os.51cto.com/col/1335/

九、linux常用命令集锦
      自己总结的一些linux下的常用命令
(一)、处理文件与目录
      1、ls /home/jison          查看/home/jison目录下的文件和目录
                           -l     列出文件的属性与权限
                           -a    列出所有文件(包含隐藏文件)
                           -i     列出inode节点号码
      2、直接查看文件
             1.cattest.txt           由第一行开始显示test.txt文件的内容
             2.tac       test.txt     由最后一行开始显示test.txt文件的内容
             3.moretest.txt        可翻页显示test.txt文件的内容
             4.lesstest.txt          比more多了个往前翻页的功能,pagedown向下翻页,pageup向上翻页
             5.headtest.txt        只看test.txt文件的头几行
             6.tail       test.txt     只看test.txt文件的尾几行
      3、cd      /                    切换到根目录
                           .      当前目录
                           ..     当前目录的上一层目录
                           -      前一个工作目录
                           ~     当前用户所在主文件夹
      4、pwd                        显示当前目录
      5、mkdir test                新建一个test目录
      6、rmdir test                删除空的test目录,此命令无法删除非空目录
      7、cp 源文件目标文件夹         复制文件
                           -r     用于复制目录
      8、mv 源文件目标文件夹        移动文件
      9、rm 文件或目录              删除文件或目录
                           -f     强制删除
                           -r     用于删除目录
      10、touch test.txt          新建一个test.txt的文件
      11、file test.txt             查看文件的类型,有文本文件(text),数据文件(data),二进制文件(binary)
      12、文件与目录的权限
             在linux系统里面,文件与目录均有[-][rwx][rwx][rwx]权限,三个“rwx”一组,分别代表“读写执行”权限,第一组为文件所有者的权限,第二组为同用户组的权限,第三组为其它用户组的权限。而[-]则代表此文件为“文件、目录或者链接等”
                           -      代表文件
                           d     代表目录
                           l      代表链接
      13、改变文件(目录)的属性与权限
             1.chgrpjison test.txt      改变test.txt文件的所属用户组为jison
                           -r     连目录中的子目录和文件一起改所属用户组
             2.chownjison test.txt     改变test.txt文件的所属用户为jison
                           -r     连目录中的子目录和文件一起改所属用户
             3.chmod777 test.txt      将test.txt文件权限改为777,7=4+2+1
                           r=4  u=rwx,g=rwx,o=rwx
                           w=2 a+r  所有用户+r
                           x=1  a代表所有用户
                                  ugo分别代表user,group,other
      14、umask                   默认权限,如果返回0023,023表示被拿掉的权限,实际权限为777-023,则权限为754
                           -S    返回以u=rwx,g=rx,o=r的方式表示默认权限
      15、文件的特殊权限:SUID,SGID,SBIT,用于替代x权限的
             SUID和SGID分别表示使用户和用户组执行二进制文件时暂时获取root,需要具备x的权限,此时x变成s,若无x权限是,则显示为S,表示SUID权限不可用
             SBIT表示用户在该目录下创建的文件或目录只能自己和root删除,需要具备wx的权限,且只对目录有效,此时x变成t,若无x权限,则显示为T,表示SBIT权限不可用
                           SUID=4
                           SGID=2
                           SBIT=1
      16、which ifconfig              列出第一次查找到的脚本命令路径
                           -a    列出找到所有路径
      17、whereis ifconfig            寻找特定文件的路径(通过数据库中的记录)
      18、locate test.txt         寻找test.txt文件的完整路径(通过数据库中的记录)
      19、find               查找文件,时间慢
      20、gzip iwconfig.txt           将当前目录的iwconfig.txt压缩成iwconfig.txt.gz文件,并删除源文件iwconfig.txt
                           -d    解压缩的参数
          gzip -d iwconfig.txt.gz   将当前目录的iwconfig.txt.gz解压为iwconfig.txt,并删除源文件iwconfig.txt.gz
          gcat iwconfig.txt.gz       不解压直接读取iwconfig.txt.gz的内容到屏幕中去
      21、bzip2 iwconfig.txt         将当前目录的iwconfig.txt压缩成iwconfig.txt.bz2文件,并删除源文件iwconfig.txt
                           -d    解压缩的参数
          bzip2 iwconfig.txt.bz2   将当前目录的iwconfig.txt.gz解压为iwconfig.txt,并删除源文件iwconfig.txt.bz2
      22、打包命令tar
          压缩:tar -jcvf filename.tar.bz2 要被压缩的的文件或目录名称
          查询压缩文件中的文件名:tar -jtvf filename.tar.bz2
          解压:tar -jxvf filename.tar.bz2 -C 要解压到的目录
                           -c    新建打包文件
                           -t     查看打包文件有哪些文件名
                           -x    解打包和解压缩功能
                           -j     用于解压bzip2压缩的文件
                           -z    用于解压gzip压缩的文件
                           -v    将正在处理的文件名显示
                           -f     指定处理的文件名
                           -C    指定解压目录
                           -P    保留原本权限和属性
                           -p    保留绝对路径

(二)、网络连接相关命令
      1、查看网络连接接口:
             ifconfig          此命令可以显示本机中所有网络连接端口及状态
             iwconfig         此命令显示无线网络的接口连接状态
      2、IP连接测试(可以ping域名或IP地址)
             pingbaidu.com    
      3、netstat                     跟踪网络,用于显示各种网络相关信息                
      4、本地网络连接
             1.修改IP,子网掩码和默认网关
                    ifconfigeth0 192.168.1.100(给eth0网卡分配一个IP地址)
                    ifconfigeth0 netmask 255.255.255.0(分配子网掩码)
                    routeadd default gw 192.168.1.1(修改默认网关)
             1.启动或关闭eth0网卡方法一
                    ifconfigeth0 up/down
             2.启动或关闭eth0网卡方法二
                    ifup/ifdwoneth0
             3.启动或关闭eth0网卡方法三
                    iplink set eth0 on/off(启动或关闭eth0网卡)
             4.动态设置网卡配置信息
                    dhclienteth0
      5、无线网络连接
             1.打开或关闭无线网卡电源
                    iwconfigwlan0 txpower on/off
             2.启动无线网卡
                    ifconfigwlan0 up
             3.列出区域内的无线网络
                    iwlistwlan0 scan
             4.连接到36C无线网为例
                    iwconfigwlan0 essid "36C" key s:yyxcyyxc或
                    wpa_passphrase36C yyxcyyxc > ./36C.conf
                    wpa_suppliant-B -i wlan0 -Dwext -c ./36C.conf
             5.动态获取ip
                    dhclientwlan0
      6、设置ip地址和子网掩码并启动网卡eth0
             ifconfigeth0 192.168..21.15 netmask 255.255.255.0 up
      7、添加和删除默认网关
             route-n(查询路由表)
             routeadd default gw 192.168.21.254
             routedel default gw 192.168.21.254
      8、配置固定dns服务器
             手动改/etc/resolv.conf文件
             echo"nameserver218.104.111.114">>/etc/resolv.conf
      9、修改dns与IP地址的映射关系的/etc/hosts文件(以下为文本格式要求)
             IP    DNS

(三)、磁盘管理与文件系统
      1、df                           列出整体磁盘使用量
                    -h           以GB、MB、KB等自行显示
      2、du /home/jison         列出目录所占容量
                    -m          以MB显示
                    -s            列出目录总量
      3、mount /dev/sdb1 /mnt             将磁盘sdb1挂载到mnt目录下
      4、umount /dev/sdb1            卸载已挂载的磁盘sdb1(也可以卸载所挂载的mnt目录)
      5、fdisk /dev/sda          对磁盘sda进行分区,参数不用记,提示相当友好
      6、mkfs -t ext3 /dev/sda4     将磁盘分区sda4格式化为ext3的文件系统
      7、badblocks /dev/sda4         对磁盘分区sda4进行坏道检测
                    -s            在屏幕上列出进度
                    -v           可以再屏幕上看到进度
      8、parted /dev/sda print 列出硬盘sda的分区表资料
      9、parted /dev/sda 8             删除硬盘sda的8号分区,立即生效,慎重。
      10、parted /dev/sda mkpart[parimary|logical|extended] ext3 19.2G 19.7G
                                  新增一个从19.2G节点处到19.7G节点处的分区
      11、dd if="input file"of="output file" bs="block size" count="bs*snumber"
                                  直接对磁盘操作的备份命令
           
(四)、系统相关命令
      1、top                         动态查看进程变化
                    输入P           以CPU的使用资源排序
                    输入M          以内存的使用资源排序
                    输入N           以进程号PID排序
                    输入T           以CPU的使用时间TIME+排序
                    输入q            退出top命令                                  
      2、ps                           查看某个时间点的进程运行情况
                    -A          显示所有进程
                    -l            详细列出PID信息
                    aux         显示所有进程
      3、kill 2656                 杀掉PID为2656的进程号
         killall dhclient         杀掉dhclient服务开启的相关进程
      4、pstree               显示进程树
                    -P           显示进程号
                    -u           显示每个进程所属账号
      5、free                        查看内存使用情况
                    -m          以MB显示
                    -t            显示内存与swap总量
      6、uname                     查看系统与内核相关信息
                    -a           显示所有系统相关信息
                    -r            只显示内核版本
      7、uptime                    显示top界面最上面一行
      8、locale               显示系统当前默认语系
                    -a           显示系统支持的语系
      9、LANG=C                修改当前语系为C
      10、alias               显示系统当前命令的别名
         alias lm=*ls -l | more*       设置一个命令别名为lm
         unalias lm               取消lm这个命令别名
      11、history                   查询用过的历史命令
          history 10                     查询最近用过的10条命令
      12、Ctrl+Alt+F1-F6            打开tty1-6六个终端的快捷键
      13、reboot                   马上重启
          shutdown -r now
      14、poweroff               马上关机
          shutdown -h now
      15、su -                切换为管理员用户
          su jison                 切换为jison用户
      16、sudo               以管理员权限执行一条命令
      17、useradd jison          添加一个名为jison的用户
          passwd jison          修改jison的密码
          userdel jison          删除jison用户
      18、groupadd jison              添加一个名为jison的用户组
          gpasswd jison         修改jison用户组的密码
          groupdel jison        删除一个名为jison的用户组
      19、init 1                     单用户模式,一般用来维护系统时开启
          init 3                     开启文本模式的linux
          init 5                     开启图形模式的linux
      20、startx                    从命令行开启Xwindow桌面
      21、last                列出目前与过去登录系统的用户相关信息
      22、whoami                 显示当前登录的用户
      23、echo $SHELL               查看当前使用shell类型
      23、chsh -s /bin/dash            改变shell的类型为dash,需重启生效
      24、glxgeras                glxgears是一个测试你的Linux是否可以顺利运行2D、3D的测试软件
      25、glxinfo | grep rendering 提示:direct rendering: Yes 表明openGL启动正常

(五)、各发行版软件安装与软件源配置
      1、redhat/fedora/centos的yum在线软件管理和rpm包安装
             1.yuminstall 软件包名        在线安装一个软件
                           -y           所有询问返回yes
             2.yumsearch i18n         查询含有i18n的在线软件包名
             3.yumremove 软件包名             卸载软件包名的软件
             4.rpm-ivh test.rpm              安装名为test.rpm的软件
             5.rpm-r test.rpm           卸载rpm安装的test.rpm软件
                           -q           查询已安装软件
                           -a           查询所有已安装软件
      2、opensuse的zypper在线软件管理和rpm包安装
             1.zypper install/in 软件包名在线安装一个软件包
             2.zyppersearch/se i18n         查询一个含有i18n的在线软件包名
             3.zypperremove/rm 软件包名     卸载一个在线安装的软件包
             4.rpm包的安装参照redhat系列
      3、debian/ubuntu/deepin的dpkg在线软件管理和deb包安装
             1.apt-getinstall 软件包名    在线安装一个软件
             2.apt-getremove 软件包名  卸载在线安装的软件
             3.dpkg-i 软件包名.deb              安装一个deb包
             4.dpkg-r 软件包名             卸载一个dpkg安装的软件
             5.dpkg-s                     查询已安装的包的详细信息
      4、redhat/fedora/centos更改软件源
             将镜像网站提供的repo文件复制到/etc/yum.repos.d文件夹,然后执行命令
             yummakeclean
             yummakecache
             yumrepolist                 查询已配置好的软件源
      5、opensuse更改软件源
              repos, lr                   列出所有定义的安装源
              addrepo, ar                添加一个新的安装源
              removerepo,rr             删除指定的安装源
              renamerepo, nr             重命名指定的安装源
              modifyrepo, mr            修改指定的安装源
              refresh, ref                 刷新所有安装源
              clean                     清除本地缓存
      6、ubuntu更改软件源
             更改/etc/apt/sources.list文件的内容为镜像网站的网址,然后保存,执行命令
             sudoapt-get update就可以更新了
      7、tarball软件安装
             ./configure                    建立makefile文件
             makeclean                    清除前一次make的目标文件
             make                            根据makefile文件进行编译
             makeinstall                  根据makefile文件进行安装

十、磁盘配额、阵列与LVM管理
(一)、磁盘阵列软raid
1.mdadm的语法
  mdadm --detail /dev/md0                    查看/dev/md0的raid细节
  mdadm --create --auto=yes /dev/md[0-9] --level=[015] --raid-devices=N--spare-devices=N /dev/sdx
      --create:为新建raid的参数
      --auto=yes:决定新建后面接的软件磁盘阵列设备,即/dev/md0,/dev/md1等
      --level=[015]:设置磁盘阵列等级
      --detail:列出后面所接的那个磁盘阵列设备的详细信息
      --raid-devices=N:使用几个磁盘作为磁盘阵列的设备
      --spare-devices=N:使用几个磁盘作为备用设备
  mdadm --manage /dev/md[0-9] [--add /dev/sdxN] [--remove /dev/sdxN][--fail /dev/sdxN]
      --add:后面接的设备将加到这个md中
      --remove:将后面接的设备从这个md中删除
      --fail:将后面的设备设置为出错状态
     
2.一个raid5实例
  fdisk /dev/sda
   使用n参数新建6个大小均为300M的分区dev/sda5-10
   w保存后使用partprobe刷新分区表
   接着使用sda5-9组成raid5阵列
  mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4--spare-devices=1 /dev/sda{5,6,7,8,9}
   查看系统软件磁盘阵列的情况
  cat /proc/mdstat
   格式和与挂载使用raid
  mkfs -t ext3 /dev/md0
  mkdir /mnt/raid
  mount /dev/md0 /mnt/raid
   查看md0软件磁盘阵列的详细信息
  mdadm --detail /dev/md0
 
   模拟援救raid5
   将/dev/sda6设置为出错状态(备用的/dev/sda9会自动补上)
  mdadm --manage /dev/md0 --fail /dev/sda6
   此时赶紧输入以下命令查看磁盘补上的过程(速度要快,要不然看到的就是补上的结果了)
  mdadm --detail /dev/md0
  cat /proc/mdstat
 
   等一会儿后,重复输入上面两个命令就可以看到补上后的结果了
  mdadm --detail /dev/md0
  cat /proc/mdstat
 
   将出错的/dev/sda6删除,并将/dev/sda10添加为raid5备用磁盘
  mdadm --manage /dev/md0 --add /dev/sda10 --remove /dev/sda6
 
3.开机自动raid并自动挂载
   查看/dev/md的uuid
  mdadm --detail /dev/md0 | grep -i uuid
   可以看到以下一行
  UUID:048383b6:c69991e2:f9c2bef7:39d45ef1
 
   接下来设置mdadm.conf
  vi /etc/mdadm.conf
   往里面添加一行
  ARRAY /dev/md0 048383b6:c69991e2:f9c2bef7:39d45ef1
 
   设置开机自动挂载
  vi /etc/fstab
   往末尾添加一行
  /dev/md0 /mnt/raid ext3 defaults 1 2

   测试挂载/etc/fstab里面设置的设备
  umount /dev/md0
  mount -a
  df /mnt/md0
 
4.关闭软件raid
   先卸载/dev/md0
  umount /dev/md0
   然后删除之前在/etc/fstab中添加的语句
 
   直接关闭/dev/md0的方法
  mdadm --stop /dev/md0
 
   查看raid是否还存在
  cat /proc/mdstat
 
   删除/etc/mdadm.conf里之前写的语句
  vi /etc/mdadm.conf

(二)、弹性磁盘LVM管理
1.建立5个分区
  /**
   I * 由于本机没有留下空闲的磁盘空间,只好把swap删掉用来腾出空间
     */
  1.先把swap删除 swapoff /dev/sdax
  2.修改开机挂载文件/etc/fstab
    删掉swap那一行后保存
 
  3.新建分区
  fdisk /dev/sda
   使用n参数新建5个300M分区/dev/sda5-9
   使用t参数修改分区id为8e
   使用w保存退出
   输入partprobe命令更新分区表
 
2.PV(物理卷)阶段
   查看本机是否存在pv
    pvscan
   新建/dev/sda5-8四个分区为pv
    pvcreate /dev/sda{5,6,7,8}
   查看刚刚新建的pv
    pvscan
   更详细的列出系统上面pv信息
    pvdisplay
 
3.VG(卷用户组)阶段
   将/dev/sda{5,6,7,8}新建为一个分区
    vgcreate -s 16M jisonvg /dev/sda{5,6,7,8}
        -s        后面接PE(物理扩展块)的大小
   查看本机的vg
    vgscan
   再次查看本机的pv
     pvscan
   更详细的列出系统上面vg信息
    vgdisplay
4.LV(逻辑卷)阶段
   将整个的jisonvg全部分配给jisonlv
    lvcreate -l 72 -n jisonlv jisonvg
        -L              后面接容量,可以是M,G,T
        -l        后面接PE的个数
        -n        后面接的是LV的名称
   更详细的列出系统上面lv信息
    lvdisplay

5.文件系统阶段
   格式化jisonlv的文件系统为ext3
    mkfs -t ext3 /dev/jisonvg/jisonlv
   挂载jisonlv到/mnt/lvm上
    mkdir /mnt/lvm
    mount /dev/jisonvg/jisonlv /mnt/lvm
   查看挂载的jisonlv
    df -h
   测试使用jisonlv
    cp -r /etc /mnt/lvm
    ll /mnt/lvm/etc

6.放大LV的容量
   使用之前新建的没有加入到jisonlv的pv(/dev/sda9),将它加到jisonvg上面
    vgextend jisonvg /dev/sda9
   详细的列出系统上面vg信息
    vgdisplay
   调整jisonlv的大小
    lvresize -l +18 /dev/jisonvg/jisonlv
   详细的列出系统上面lv信息
    lvdisplay
   查看原先文件系统里面的superblock的记录情况
    dumpe2fs /dev/jisonvg/jisonlv
   完整的将LV的容量扩充到整个文件系统
    resize2fs /dev/jisonvg/jisonlv
   查看扩充后文件系统里面的superblock的记录情况
    dumpe2fs /dev/jisonvg/jisonlv
   查看扩充后的文件系统
    df -h /dev/jisonvg/jisonlv

7.缩小LV的容量
   先卸载/dev/jisonvg/jisonlv
    umount /mnt/lvm
   进行磁盘检查
    e2fsck -f /dev/jisonvg/jisonlv
   降低文件系统的容量
    resize2fs /dev/jisonvg/jisonlv 300M
   查看降低容量后的文件系统
    mount /dev/jisonvg/jisonlv /mnt/lvm
    df -h /mnt/lvm
   降低LV的容量
    lvresize -l -18 /dev/jisonvg/jisonlv
   将没有使用的PE转移到/dev/sda6上
    pvdisplay
    pvmove /dev/sda6 /dev/sda9
   将/dev/sda6移出jisonvg
    vgreduce jisonvg /dev/sda6
   将pv(/dev/sda6)删除
    pvremove /dev/sda6
   
8.LVM快照
   建立一个/dev/jisonvg/jisonlv的快照/dev/jisonvg/jisonss
    pvcreate /dev/sda6
    vgextend jisonvg /dev/sda6
    vgdisplay
    lvcreate -l 18 -s -n jisonss /dev/jisonvg/jisonlv
    lvdisplay
   挂载/dev/jisonvg/jisonss
    mkdir /mnt/snapshot
    mount /dev/jisonvg/jisonss /mnt/snapshot
    df -h
    会发现快照/dev/jisonvg/jisonss和/dev/jisonvg/jisonlv的使用量和大小居然是一模一样的,但实际上快照区是没有这么大的,快照区只是记录创建快照那一瞬间/dev/jisonvg/jisonlv的内容
    当修改/dev/jisonvg/jisonlv后快照区的内容还是没有变化的
   利用快照区复原文件系统
    umount /mnt/snapshot
    df /mnt/lvm
    rm -rf /mnt/lvm/etc
    cp -r /boot /mnt/lvm
    mount /dev/jisonvg/jisonss /mnt/snapshot
    df -h
    这时会发现/dev/jisonvg/jisonlv和/dev/jisonvg/jisonlv的使用量和大小不一样了,快照里面的内容还是原来的,而/dev/jisonvg/jisonlv的内容则是修改过后的
    这时要还原/dev/jisonvg/jisonlv的内容为原来的内容的话,格式化/dev/jisonvg/jisonlv后,将/dev/jisonvg/jisonss的内容复制到/dev/jisonvg/jisonlv里面就可以了
    umount /dev/lvm
    mkfs -t ext3 /dev/jisonvg/jisonlv
    mount /dev/jisonvg/jisonlv /mnt/lvm
    cp -r /mnt/snapshot/* /mnt/lvm
    cd /mnt/lvm
    ls
    这时应该/dev/jisonvg/jisonlv和快照/dev/jisonvg/jisonss的内容又一致了
   
9.关闭LVM并还原磁盘为swap
   卸载
  umount /mnt/lvm
  umount /mnt/snapshot
   处理快照和原系统
  lvremove /dev/jisonvg/jisonss
  lvremove /dev/jisonvg/jisonlv
   使jisonvg变成不活跃状态
  vgchange -a n jisonvg
   删除jisonvg
  vgremove jisonvg
   删除所有的pv
  pvremove /dev/sda{5,6,7,8,9}
   将/dev/sda{5,6,7,8,9}分区的8e标志改回83,重新建立分区并格式化为swap
  fdisk /dev/sda
   使用t参数修改分区/dev/sda{5,6,7,8,9}的id为83
   使用d参数删除/dev/sda{5,6,7,8,9}分区
   使用d参数删除逻辑分区/dev/sda4
   使用n参数将所有剩余空间新建一个分区为/dev/sda2
   使用w参数保存分区操作
   使用partprobe命令刷新分区表
   将/dev/sda2格式化为swap分区
  mkswap /dev/sda2
   然后重启
  reboot

10、磁盘配额quota(网上某篇文章,找不到地址了)
在 Linux 系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生,为了合理使用这些空间,管理员需要控制用户对磁盘空间的使用,这个就是Linux 下的配额管理。
配额管理是对某个磁盘分区进行限制。这里的限制包括2个方面:
(1).单个用户对某个目录下空间大小的限制。
(2).单个用户对某个目录下文件个数的限制。

(1.1) Quota 常用在如下几种情况
1)  针对 WWW server ,例如:每个人的网页空间的容量限制。
2)  针对 mail server,例如:每个人的邮件空间限制。
3)  针对 file server,例如:每个人最大的可用网络硬盘空间。

(1.2) Quota 的2个注意事项
    (1)仅针对整个 partition:
quota针对『整个 partition』进行限制, 例如:如果/dev/hda5 是挂载在 /dave 目录下,那么在 /dave 目录下的所有目录都会受到限制。

    (2)只对一般身份使用者有效:
不是所有在 Linux 上面的账号都可以设定 quota,例如 root 就不能设定quota 。


(1.3) Quota 的三种限制类型
    (1)soft limit:
这是最低限制容量的意思,用户在宽限期间之内,他的容量可以超过 soft ,但必需要宽限时间之内将磁盘容量降低到 soft 的容量限制之下。

    (2)hard limit:
这是『绝对不能超过』的容量。通常hard limit 会比 soft limit 为高,例如网络驱动器空间为 30 MB ,那么 hard limit 就设定为 30MB ,但是为了让使用者有一定的警戒心,所以当使用空间超过 25 MB 时,例如使用者使用了 27 MB 的空间时,那么系统就会警告用户,让使用者可以在『宽限时间内』将他的档案量降低至 25 MB ( 亦即是 soft limit )之内。也就是说, soft 到 hard 之间的容量其实就是宽限的容量,可以达到针对使用者的『警示』作用。

    (3)宽限时间:
宽限时间就是当使用者使用的空间超过了 soft limit ,却还没有到达 hard limit 时,那么在这个『宽限时间』之内,就必需要请用户将使用的磁盘容量降低到 soft limit 之下。而当用户将磁盘容量使用情况超过 soft limit 时,『宽限时间』就会自动被启动,而在用户将容量降低到 softlimit 之下,那么宽限时间就会自动的取消。

(1.4 )Quota 的安装包
  Quota也需要安装,安装包如下:

[root
@rhce  /]# rpm -q quota
quota-3.17-16.el6.x86_64
[root@rhce /]#

(1.5) Quota 相关的命令

与Quota 相关的几个命令如下。

    (1.5.1) 启用quota:quotaon
[root@rhce /]# quotaon
Bad number of arguments.
quotaon: Usage:
     quotaon [-guvp] [-F quotaformat] [-x state] -a
     quotaon [-guvp] [-F quotaformat] [-x state] filesys ...

-a, --all                turn quotas on for all filesystems
-f, --off                turn quotas off
-u, --user               operate on user quotas
-g, --group              operate on group quotas
-p, --print-state        print whether quotas are on or off
-x, --xfs-command=cmd    perform XFS quota command
-F, --format=formatname  operate on specific quota format
-v, --verbose            print more messages
-h, --help               display this help text and exit
-V, --version            display version information andexit
[root@rhce /]#


(1.5.2) 关闭quota:quotaoff
[root@rhce /]# quotaoff
Bad number of arguments.
quotaoff: Usage:
     quotaoff [-guvp] [-F quotaformat] [-x state] -a
     quotaoff [-guvp] [-F quotaformat] [-x state] filesys ...

-a, --all                turn quotas off forallfilesystems
-f, --off                turn quotas off
-u, --user               operate on user quotas
-g, --group              operate on group quotas
-p, --print-state        print whether quotas are on or off
-x, --xfs-command=cmd    perform XFS quota command
-F, --format=formatname  operate on specific quota format
-v, --verbose            print more messages
-h, --help               display this help text and exit
-V, --version            display version information andexit

   (1.5.3) 配额发送警告:warnquota
[root@rhce /]# warnquota -h
warnquota: Usage:
warnquota [-ugsid] [-F quotaformat] [-cconfigfile] [-q quotatabfile][-a adminsfile]

-u, --user                      warn users
-g, --group                     warn groups
-s, --human-readable            send information in morehumanfriendly units
-i, --no-autofs                 avoid autofs mountpoints
-d, --no-details                do not send quotainformationitself
-F, --format=formatname         use quotafiles of specific format
-c, --config=config-file        non-default config file
-q, --quota-tab=quotatab-file   non-default quotatab
-a, --admins-file=admins-file   non-default admins file
-h, --help                      display this helpmessageand exit
-v, --version                   display versioninformationand exit

Bugs to jack@suse.cz
[root@rhce /]#

  (1.5.4) 编辑配额属性:edquota
[root@rhce /]# edquota
edquota: Usage:
     edquota [-rm] [-u] [-F formatname] [-p username] [-f filesystem]username...
      edquota [-rm] -g [-F formatname] [-pgroupname] [-f filesystem] groupname...
     edquota [-rm] [-u|g] [-F formatname] [-f filesystem] -t
     edquota [-rm] [-u|g] [-F formatname] [-f filesystem]-Tusername|groupname ...

-u, --user                    edit user data
-g, --group                   edit group data
-r, --remote                  edit remote quota (via RPC)
-m, --no-mixed-pathnames      trim leading slashes fromNFSv4mountpoints
-F, --format=formatname       edit quotas of a specific format
-p, --prototype=name          copy data from a prototype user/group
 --always-resolve         alwaystry to resolve name, even if it is
                             composed onlyofdigits
-f, --filesystem=filesystem   edit data only on a specific filesystem
-t, --edit-period             edit grace period
-T, --edit-times              edit grace time of a user/group
-h, --help                    display this help textandexit
-V, --version                 display version informationandexit

Bugs to: jack@suse.cz
[root@rhce /]#

  (1.5.5) 显示配额信息:repquota
[root@rhce /]# repquota -h
repquota: Utility for reporting quotas.
Usage:
repquota [-vugsi] [-c|C] [-t|n][-Fquotaformat] (-a | mntpoint)

-v, --verbose               display also users/groups withoutanyusage
-u, --user                  display informationaboutusers
-g, --group                 display informationaboutgroups
-s, --human-readable        show numbers in human friendlyunits(MB, GB, ...)
-t, --truncate-names        truncate names to 8 characters
-p, --raw-grace             print grace time in secondssinceepoch
-n, --no-names              do not translate uid/gid to name
-i, --no-autofs             avoid autofs mountpoints
-c, --batch-translation     translate big number of ids at once
-C, --no-batch-translation  translate ids one by one
-F, --format=formatname     report information for specific format
-h, --help                  display this help messageandexit
-V, --version               display version informationandexit

Bugs to jack@suse.cz
[root@rhce /]#

  (1.5.6) 检查并修复quota 配置文件:quotacheck
#quotacheck –cvug/tmp

[root@rhce ~]# quotacheck -h
Utility for checking and repairingquotafiles.
quotacheck [-gucbfinvdmMR][-F<quota-format>] filesystem|-a

-u, --user                check user files
-g, --group               check group files
-c, --create-files        create new quota files
-b, --backup              create backups of old quota files
-f, --force               force check even if quotasareenabled
-i, --interactive         interactive mode
-n, --use-first-dquot     use the first copy of duplicated structure
-v, --verbose             print more information
-d, --debug               print even more messages
-m, --no-remount          do not remount filesystem read-only
-M, --try-remount         try remounting filesystem read-only,
                         continue even ifitfails
-R, --exclude-root        exclude root when checkingallfilesystems
-F, --format=formatname   check quota files of specific format
-a, --all                 check all filesystems
-h, --help                display this message and exit
-V, --version             display version informationandexit

Bugs to jack@suse.cz
[root@rhce ~]#

[root@rhce ~]#  quotacheck -cvug /dave
quotacheck: Your kernel probablysupportsjournaled quota but you are not using it. Consider switching tojournaled quotato avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdc1 [/dave] done
quotacheck: Cannot stat old user quotafile:No such file or directory
quotacheck: Cannot stat old groupquotafile: No such file or directory
quotacheck: Cannot stat old user quotafile:No such file or directory
quotacheck: Cannot stat old group quotafile:No such file or directory
quotacheck: Checked 3 directories and2files
quotacheck: Old file not found.



本文转自http://tieba.baidu.com/p/3379447850

  • 0
    点赞
  • 1
    评论
  • 6
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值