Linux 基础篇(10)图形界面&备份策略&核心编译

x-window配置

一、什么是 X Window System

1、X Window 的发展简史

  • 在 Unix Like 上面的图形使用者介面 (GUI) 被称为 X 或 X11;
  • X11 是一个『软件』而不是一个操作系统;
  • X11 是利用网络架构来进行图形介面的运行与绘制;
  • 较著名的 X 版本为 X11R6 这一版,目前大部分的 X 都是这一版演化出来的 (包括 X11R7);
  • 现在大部分的 distribution 使用的 X 都是由 Xorg 基金会所提供的 X11 软件;
  • X11 使用的是 MIT 授权,为类似 GPL 的自由软件授权方式。

2、主要组件

  • x-wondow的主要组件包括:X Server/X Client/Window Manager/Display Manager
  • 基本上是分成 X Server 与 X Client 两个组件而已喔!
  • 其中 X Server 在管理硬件,而 X Client 则是应用程序。
  • 在运行上,X Client 应用程序会将所想要呈现的画面告知 X Server ,最终由 X server 来将结果透过他所管理的硬件绘制出来
X Server
  • 键盘、鼠标、手写板、显示器 (monitor) 、萤幕解析度与色彩深度、显卡 (包含驱动程序) 与显示的字型等等,都是 X Server 管理的
  • 每部用户端主机都需要安装 X Server,而服务器端则是提供 X Client 软件, 以提供用户端绘图所需要的数据数据
  • X Server / X Client 两者其实有互动的,X Server 会将周边设备的这些动作行为告知 X Client ,让 X Client 去伤脑筋
X Client
  • X Client 最重要的工作就是处理来自 X Server 的动作,将该动作处理成为绘图数据, 再将这些绘图数据传回给 X Server
Window Manager
  • 特殊的 X Client ,负责管理所有的 X client 软件
  • 常见的窗口管理员全名与连结:GNOME、KDE、 twm、XFCE
  • X Server / X client / window manager 的关系说明
    • CentOS 主机上面必须要有 Xorg 的 X server 核心, 这样才能够提供萤幕的绘制啊~
    • 然后为了让窗口管理更方便,於是就加装了 GNOME 这个计画的 window manager ,
    • 然后为了让自己的使用更方便,於是就在 GNOME 上面加上更多的窗口应用软件(X client),建构出X Window System
    • X server/X client/Window Manager 是同时存在於一部 Linux 主机上头
Display Manager
  • 这个 display manager 最大的任务就是提供登陆的环境, 并且加载使用者选择的 Window Manager 与语系等数据喔

3、X Window 的启动流程

进入图形界面的方法
  • runlevel5 直接登录就可以获得图形界面
  • 文字界面通过 startx 来启动图形界面,命令的说明如下
startx [X client 参数] -- [X server 参数]
# 范例:以色彩深度为 16 bit 启动 X
startx  --  -depth 16
  • startx 的作用是找出 X server / X client 的配置值,事实上启动 X 的是 xinit 这支程序
图形界面配置使用的优先级
  • X server 的参数方面
    使用 startx 后面接的参数;
    若无参数,则找寻使用者家目录的文件,亦即 ~/.xserverrc
    若无上述两者,则以 /etc/X11/xinit/xserverrc
    若无上述三者,则单纯运行 /usr/bin/X (此即 X server 运行档)
  • X client 的参数方面
    使用 startx 后面接的参数;
    若无参数,则找寻使用者家目录的文件,亦即 ~/.xinitrc
    若无上述两者,则以 /etc/X11/xinit/xinitrc
    若无上述三者,则单纯运行 xterm (此为 X 底下的终端机软件)

上述这么多的文件 centos7 里面默认的就只找到一份 /etc/X11/xinit/xinitrc
实际上默认启动的选项是 :xinit xterm -geometry +1+1 -n login -display :0 -- X :0

二、X Server 配置

1、解析 xorg.conf 配置

  • centos 7 /etc/X11/xorg.conf 这个文件设计默认没有的,只有名为xorg.conf.d的一个文件夹,里面好像是只有一个键盘的配置文件,反正我的系统是这样的
关于文件中的配置文件
  • 基本的格式是这样的
Section  "section name"
-----中间就是配置项
EndSection
  • 其中的 section name 可以是下面的这些值
    • Module: 被加载到 X Server 当中的模块 (某些功能的驱动程序);
    • InputDevice: 包括输入的 1. 键盘的格式 2. 鼠标的格式,以及其他相关输入设备;
    • Files: 配置字型所在的目录位置等;
    • Monitor: 监视器的格式, 主要是配置水平、垂直的升级频率,与硬件有关;
    • Device: 这个重要,就是显卡芯片组的相关配置了;
    • Screen: 这个是在萤幕上显示的相关解析度与色彩深度的配置项目,与显示的行为有关;
    • ServerLayout: 上述的每个项目都可以重覆配置,这里则是此一 X server 要取用的哪个项目值的配置罗。
  • centos7 里面那个文件中键盘的配置文件的内容如下
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "default,cn"
        Option "XkbVariant" ","
EndSection
显示器参数调整
  • 修改完配置文件需要重启X,直接使用命令init 3 ; init 5即可
# 1. 使用 1024x768 的解析度,75 Hz 的升级频率来取得显示器内容
命令:gtf 1024 768 75 -x
显示:# 1024x768 @ 75.00 Hz (GTF) hsync: 60.15 kHz; pclk: 81.80 MHz
Modeline "1024x768_75.00"  81.80  1024 1080 1192 1360  768 769 772 802  -HSync +Vsync

# 2. 将上述的数据输入 xorg.conf 内的 Monitor 项目中:
命令:vim /etc/X11/xorg.conf
显示:Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
    Modeline "1024x768_75.00"  81.80  1024 1080 1192 1360  768 769 772 802  -HSync +Vsync
EndSection
显卡驱动安装
  • 现在很多的图形界面,比如 ubuntu等发行版都有显卡驱动管理的软件,让我们通过图形界面就可以安装显卡的驱动
  • 对于 N 家的显卡,一般可以选择N家提供的闭源驱动和第三方的开源驱动,当然也可以选择不用独显,切换为intel的核显驱动

备份策略

一、备份要点

1、哪些 Linux 数据具有备份的意义

操作系统本身需要备份的文件
/etc/ 整个目录
/home 整个目录
/var/spool/mail
/boot
/root
如果你自行安装过其他的套件,那么 /usr/local/ 或 /opt 也最好备份一下!
网络服务的数据库方面
软件本身的配置文件,例如:/etc/ 整个目录,/usr/local/ 整个目录
软件服务提供的数据,以 WWW 及 MySQL 为例:
WWW 数据:/var/www 整个目录或 /srv/www 整个目录,及系统的使用者家目录
MySQL : /var/lib/mysql 整个目录
其他在 Linux 主机上面提供的服务之数据库文件!
推荐需要备份的目录
/boot
/etc
/home
/root
/usr/local(或者是 /opt 及 /srv 等)
/var(注:这个目录当中有些缓存目录则可以不备份!)
不需要备份的目录
/dev :这个随便你要不要备份
/proc:这个真的不需要备份啦!
/mnt 与 /media:如果你没有在这个目录内放置你自己系统的东西,也不需要备份
/tmp :干嘛存缓存档!不需要备份!

二、备份的种类、频率与工具的选择

1、完整备份之累积备份

  • 完整备份的好处就是还原比较快,但是就是数据量很大
  • 累计备份可以减少完整备份的数据量:基本原理就是第一次完整进行备份,从第二次开始只对差异的部分进行备份,这样就能够大大减少完整备份的数据量了,但缺点就是还原起来会比较麻烦一些
完整备份可以使用:dd cipo
# 1. 用 dd 来将 /dev/sda 备份到完全一模一样的 /dev/sdb 硬盘上:
dd if=/dev/sda of=/dev/sdb

# 2. 使用 cpio 来备份与还原整个系统,假设储存媒体为 SATA 磁带机:
find / -print | cpio -covB > /dev/st0  <==备份到磁带机
cpio -iduv < /dev/st0                  <==还原

# 3. 还可以使用 tar 来进行完整备份
tar --exclude /proc --exclude /mnt --exclude /tmp --exclude /backupdata -jcvp -f /backupdata/system.tar.bz2  /
累积备份可以使用:dump(restore)
# 1. 完整备份
dump -0u -f /backupdata/home.dump /home

# 2. 第一次进行累积备份
dump -1u -f /backupdata/home.dump.1 /home

累积备份还可以自己写脚本来进行备份

2、完整备份之差异备份

  • 差异备份与累积备份有点类似,也是需要进行第一次的完整备份后才能够进行
  • 只是差异备份指的是:每次的备份都是与原始的完整备份比较的结果
  • 系统运行的越久,离完整备份时间越长, 那么该次的差异备份数据可能就会越大
  • 差异备份的好处就是还原快,只需还原完整备份,和最近一次的差异备份,但是需要的空间就比较大了
差异备份的的方法
  • 使用 dump:每次备份的等级都是 level1就可以了
  • 使用 tar:只有在比 2009-06-01 还要新的文件,在 /home 底下的文件才会被打包进 home.bz2 中
tar -N '2009-06-01' -jpcv -f /backupdata/home.tar.bz2 /home
  • 使用 rsync:第一次备份的数据比较多会比较慢,后来就比较快了
rsync -av /home /backupdata/

3、关键数据备份

  • 还原比较麻烦是肯定的了,但是备份起来又快又简单,使用 tar 把
tar -jpcvf mysql.`date +%Y-%m-%d`.tar.bz2 /var/lib/mysql

三、参考备份策略与相应脚本

  • 主机硬件:使用一个独立的 filesystem 来储存备份数据,此 filesystem 挂载到 /backup 当中;
  • 每日进行:目前仅备份 MySQL 数据库;
  • 每周进行:包括 /home, /var, /etc, /boot, /usr/local 等目录与特殊服务的目录;
  • 自动处理:这方面利用 /etc/crontab 来自动提供备份的进行;
  • 异地备援:每月定期的将数据分别 (a)烧录到光盘上面 (b)使用网络传输到另一部机器上面。

1、每周系统备份的 script

2、每日备份数据的 script

3、远程备援的 script

  • 以上的脚本就不复制了,有需要的话直接取鸟哥的站点查看把:http://cn.linux.vbird.org/linux_basic/0580backup.php

4、灾难复原的考量

  • 只是硬件坏了的话,就直接还原就行了
  • 如果是由于外部的攻击导致,先断网,复原数据,一定要找出漏洞修复了才行,不然一联网,哦豁,又被别人攻击了

核心编译

  1. 编译前的任务:认识核心与取得核心原始码
      1.1 什么是核心 (Kernel)
      1.2 升级核心的目的
      1.3 核心的版本
      1.4 核心原始码的取得方式:distributions 默认、最新、patch
      1.5 核心原始码的解压缩/安装/观察
  2. 核心编译的前处理与核心功能选择
      2.1 硬件环境检视与核心功能要求
      2.2 保持干净原始码: make mrproper
      2.3 开始挑选核心功能: make XXconfig
      2.4 核心功能细项选择
        a. 一般配置(General setup):附加版本名称、IPC 通讯、程序相关等
        b. 核心模块与 block layer 支持
        c. CPU 的类型与功能选择(含虚拟化技术)
        d. 电源管理功能
        e. 一些汇流排 (bus) 的选项
        f. 编译后运行档的格式
        g. 核心的网络功能
        h. 各项装置的驱动程序
        i. 文件系统的支持
        j. 核心黑客、资讯安全、口令应用
        k. 虚拟化与函式库
  3. 核心的编译与安装
      3.1 编译核心与核心模块
      3.2 实际安装模块
      3.3 开始安装新核心与多重核心菜单 (grub)
  4. 额外(单一)核心模块编译
      4.1 编译前注意事项
      4.2 单一模块编译
      4.3 核心模块管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值