一、软件安装:源码与tarball

什么是开发源码

可以随意修改的经由文本编辑器编辑的纯文本文件就是开发源代码。

可执行文件通常为二进制文件。

查看文件类型:file

[root@dns kernels]# file /bin/rm

/bin/rm: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

ELF 32-bit LSB executable:可执行文件类别

源码安装的优势:

1、可以自己定义源代码模块,选择适合自己的内容进行重新编译。

什么是函数库

多个功能函数放在一个位置就是函数库。

函数库位置:/usr/include

/lib

/usr/lib

首先需要了解一下的是linux由需要的功能模块组成,这些模块实际上就是一个函数,不如PAM用于身份验证的,如果程序员在设计一款软件的时候需要继续身份验证,就么有必要重新设计一个类似PAM的东西了,直接调用这个函数就可以了,那如果是程序员自己开发,或者系统本身没有的函数呢,那就需要先把函数放到系统里,在编译了,不然就会报错哦。

tarball:对源代码文件进行压缩打包的软件。

文件类型:*.tar.gz/*.tgz/*.tar.bz2。

包含内容:

源代码程序

检测程序文件,configure或者config

readme文档。

安装开发环境依赖的软件包组:

依赖于c语言开发的程序:Development Tools

Server Platform Development

Desktop Platform Development

安装编译源代码过程:

1、取得源代码,解压缩tarball文件到/usr/local/src目录中。

2、进入目录查看readme文档

3、建立makefile文件,通过configure来完成。

--prefix=:用来指定安装到什么目录下。

4、清理历史编译make clean

5、编译,make

6、安装、make install。

二、企业级安装linux系统

(关键字:网络安装、kickstart、远程安装、)

1、简述:

annaconda是linux系统安装管理软件(光盘安装过程中的图形化安装界面就是annaconda啦!),并且在系统安装完毕后生成一个anaconda-ks.cfg文件,这个文件就是kickstart文件,但并不是很完整,此文件默认存在于root的家目录。所以可以使用system-config-kickstart.noarch包来安装配置kickstart的图形化工具。

2、启动顺序:

POST-MBR(CDROM,GRUB.CONF)-isolinux.bin(isolinux.cfg,光盘引导文件)-vmlinuz(initrd)-anaconda(图形化安装界面)。

注意:这里使用的use free space 是指没有分区的磁盘空间,而不是已经分完区而没有使用的分区。

3、kickstart文件组成:

命令段:用于配置系统

install

firewall

软件包段:选择用于安装的软件包及组

lftp

ssh

脚本段:

%pre:安装过程开始之前执行的脚本。所能够执行的操作较少,因为是简洁版的shell环境。

%post:所有软件包安装完成后执行的脚本。是完整意义上的shell环境。

参考文档:http://blog.csdn.net/woods2001/article/details/7297195

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/chap-kickstart-installations.html

使用Kickstart方法安装的过程包括创建一个kickstart文件、创建有kickstart文件的引导介质或者使这个文件在网络上可用、筹备一个安装树、开始ks安装(anconda自身启动 -->选取ks安装模式--> 从ks文件读取配置 --> 最后安装)。创建kickstart配置文件可以使用任何文本编辑器,也可以使用图形化配置工具system-config-kickstat(需要安装system-config-kickstart.noarch包)。注意配置文件生成后,推荐使用ksvalidator命令检查配置文件语法及完整性错误,例如:

1、安装kickstart软件包

[root@localhost ~]# yum install system-config-kickstart

已加载插件:fastestmirror, refresh-packagekit, security

设置安装进程

Loading mirror speeds from cached hostfile

2、运行kickstart程序,需要图形化界面。

kickstart的安装应用

1、检查kickstart语法问题

[root@localhost ~]# ksvalidator anaconda-ks.cfg

[root@localhost ~]#

2、通常将kickstart编辑的配置文件放到网络服务器上,方便远程下载使用。

方法一、制作引导光盘

[root@localhost ~]# mkisofs -R -J -T -v emul-boot -boot-load-size 4 -boot-info-table -V "gongbing testing linux" -b ./isolinux/isolinux.bin -c ./isolinux/boot.cat -o ../boot.iso

方法二、将kickstart文件放在服务器上

[root@localhost ~]# yum install vsftpd^C

[root@localhost ~]# service vsftpd start

Starting vsftpd for vsftpd:                                [  OK  ]

[root@localhost ~]#

ftp公共目录位置

[root@localhost ~]# ll /var/ftp/pub/

总用量 0

将annaconda.cfg复制到pub目录。

[root@localhost ~]# cp ./anaconda-ks.cfg /var/ftp/pub/

[root@localhost ~]# ll /var/ftp/pub/

总用量 4

-rw-------. 1 root root 1394 6月  15 11:02 anaconda-ks.cfg

光盘启动,进入boot模式(两次esc键),执行以下命令:

[root@localhost pub]# linux ip=10.40.0.56 netmask=255.255.255.0 gateway=10.40.0.200 ks=ftp://10.40.0.5/pub/anaconda-ks.cfg

注意:

1、anaconda文件中的repo仓库需要确定安装源的位置,否者会造成安装源错误的情况,cannot find a vrial baseurl repo。

2、在开机进入isolinux.bin引导菜单时,“linux ip=”需要注意ip地址不要冲突,与安装源可以通信。

3、注意ftp目录权限、安装源必须是目录而不能是iso镜像文件。

红帽官网关于radhat系统的安装部署指南:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/index.html

Kickstart文件的语法及参数含义可参考http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html。

红帽官网关于kickstart的安装指南:https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/chap-kickstart-installations.html

三、紧急救援模式

1、处理grub引导文件损坏的情况(需要知道根分区位置)

1.1grub文件丢失后,重启进入系统时的状态:

1.2此处输入root (hd,),然后按tab键,可以列出hd0磁盘的分区情况。

1.4如果root根分区没有正确指定,会有如下错误:

1.5正常记住及备份系统分区情况是很好的方法:

1.6完整的修复grub引导问题的步骤:

紧急救援参考文件:http://www.cnblogs.com/wangxiaoqiangs/p/5630349.html

1.7进入grub模式后使用技巧:

a、使用find命令查找grub的引导分区。

find (hd0,0)/找到内核文件所在的设备

root (hd0,0)假设/dev/sda1是你的/boot所在的分区

kernel /vmlinuxz-2.6.32-    ro  root=/dev/sda2 假设sda2是你的/所在的分区

initrd /initramfs-2.6.32

boot

2、进入紧急救援模式

通过光盘启动加载光盘上的linux内核,用于修复磁盘上的linux系统。

默认情况紧急启动模式会将原始的根分区挂载到/mnt/sysimage/目录下。

2.1进入紧急救援模式,光盘引导-选择rescue installed system

2.2安全模式下,原有系统默认是挂载到/mnt/sysimage/目录下

2.3查看紧急救援模式下分区挂载情况

2.4如何切换到系统(磁盘)根上去呢。

修复grub.cfg文件。

3、处理文件损坏的情况


3.1、进入紧急修复模式

3.2、挂载光盘,或者条件允许的话直接通过网络安装。

mount -r /dev/cdrom /media

rpm —ivy /media/packages/bash-4.1.2  --root         /mnt/sysimages       --replacepkgs

四、安装和引导介质

引导介质种类:

1、光盘,CDROM

2、USB

3、network:网卡,dhcp,tftp server , 引导文件(isolinux.bin,isolinux.cfg)

光盘目录说明:

-r--r--r-- 1 root root    14 8月   5 2015 CentOS_BuildTag

dr-xr-xr-x 3 root root  2048 8月   5 2015 EFI

-r--r--r-- 1 root root   212 11月 27 2013 EULA

-r--r--r-- 1 root root 18009 11月 27 2013 GPL

dr-xr-xr-x 3 root root  2048 8月   5 2015 images ##补充用于其他引导方式的目录,不如usb、network。

├── efiboot.img

├── efidisk.img

├── install.img

├── pxeboot

│   ├── initrd.img ##用于实现基于网络安装的引导文件

│   ├── TRANS.TBL

│   └── vmlinuz

├── TRANS.TBL

└── updates.img

dr-xr-xr-x 2 root root  2048 8月   5 2015 isolinux ##光盘安装linux需要的引导程序及安装界面

├── boot.cat

├── boot.msg

├── grub.conf

├── initrd.img

├── isolinux.bin

├── isolinux.cfg

├── memtest

├── splash.jpg

├── TRANS.TBL

├── vesamenu.c32

└── vmlinuz

dr-xr-xr-x 2 root root 40960 8月   5 2015 Packages ##linux需要的rpm软件包

├── acl-2.2.49-6.el6.x86_64.rpm

├── aic94xx-firmware-30-2.el6.noarch.rpm

├── atmel-firmware-1.3-7.el6.noarch.rpm

├── attr-2.4.44-7.el6.x86_64.rpm

├── audit-2.3.7-5.el6.x86_64.rpm

├── audit-libs-2.3.7-5.el6.x86_64.rpm

-r--r--r-- 1 root root  1354 7月  25 2015 RELEASE-NOTES-en-US.html

dr-xr-xr-x 2 root root  4096 8月   5 2015 repodata

-r--r--r-- 1 root root  1706 11月 27 2013 RPM-GPG-KEY-CentOS-6

-r--r--r-- 1 root root  1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6

-r--r--r-- 1 root root  1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6

-r--r--r-- 1 root root  1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6

-r--r--r-- 1 root root  3380 8月   5 2015 TRANS.TBL

理解光盘启动安装系统的加载顺序:

POST——CDROMD———ISOLINUX———isolinux.bin———isolinux.cfg———vmlinuz+initrd———anaconda.cfg

制作镜像文件包的方法:

1、拷贝光盘或其他镜像文件中的isolinux目录,并赋值root可写。

[root@37-test ~]# mkdir /root/iso && cp /var/ftp/pub/centos6.7/isolinux /root/iso

[root@37-test ~]# chmod u+w isolinux/ -R

2、制作进行文件

[root@37-test ~]# mkisofs -R -J  -v -no-emul-boot -boot-load-size 4 -boot-info-table -V "gongbing's linux ISO" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/linux-gb.iso iso/

3、制作的引导镜像文件由于没有安装文件,引导程序会提示从哪里寻找安装文件。

4、全自动化方法,需要添加anaconda文件到镜像文件中,并指定anaconda文件中的url和repo,修改isolinux.cfg文件,并重新生成iso镜像文件即可。

iso/anaconda.cfg

url --url="http://10.40.0.37/var/pub/"

repo --name="CentOS" --baseurl=ftp://10.40.0.37/pub/centos6.7  --cost=100

iso/isolinux/isolinux.cfg

label linux

menu label ^Install or upgrade an existing system

menu default

kernel vmlinuz

append initrd=initrd.img ks=cdrom:/anaconda-ks.cfg

5、同样可以依据linux.log文件将需要安装的rpm包拷贝到Packets目录中,即可实现自定义的安装光盘了。

五、Bash脚本回顾

1、 for 变量 in 列表;

do

循环体

done

2、 while条件;

do

循环体

done

3、 until 条件;

do

循环体

done

4、跳出循环的制定方法

continue:设置条件,结束本轮循环,并进入下一轮循环。

实例:

#!/bin/bash

#

#

declare -i Sum=0 #声明一个整数型变量,并赋初值为0

for i in {1..100};do

if [ $[$i%2] -eq 1 ]; ##除以2取余数

then

continue

fi

String+=" $i "

let Sum+=$i

echo $i

echo $String

sleep 1

done

echo "$Sum"

declare :用来声明一个变量,并设置变量属性。

-i:声明一个整数型变量

-a:声明一个数组变量

-f:声明一个函数

-r:声明一个只读变量

break:设置条件,符合条件后结束整个循环。

实例:

#!/bin/bash

declare -i Sum=0

declare -i Count=0

while true ; #“死循环”:

do

if [ $Count -gt 100 ];

then

break

fi

let Sum+=$Count

let Count+=2

done

echo $Sum

本文转自 blackstome 51CTO博客,原文链接:http://blog.51cto.com/137783/1895568,如需转载请自行联系原作者

九、Linux系统安装和常见故障排除相关推荐

  1. ceph(7)--Ceph 的基本操作和常见故障排除方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  2. flink常见故障排除

    本博客总结为B站尚硅谷大数据Flink2.0调优,Flink性能优化视频中常见故障排除的的笔记总结. 1. 非法配置异常 如果看到从 TaskExecutorProcessUtils 或 JobMan ...

  3. 宽带路由器常见故障排除

    宽带路由器常见故障排除 2009年08月02日 星期日 上午 00:27 来源/作者:52硬件论坛 宽带路由器常见故障巧排除在SOHO和中小型企业用户中,宽带路由器应用非常普遍.对于一些网络新手来说, ...

  4. apexError计算机离线状态,Apex英雄第六赛季常见故障排除方法

    Apex英雄目前已经推出第六赛季,游戏中玩家经常遇到一些问题故障,下面给大家分享Apex英雄第六赛季常见故障排除方法 1.Razer Synapse雷云导致Apex英雄奔溃 老版本的雷云可能会致使Ap ...

  5. ibm邮箱连接不到服务器,IBM i 安全邮件配置和常见故障排除方法

    Body IBM i安全邮件配置和常见故障排除方法 简介:电子邮件是现在普遍使用的一种通信方式,为了提高通信过程中的安全并且保护邮件内容不被泄露,IBM i SMTP增加了对TLS的支持, 通过此技术 ...

  6. 计算机日常故障DIY维修有哪些,有关计算机常见故障排除与日常维护

    有关计算机常见故障排除与日常维护 计算机常见故障诊断及排除.硬件故障.CPU故障分析一般说来,CPU是不容易出现故障的,但由于超频或者电压工作不稳定和CPU的制造工艺的不同等原因,会导致CPU不能正常 ...

  7. 计算机软硬件故障排除知识,计算机软硬件基础知识及常见故障排除方法(精选).doc...

    文档介绍: 计算机软硬件基础知识及常见故障排除方法 CPU的主频.外频和倍频3者的关系:主频=外频×倍频 计算机的主板一般有南北桥两片芯片,南桥芯片提供对键盘控制器.实时时钟控制器.USB.高级能源管 ...

  8. ABB变频器维护与常见故障排除

    ABB变频器维护与常见故障排除 一.日常维护 1.注意事项 操作人员必须熟悉变频器的基本工作原理.功能特点,具有电工操作基本知识在对变频器进行检查保养之前,必须在设备总电源全部切断,并且等待变频器放电 ...

  9. 【学神】1-15 linux启动及常见故障的排除

    本节所讲内容: l Linux启动过程详解.影响启动的配置文件.常见的启动故障排除.救援模式的使用.Live CD的使用 一.Linux启动过程详解 1. 加载 BIOS 的硬件信息,跟据设定取得第一 ...

  10. Linux学习笔记2(root密码忘记重置,Linux系统更新yum源,YUM安装卸载,常见故障排除,vim,用户/组)

    目录 Linux忘记root密码 CentOS     Kali 更新软件源 CentOS 更新yum源(阿里源配置方法) Kali 更新apt源 ​yum安装,卸载 Yum 简介 常用的 Yum 命 ...

最新文章

  1. Android ScrollView 滑动指定的距离
  2. 网络工程师_记录的一些真题_2017下半年上午
  3. 微信小程序把玩(四)应用生命周期
  4. yolov5 代码版,去掉配置文件
  5. 网络编程基础之C/S架构和TCP/IP协议
  6. Spring Boot 中使用 Hikari,给我整不会了
  7. Visual Studio 2017 已知问题 Qamp;amp;A
  8. spring整合hibernate出现NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
  9. [数据库]14个数据库的设计技巧
  10. PHP 是生还是死?
  11. js实现快速排序(in-place)简述
  12. text-transform 文本大小写转换、input checkbok 大小设置、letter-spacing 设置字符间距
  13. [原创]Jenkins持续集成工具介绍
  14. coreldraw x4怎么会蓝屏_电脑蓝屏怎么办 七种方案轻松搞定【图文】
  15. 《东周列国志》第四十五回 晋襄公墨缞败秦 先元帅免胄殉翟
  16. 解决layui的富文本编辑器中图片的大小问题
  17. NOIP常考模板粗略集合包
  18. 微信html5展示页,H5科普|微信H5页面的展示形式
  19. Windows Workflow Foundation(一)
  20. java控制鼠标操作一些重复的事情

热门文章

  1. mysql悲观锁隔离级别_mysql隔离级别与悲观锁、乐观锁
  2. python 调用js_python调用JS方法
  3. android textview api,Android API中文文档TextView
  4. python如何筛选数据_python如何在列表、字典中筛选数据
  5. 项目实战-1读取记事本中的文件,写入到slice切片中。
  6. python返回值函数_Python函数的返回值(一)
  7. cad 万能字体_【干货】CAD实用技巧50条
  8. 设计一个服务器资源管理系统,基于虚拟化技术的服务器资源管理系统的设计与实现.pdf...
  9. http协议的状态码——400,401,403,404,500,502,503,301,302等常见网页错误代码
  10. Git学习笔记 - 钢钢更新