Linux 练习题-2基础 问答

1、解释什么是GPL,GNU,自由软件

  1. GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。
  2. GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。
  3. 自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。

2、安装系统时如何给linux操作系统分区

  1. 常规分区:数据不是特别重要的业务(集群的某个节点)

/boot  引导分区  200M 主分区

swap  交换分区  内存的1.5倍,内存大于8G,就给8-16G

/   Linux所有目录顶点  剩余所有空间

  1. 数据重要(数据库、存储服务器)

/boot  引导分区  200M 主分区

swap  交换分区  内存的1.5倍,内存大于8G,就给8-16G

/   Linux所有目录顶点,100-200G

/data  所有,存放数据

  1. 特大网站,门户(产品线特别多,需求)

/boot  引导分区  200M 主分区

swap  交换分区  内存的1.5倍,内存大于8G,就给8-16G

/   Linux所有目录顶点  剩余所有空间

剩余空间不分配,哪个部门领了服务器,根据需求在分

3、描述Linux系统的启动过程

1.CentOS6 的启动过程

BIOS ->MBR:Boot Code-》执行引导程序-GRUB -》加载内核 -》执行init(pid是1) -》runlevel(根据定义的运行init级别启动)

  1. BIOS开机自检后,去连接的磁盘设备查找引导记录。将找到的第一个引导记录放入内核运行,即是MBR
  2. MBR告诉程序去×××GRUB引导系统继续启动(GRUB的第一阶段)
  3. GRUB :
    1. GRUP1.5阶段将根据MBR后的扇区,识别GRUP2阶段所在分区的文件系统。即加载/boot分区上的文件系统
    2. GRUB2:/boot分区的文件系统加载成功,读到/boot/grub/grub.conf或者menu.lst等配置文件,然后根据grub.conf配置文件确定内核的启动参数,准备启动内核:
    3. 注意:/boot/grub 中的stage1 就是我们当前硬盘MBR的一个镜像,stage1会去引导文件系统名_stage1_5等文件。Stag2是个较大的引导程序,stag2加载完后,开始加载内核
  1. 启动内核
    1. 加载内核时,一般还会加载内核模块打包文件/initramfs-2.6.32-696.el6.x86_64.img。Linux为了保持内核的精简,所以将一些不常用的驱动、功能编译成模块,在需要的时候,动态加载。
    2. 内核启动后,再调用ramdisk文件(伪文件系统),尝试驱动所有的硬件设备
  1. 启动init进程

(1)读取/etc/inittab文件,确定运行级别

(2)执行/etc/rc.d/rc.sysinit程序,初始化一些脚本

(3)/etc/rc#.d/文件(各种服务)。根据不同级别加载服务

(4)/etc/rc.d/rc.local文件,开机自启动命令

(5)执行/sbin/mingetty(有登录认证)(也有说/bin/login的。但在/etc/inittab中可看到对终端登录的定义,这个配置文件里指定了命令),等待用户登录

2.CentOS7 的启动过程

BIOS ->MBR:Boot Code-》执行引导程序-GRUB -》加载内核 -》执行systemd -》runlevel(根据定义的运行target级别启动)

  1. uefi或BIOS初始化,开始post开机自检
  2. 加载mbr到内存
  3. GRUB阶段
  4. 加载内核和initramfs模块
  5. 使用systemd来代替centos6以前的init程序
  6. (1)执行initrd.target

    包括挂载/etc/fstab文件中的系统,此时挂载后,就可以切换到根目录了

    (2)从initramfs根文件系统切换到磁盘根目录

    (3)systemd执行默认target配置

    centos7表面是有“运行级别”这个概念,实际上是为了兼容以前的系统,每个所谓的“运行级别”都有对应的软连接指向,默认的启动级别是/etc/systemd/system/default.target,根据它的指向可以找到系统要进入哪个模式

    (4)systemd执行sysinit.target,初始化系统

    在CentOS6上是被叫做rc.sysint程序。

    (5)basic.target启动基本系统。该目标间接包含了所有的本地挂载点单元以及其他必须的系统初始化单元

    (6)systemd启动multi-user.target

    (7)Systemd执行multi-user.target.wants下的getty.target及登录服务

    getty.target是启动终端的systemd对象。如果到此步骤,系统没有被指定启动图形桌面,到此就可以结束了,如果要启动图形界面,需要在此基础上启动桌面应用程序
    systemd执行graphical.target

3.CentOS6,7启动区别

系统启动和服务器守护进程管理器systemd,它不同于centos5的Sysv init,centos6的Upstart(Ubuntu制作出来),它在内核启动后,服务什么的全都被systemd接管,kernel只是用来管理硬件资源,相当于内核被架空了

4、32位系统和64位系统的区别

(1)设计初衷不同。

简单说:64位是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。

(2)要求配置不同

64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。当然,32位操作系统安装在64位电脑上,其硬件恰似“大马拉小车”:64位效能就会大打折扣。

(3)运算速度不同。

64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32位(需要四个指令,一次提取4个字节的数据)提高了一倍,理论上性能会相应提升1倍。

(4)寻址能力不同

64位比32位支持更多的内存

(5)软件普及不同

目前,64位常用软件比32位常用软件,要少得多的多。

5、什么是PATH环境变量,它有什么作用?

  1. PTAH环境变量:存放一系列目录
  2. 作用:决定了shell将到哪些目录中寻找命令或程序,当你运行一个程序时,Linux在这些目录下进行搜寻编译链接
  3. 编辑 PATH 声明,其格式为:

PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>

source .bash_profile #改变完成后,立即生效

6、关于“.bash_profile”和“.bashrc”区别的总结

bash在运行时有两种属性“交互”和“登录”

1、“交互式”与“非交互式”

1、交互式shell

等待你输入命令,并且立即执行,然后将结果反馈给你。

2、非交互式

脚本的执行

2、“登陆shell”与“非登陆shell”

1、登陆shell

      1. 用户通过输入用户名/密码(或证书认证)后启动的shell;
      2. 通过带有-l|--login参数的bash命令启动的shell。

例如,系统启动、远程登录、使用su - 切换用户、通过bash --login命令启动bash等。

2、非登陆shell

从图形界面启动终端、使用su切换用户、通过bash命令启动bash等

原理上讲,“登陆shell”启动时会加载“profile”系列的startup文件,而“交互式非登陆shell”启动时会加载“rc”系列的startup文件。

“profile”系列文件的主要目的在于为“登录shell”设置环境变量和启动程序;而“rc”系列文件的主要目的在于设置功能和别名。

1、交互式登陆shell

登陆过程:

1. 读取并执行/etc/profile文件;

2. 读取并执行~/.bash_profile文件;

- 若文件不存在,则读取并执行~/.bash_login文件;

- 若文件不存在,则读取并执行~/.profile文件;

登出过程:

1. 读取并执行~/.bash_logout文件;

2. 读取并执行/etc/bash.bash_logout文件;

2、非交互式登陆shell

登陆过程:

1. 读取并执行/etc/profile文件;

2. 读取并执行~/.bash_profile文件;

- 若文件不存在,则读取并执行~/.bash_login文件;

- 若文件不存在,则读取并执行~/.profile文件;

无登出过程

3、交互式非登陆shell

1. 读取并执行~/.bashrc或--rcfile选项指定的文件

其实“rc”系列startup文件还包括/etc/bashrc。但是系统并不直接调用这个文件,而是通过~/.bashrc文件显式地调用它。

startup文件的默认调用关系

1. ~/.bash_profile显式调用~/.bashrc文件;

2. ~/.bashrc显式调用/etc/bashrc文件;

安全的全局配置设置

/etc/profile.d目录。这个目录用于存放个性化配置脚本,你可以把自己需要的全局配置放入以.sh结尾的文件中,系统在执行/etc/profile和/etc/bashrc文件时,都会择机调用它们

总结说明

  1. /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
  2. /etc/bashrc:为每一个运行bash      shell的用户执行此文件.当bash shell被打开时,该文件被读取.
  3. ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
  4. ~/.bashrc:该文件包含专用于你的bash      shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下)
  5. ~/.bash_logout:当每次退出系统(退出bash      shell)时,执行该文件.
  6. ~/.bash_profile      是交互式、login      方式进入bash 运行的;

~/.bashrc 是交互式 non-login 方式进入bash 运行的;

通常二者设置大致相同,所以通常前者会调用后者。所以一般优先把变量设置在.bashrc里面。比如在crontab里面执行一个命令,.bashrc设置的环境变量会生效,而.bash_profile不会

  1. “非交互非登陆”shell的配置文件可以由BASH_ENV环境变量指定
  2. 关于“.bash_profile”和“.bashrc”区别的总结

Linux中环境变量文件profile、bashrc、bash_profile之间的区别和联系

7、如何优化Linux系统

  1. 不用root,添加普通用户,通过sudo授权管理
  2. 更改默认的远程连接SSH服务端口及禁止root用户远程连接
  3. 定时自动更新服务器时间
  4. 配置yum更新源,从国内更新源下载安装rpm包
  5. 关闭selinux及iptables(iptables工作场景如果有WAN ip 一般要打开,高并发除外)
  6. 调整文件描述符的数量,进程及文件的打开都会消耗文件描述符
  7. 定时自动清理邮件临时目录垃圾文件,防止indoes节点被占满(无sendmail可不配)
  8. 精简开机自启动服务(crond , sshd ,      network , rsyslog , sysstat)
  9. linux 内核参数优化/etc/sysctl.conf执行sysctl -p 生效
  10. 锁定关键系统文件

chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

处理完成后,将chattr,lsattr改名

echo alias chattr="cha" >>/root/.bashrc

echo alias lsattr="lsa" >>/root/.bashrc

11.清空/etc/issue,取消系统及内核版本登录前的屏幕显示

12.清楚无用的默认系统账户或组(非必须)

原文地址:http://blog.51cto.com/12758568/2123162

时间: 2024-11-09 00:17:55

Linux 练习题-2基础 问答的相关文章

Linux学习 -- Shell基础 -- 概述

Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串  双引号 -- 支持转义字符串 \e[1;31m xxx  开启颜色 \e[0m    关闭颜色 首行:#!/bin/bash #写好注释 执行方式: 方式1 sh xxx.sh 方式2 chmod 755 xxx.sh  ./xxx.sh 或 绝对路径 Linux学习 -- Shell基础 -- 概述

Linux shell脚本基础学习详细介绍(完整版)一

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Linux 脚本编写基础◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执

Linux shell脚本基础学习详细介绍(完整版)二

详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu

第十三天(linux常用的基础命令 )

按照下面的要求创建一个新的逻辑卷:    *) 逻辑卷命名为database, 属于 datastore 卷组.    *) 在 datastore卷组中的逻辑卷,500M.    *)使用{ext3|ext4|xfs}文件系统对新的逻辑卷进行格式化    *)逻辑卷应该在系统启动的时候自动挂载在/mnt/database 目录下.    *)lvm扩大至1G, 并且保留其原有资料的完整性; 新增加一个 SWAP 分区    *) 大小为512MB,    *) 使该 SWAP 能够每次开机生效

iOS基础问答面试

<简书社区 — Timhbw>iOS基础问答面试题连载(一)-附答案:http://www.jianshu.com/p/1ebf7333808d <简书社区 — Timhbw>iOS基础问答面试题连载(二)-附答案:http://www.jianshu.com/p/ce50261f8907 <简书社区 — Timhbw>iOS基础问答面试题连载(三)-附答案:http://www.jianshu.com/p/5fd65c20912e 以下是一些自己收集的比较基础的问题(

Linux命令行基础 、 基础命令操作 、 目录文件基本操作

  Linux命令行基础 基础命令使用 目录和文件基本管理 #################################################   一.Linux命令行基础   1. 什么是命令.命令行    命令:能够被Linux系统识别,用来完成某一类功能的指令或程序                           |--> 依赖于Shell解释器,查看:cat/etc/shells 默认为 /bin/bash    命令行:用户输入的命令及相关参数,按Enter键提交的

Linux运维基础命令笔试题--看看你会多少?

老男孩Linux运维基础2728期课后学习效果上机闭卷考试题详解 http://edu.51cto.com/course/course_id-5577.html 如果你觉得不错,请为他点赞和评价.这样可以激发他更强的回报小伙伴的欲望!   老男孩教育linux运维就业班第一周课后学习效果能力上机大考察 (每题10分共130分,过100即可,请给出详细步骤) 1.创建目录/data/oldboy ,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写入内容"inet ad

Linux之NFS基础总结及应用实践

Linux之NFS基础总结及应用实践 一.简介 NFS(Network File System)即网络文件系统,允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. 特性:节省本地存储空间.共享存储空间. 一些存储设备如软驱.CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用 NFS工作原理 简要说明:NFS并不是单独存在的,它和另外2个模块共同存在(即:N

Linux之Samba基础知识及应用

Linux之Samba基础知识及应用 一.Samba简介 Server Message Block的缩写是SMB,即服务器消息块,SMB主要是作为Microsoft的网络通讯协议.Samba将SMB通信协议应用到了Linux系统上.其功能特性可实现:WINS和DNS服务.网络浏览服务.Linux和Windows域之间的认证和授权.UNICODE字符集和域名映射.满足CIFS协议的UNIX共享等 SMB是基于客户机/服务器型的协议,故一台Samba服务器既可当文件共享服务器,也可充Samba的客户