Linux系统安装:CentOS系


POST --> BootSequence(BIOS) --> BootLoader(GRUB --> 1_5 stage -->2nd stage) --> Kernel (devtmpfs) --> [ ramdisk (dev,proc,sys) -->] rootfs(ro) --> /sbin/init (SysV Init,upstart Init,systemd)


对于所安装的CentOS操作系统来说,其一级子目录中,有一些绝对不能单独分区,有一些可以单独分区;


绝对不能分区:bin,sbin,lib,lib64

建议单独分区:boot,home,var,usr


安装Linux系统:

/boot

swap

/

/home

/var

/usr


磁盘分区规划:

启动分区

根分区

swap


规划文件系统:

/sbin/init,/sbin/systemd

所有的应用程序存放的路径

应用程序所依赖的库文件存放的路径

应用程序所使用的配置文件存放的路径



CentOS系/RHEL系操作系统的安装程序:anaconda

在安装操作系统的过程中,系统的启动流程:

POST --> BootLoader --> kernel --> initrd --> rootfs --> anaconda


anaconda给我们提供了两种操作界面:

TUI:基于curses的文件配置窗口;

GUI:图形界面

CLI:命令行界面


以光盘为例,CentOS系统的安装启动流程:

1.POST

2.读取MBR:boot.cat,就是光盘的bootloader;/isolinux/boot.cat

3.stage2:/isolinux/isolinux.bin

配置文件:/isolinux/isolinux.cfg

label linux:

标签名称,可以用来引用下述所有命令的通用名称;

menu label ^Install or upgrade an existing system

菜单项的具体内容以及对应的热键;

menu default

将此菜单项做为默认菜单项;

kernel vmlinuz

指定内核文件名称

append initrd=initrd.img

向内核传递附加参数;常用的参数有:

initrd=initrd.img

text:从文本界面启动

method:手动选择安装方式

ip=ADDRESS

netmask=MASK

gateway=GW

dns=DNS_SERVER

rescue:启用紧急救援模式

dd:device drivers,装载额外的设备的启动程序;

ks:使用kickstart启动无人值守安装,指明kickstart配置文件的所在位置:

光盘上:ks=cdrom:/PATH/TO/KICKSTART_FILE

本地硬盘:ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE

某个远程web站点:ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE

某个远程FTP站点:ks=ftp://[username@]HOST[:PORT]/PATH/TO/KICKSTART_FILE

某个远程安全WEB站点:ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE


4.装载rootfs,并启动anaconda

注意:如果内存不够512M,则anaconda是以文本界面启动的;如果内存大于512M,anaconda默认以图形界面启动;


"ESC"键 --> boot: linux text


注意:上述的所有内容一般位于引导设备,而后续的anaconda及其他安装时所用的程序包或程序包组等可来源于yum仓库,yum仓库的位置:

本地光盘

本地硬盘

FTP服务器

HTTP服务器

NFS服务器


如果想手动指定程序包安装源:

ESC键 --> boot: linux method


anaconda的工作过程:

安装前的准备配置阶段

1.安装过程中使用的语言:简体中文

2.键盘布局类型:美国英语式

3.系统安装的目标存储设备:

Basic Storage,本地磁盘

Special Storage,网络存储,iSCSI,NAS,SAN,...

4.设置主机名称

5.配置网络接口

6.选择时区

7.管理员密码

8.设定分区方式及MBR安装的位置

9.选择要安装的程序包或程序包组;


安装阶段:

1.有可能运行某些预安装脚本,完成初始化工作;

2.根据准备阶段规划的分区格式进行分区创建并执行格式化安装文件系统并挂载所有文件系统至指定挂载点;

3.将选定的程序包或程序包组安装至目标位置;

4.安装bootloader至MBR及boot分区中;

5.制作ramdisk文件;

6.如果有必要,可能会运行安装后脚本;


首次启动:

1.选择许可证信息;

2.创建普通用户;

3.配置内核核心转储(Kdump倾倒,Core dump),如果内存小于2GB,Kdump不开启;

当某一时刻,内核核心崩溃时,kdump会将内核崩溃时内存中的所有数据创建成一个映像文件保存到磁盘上;通过分析此文件的内容,查找出内核崩溃的直接或间接原因;


1.是否配置iptables防火墙;初学者建议关闭;

2.是否配置SELinux安全机制的启动,初学者建议关闭;


kickstart文件的格式:

命令段:指明各种安装前的配置;

必备命令:

authconfig:认证方式的配置

authconfig --useshadow --passalgo=sha512

bootloader:定义bootloader的安装位置和相关配置选项

bootloader --location=mbr --driveorder=sda --append="*** crashkernel=auto rhgb quiet"

keyboard:设定键盘的类型

keyboard us

lang:安装过程中的语言类型

lang zh_CN.UTF-8

part:分区布局及分区使用方式的定义;

part /boot --fstype=ext4 --size=200

part swap --size=2048

part PV_NAME --size=51200 --grow

clearpart:清除分区

clearpart --none --drives=sda

volgroup:创建卷组的命令

volgroup VG_NAME --pesize=8192 PV_NAME

logvol:创建逻辑卷的命令

logvol /home --fstype=ext4 --name=lv_home --vgname=VG_NAME --size=10240

logvol / --fstype=ext4 --name=lv_root --vgname=VG_NAME --size=30720

logvol /var --fstype=ext4 --name=lv_var --vgname=VG_NAME --size=10240

logvol /usr --fstype=ext4 --name=lv_usr --vgname=VG_NAME --size=10240

rootpw:指明超级用户root的密码

rootpw --iscrypted $6$SALT$ENCRYPTED_PASS

timezone:时区

timezone Asia/Shanghai

可选择命令:

install:全新安装操作系统

upgrade:升级安装操作系统

text:使用文本界面安装操作系统,默认是GUI;

network:配置网络接口

network --onboot yes --device eth0 --bootproto static --ip 172.16.254.1 --netmask 255.255.0.0 --noipv6 --hostname a.link.com --gateway= --dns=

firewall:防火墙设置

firewall --disabled

firewall --service=ssh

selinux:SELinux的设置

selinux --disabled

selinux --enforcing


题外话:

如果计划在已经开启防火墙和SELinux的强制模式时,可以通过这样的几种方式将其关闭:

防火墙:

CentOS 6:

# service iptables stop

# chkconfig iptables off

CentOS 7:

# systemctl stop firewalld.service

# systemctl disable firewalld.service


如果想要让防火墙临时不生效:

# iptables -F 适用于所有的CentOS系统;


SELinux:

1.编辑SELinux的配置文件/etc/sysconfig/selinux(/etc/selinux/config),在配置文件中,有一行语句为:

SELINUX=disabled


2.编辑grub的启动配置文件/boot/grub/grub.conf

kernel /vmlinuz-VERSION-release ARGS selinux=0


如果想要SELinux临时不限用户行为:

# setenforce 0 == Enforcing --> Permissive

# setenforce 1 == Permissive --> Enforcing

# getenforce

repo:安装系统是所使用的仓库repository

repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100

repo --name="CentOS" --baseurl=http://host[:port]/PATH --cost=100

reboot:安装完成之后重新启动

halt/poweroff:安装完成之后关闭系统

url:指明安装时使用的仓库repository,但必须使用url格式;

url --url=http://host[:port]/PATH

firstboot:控制首次启动

firstboot --disable

脚本段:

%pre:安装前脚本的开始部分

运行环境:运行于安装介质上的微型Linux系统环境;

%end


%post:安装后脚本的开始部分

运行环境:安装以后的操作系统

%end

程序包/程序包组段:指明要安装的程序包或程序包组以及不安装程序包;

%packages

@PACK_GROUP_NAME:安装一个程序包组

PACK_NAME:安装单个指定的程序包

-PACK_NAME:明确指出不安装的程序包;有时即便明确指出该项,被指定的程序包也可能会被安装上;

%end


如何创建kickstart文件:

1.直接以anaconda-ks.cfg为模版,复制之后修改即可;

2.可以使用工具来创建:

如果命令不存在,则yum install system-config-kickstart安装即可;

# system-config-kickstart &


可以全新创建,也可以依据其他的ks文件(如anaconda-ks.cfg)来修改生成新的配置文件;


3.检测ks文件的语法是否存在错误:

ksvalidator


如果该命令不存在,可以安装pykickstart-1.74.20-1.el6.noarch


http://172.16.72.1/ks.cfg


利用一台CentOS7构建web server,方法如下:

临时清理防火墙规则,并将selinux设置为permissive模式:

~]# iptables -F

~]# setenforce 0

启动WEB服务

~]# systemctl start httpd.service

查看web服务的运行状态,只要有绿色文字显示的active(running),即为服务正常启动;

~]# systemctl status httpd.service

为CentOS 6提供repository

~]# mkdir /var/www/html/centos_6_repo

~]# mount /dev/sr0 /mnt/cdrom

注意:光驱中放的是CentOS6的安装光盘的CD1;

~]# cp -a /mnt/cdrom/* /var/www/html/centos_6_repo


到此,web服务器的配置完成;


利用一台已经安装好的CentOS 6操作系统,创建启动光盘:

将下述内容写入kickstart文件;

~]# vim /root/centos6-ks.cfg

#platform=x86,AMD64,or Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# SELinux configuration

selinux --disabled

# Install OS instead of upgrade

install

# Use network installation

network --onboot yes --device eth0 --bootproto dhcp

url --url="http://172.16.72.1/myrepo"

# Root password

rootpw --iscrypted $1$iRHppr42$VMesh73wBqhUTjKp6OYOD.

# System authorization information

auth --useshadow --passalgo=sha512

# Use text mode install

text

firstboot --disable

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Reboot after installation

reboot

# System timezone

timezone Asia/Shanghai

# System bootloader configuration

bootloader --append="rhgb crashkernel=auto quiet" --location=mbr --driveorder="sda"

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all

# disk partitioning information

part /boot --fstype="ext4" --size=200

part pv.008 --size=61440


volgroup myvg --pesize=4096 pv.008

logvol / --fstype=ext4 --name=root --vgname=myvg --size=20480

logvol swap --name=swap --vgname=myvg --size=2048

logvol /usr --fstype=ext4 --name=usr --vgname=myvg --size=10240

logvol /var --fstype=ext4 --name=var --vgname=myvg --size=20480


#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100


%post

echo -e 'Qhdlink Linux for Learning Services\nhttp://www.linklinux.com\n' >> /etc/issue


sed -i '1,$s@id:[0-9]:initdefault:@id:3:initdefault:@g' /etc/inittab


ifconfig eth0 172.16.69.2/16


%end


%packages

@base

@core

@debugging

@basic-desktop

@desktop-debugging

@desktop-platform

@desktop-platform-devel

@development

@directory-client

@fonts

@general-desktop

@graphical-admin-tools

@input-methods

@internet-applications

@internet-browser

@java-platform

@legacy-x

@network-file-system-client

@office-suite

@print-client

@remote-desktop-clients

@server-platform

@server-platform-devel

@server-policy

@workstation-policy

@x11

mtools

pax

python-dmidecode

oddjob

wodim

sgpio

genisoimage

device-mapper-persistent-data

systemtap-client

abrt-gui

desktop-file-utils

jpackage-utils

samba-winbind

certmonger

pam_krb5

krb5-workstation

openmotif

libXmu

libXp

%end


创建引导光盘:

~]# mkdir myiso

~]# cp -r /mnt/cdrom/isolinux /root/myiso/

注意:这样的复制方法是将isolinux目录直接复制到myiso目录中,也就是说isolinux是myiso的子目录;

~]# vim /root/myiso/isolinux/isolinux.cfg

label linux

menu label ^Install or upgrade an existing system

menu default

kernel vmlinuz

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


~]# cp /root/centos6-ks.cfg /root/myiso/

~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso myiso/


创建U盘启动盘

方法一:

~]# dd if=/dev/sr0 of=/dev/sdb

方法二:

~]# fdisk /dev/sdb (将整个U盘分为一个分区,并将其分区类型修改为vfat,即在fdisk交互式模式中使用t --> b命令完成转换)

~]# mkfs.vfat /dev/sdb1

~]# mount /dev/sdb1 /mnt/usb

~]# mkidr -p /mnt/usb/grub

~]# cp /mnt/cdrom/isolinux/{vmlinuz,initrd.img} /mnt/usb

~]# vim /mnt/usb/grub/grub.conf

default=0

timeout=5

title the linux boot from usb

root (hd0,0)

kernel /vmlinuz

initrd /initrd.img ks=http://172.16.72.1/ks.cfg (将centos6-ks.cfg文件放置于CentOS7的/var/www/html目录中,改名为ks.cfg即可)

~]# grub

grub> root (hd1,0)

grub> setup (hd1)

centos安装的更多相关文章

  1. Android系统服务的SELinux策略定义:如何设置?

    我之前写过一个独立的守护进程来访问自定义设备(/dev/mydev0).看看AOSP源代码,我想我需要在以下文件中设置策略才能使其工作:新文件device.te包含:新文件mydevsrvc.te包含编辑file_contexts添加:编辑了service_contexts以添加:并通过编辑init.flo.rc来启动守护进程以包含以下行:现在,我需要访问Android应用程序中的设备,所以我必须

  2. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. Spring Boot 集成Redisson实现分布式锁详细案例

    这篇文章主要介绍了Spring Boot 集成Redisson实现分布式锁详细案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

  4. spring boot实现文件上传

    这篇文章主要为大家详细介绍了spring boot实现文件上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. Spring Boot + EasyExcel实现数据导入导出

    这篇文章主要介绍了Spring Boot+EasyExcel实现数据导入导出,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

  6. Spring Boot日志的打印与持久化详细解析

    Spring Boot默认使用SLF4J+Logback 记录日志,并提供了默认配置,即使我们不进行任何额外配,也可以使用SLF4J+Logback进行日志输出

  7. SpringBoot浅析安全管理之Spring Security配置

    安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot安全管理Spring Security基本配置

  8. centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    这篇文章主要介绍了centos+php+coreseek+sphinx+mysql之一coreseek安装篇的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

  9. SpringBoot与Spring中数据缓存Cache超详细讲解

    我们知道内存读取速度远大于硬盘读取速度,当需要重复获取相同数据时,一次一次的请求数据库或者远程服务,导致在数据库查询或者远程方法调用上小号大量的时间,最终导致程序性能降低,这就是数据缓存要解决的问题,学过计算机组成原理或者操作系统的同学们应该比较熟悉

  10. Spring Boot 利用注解方式整合 MyBatis

    这篇文章主要介绍了Spring Boot 利用注解方式整合 MyBatis,文章围绕主主题的相关资料展开详细的内容介绍,需要的小伙伴可以参考一下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部