CentOS-7.5安装
一.1.创建新的虚拟机
下一步
下一步
下一步
下一步
2.点击浏览(选择安装产生文件所放位置)
点击确定
3.下一步
下一步
下一步
下一步
下一步
下一步
下一步
下一步
4.点击浏览(新的虚拟机创建好以后所有文件所放位置)
5.下一步
点击完成。等待安装完成
二.1.配置编辑虚拟机
编辑虚拟机设置
点击浏览(选择镜像文件)
确定
开启此虚拟机。
2.进入这个页面时快速把鼠标点进去
点击上光标到第二行“InstallCentOS7”按 Tab 键,按左光标在64之后quite 前面加“net.ifnames=0 biosdevname=0”
按Enter键,等待安装
3.选择语言
点击Continue
4.设置时间
(Asia:亚洲),点击Done。
5.
点击Done
6.
点击Done
点击+
点击Add mount point,用同样方法给swap 2000,/ (根)不用填(意思是剩下所有的都给根)
点击Done
点击Accept Changes
7.设置网络
点击Configure
点击Add
点击Save
或把主机名使用自己的名字
点击Done
点击Begin lnstallation
等待安装完成
8.设置密码
点击Done
点击Finish configuration
等待安装完成
点击Reboot
三.输入:root(管理员)
123456
vi /etc/sysconfig/network-scripts/ifcfg-eth0
(vi 怎么进入插入模式 ?
i
怎么退出插入模式?
ESC
怎么退出vi编辑?
:wq 回车
:wq 是什么意思呢?
保存退出
老男孩教育-高 2019/2/28 16:11:14
不保存退出怎么办?
:q!)
或
按ESC键==》:wq(保存并退出)
输入systemctl restart network(重启网卡)==》ping baidu.com(ping通成功)
Xshell
获取 yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
更改yum源,下载软件的安装源。
curl -s -o /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/epel.repo
http://mirrors.aliyun.com/repo/epel-7.repo
生成缓存
yum makecache
确定下载安装
yum install -y wget
yum安装网络工具 net-tools.......
yum install net-tools vim tree htop iftop iotop lrzsz sl unzip telnet nmap nc psmisc dos2unix bash-completion nethogs glances -y
2.2关闭firewalld防火墙
[root@centos75-model ~]# systemctl stop firewalld #关闭防火墙
[root@centos75-model ~]# systemctl disable firewalld #关闭开机自启动,注:disable没有d
[root@centos75-model ~]# systemctl status firewalld #检查
2.3关闭SELinux
[root@centos75-model ~]# setenforce 0
[root@centos75-model ~]# vim /etc/selinux/config
SELINUX=enforcing改成SELINUX=disabled 这段是手动更改的,下面的是可以直接改的。
sed -ri 's#(^SELINUX=).*#\1disabled#g' /etc/selinux/config这一段可以直接改。
cat /etc/selinux/config这一段查询是否改成功
echo '* - nofile 65535' >> /etc/security/limits.conf 优化最大连接数
进入显示优化步骤
1、vim /etc/bashrc -----用vim编辑/etc/bashrc文件
2、
3、Shift+:后输入 set nu ----显示行号
4、
5、找到第41行,
6、把光标移动到“[”左边,按i进入编辑模式,按#键
5、按Esc键,退出编辑模式,然后按‘o’到下一行进入编辑模式。
粘贴
[ "$PS1"="\\s-\\v\\\$ " ]&&PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\]\w\[\e[0m\]]\\$ "按esc突出编辑模式,而后保存退出。
树形展示目录
输入cd /回车
输入tree
自习cd ll vim touch mkdir
不打开文件的两种修改方式
# 方式一
sed -ri 's#(^SELINUX=).*#\1disabled#g' /etc/selinux/config
# 方式二
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
[ "$PS1"="\\s-\\v\\\$ " ]&&PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\]\w\[\e[0m\]]\\$ "
输入:su 回车变色
修改更新yum源
yum install wget -y
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curlt -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum update -y 更新安装包
yum install -y wget
yum install net-tools vim tree htop iftop \
iotop lrzsz sl unzip telnet nmap nc psmisc \
dos2unix bash-completion nethogs glances \
lsof tcpdump sysstat -y
yum groups mark convert
yum grouplist 查看可安装的程序组
yum groupinstall "Developmet Tools" -y
yum groupinstall "Cinnamon" -y
yum update -y
CentOS6和CentOS7都要安装的企业运维常用基础工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
CentOS7要安装的企业运维常用基础工具包
yum install psmisc net-tools bash-completion vim-enhanced -y
把系统软件更新到最新。
yum update -y
CentOS6和CentOS7都要安装的企业运维常用基础工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
CentOS7要安装的企业运维常用基础工具包
yum install psmisc net-tools bash-completion vim-enhanced -y
安装的时候选包,选了四个,组包:里面有一堆软件。
1、忘了选了。
2、入职,别人没选。
[root@www ~]# yum groups mark convert
[root@www ~]# yum grouplist #<==查看所有包组名称,包括已安装的和未安装的
yum groupinstall "Development Tools" -y
yum groupinstall "Cinnamon" -y
4.1.2 Linux命令行常用快捷键
ctrl + c cancel 取消当前的操作
ctrl + l (小写字母L) clear(命令)
ctrl + d 退出当前用户
ctrl + r 查找(历史命令)。 history|grep
ctrl + a 把光标移动到行首
ctrl + e 把光标移动到行尾
ctrl + u 把光标到行首的内容删除/剪切
ctrl + y 粘贴
delete 光标所在处从前往后删除内容
ctrl + k 把光标到行尾的内容删除/剪切
ctrl + → 向右移动一个单词
ctrl + ← 向左移动一个单词
ctrl + s 锁屏
ctrl + q 解锁
ctrl + p 把上次ctrl+u 剪切后剩下的内容,粘贴出来
ctrl +u ctrl +p 移动光标 到你想要的位置 ctrl +y
Linux文件目录结构:
CentOS 6 开机流程——linux由kernel和rootfs组成。kernel负责进程管理、内存管理、网络管理、驱动程序、文件系统、安全等;rootfs由程序和glibc组成,完善操作系统的功能。同时linux内核的特点是模块化,通过对模块装载卸载可以对内核功能自定义。linux内核文件:/boot/vmlinuz-2.6.32-696.el6.x86_64
整体的流程
BIOS/开机自检
MBR引导(Boot Loader)
启动内核
启动第一个进程init
BIOS/开机自检
MBR引导(Boot Loader)
启动内核
启动第一个进程init
Linux文件及目录核心命令
Pwd:查看当前所在目录 此目录直接用
Cd:切换目录
Cd的常用选项:
Cd ~切换到当前目录的家目录
Cd ..切换到上级目录
Cd .保持当前目录不变
Cd -在最近两次工作目录之间来回切换
Cd /直接切换到/目录
Tree:以树形结构显示下目录内容
Tree选项目录
Tree以树形图列出文件目录结构
Tree 常用选项
-d 只显示目录
-L遍历目录的最大层数 -L后加大于0的正整数
-F在条目后加上文件类型的指示符号(*,/,=,@,|,其中的一个)
安装tree的命令:yum install tree -y
范例:使用tree命令区分文件和目录的方法
tree -L 1 -F /boot/ 使用-F参数会在目录后添加“/”方便区分目录
Mkdir:创建目录
-p 递归创建目录 可以连续创建多个目录
-m 设置新目录默认对应的权限
创建目录:
Mkdir{1..3}加花括号连续创建的目录,用..隔开 花括号内可以是连续的数字,连续的字母。
(注:适用于创建大量的连续目录)
Mkdir{dir,yy,uu}创建不连续的目录时,用逗号隔开
实例:
date1 date2 date3 mkdir data{1..3}
创建连续的目录:madir date1 date2 date3
(注:适合创建比较少的目录)
touch:创建文件或更改文件时间戳
{}生成序列
{1..10}
{01..10}
{a..z}
ls:显示目录下内容及属性信息的命令
ls常用选项
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l以列表方式显示文件的详细信息 (备注:|s-|=ll)
-h配合-|以人性化方式显示文件大小,以K M G 为单位
-t根据最后修改时间排序,默认是以文件名排序,通常与-|连用
-F在条目后加上文件类型的指示符号(*,/,=,@,|,其中的一个)
注:可以标识文件类型
-d显示目录本身的信息 而不是显示目录的内容
-r逆序 倒叙排序W
Ls -lt按照时间排序
Ls -lrt 找出最新的文件
-i 显示索引节点信息(索引节点相当于身份证号)
--full-time以完整的时间格式输出(也就是按照中国的时间日期显示)
Cp:复制文件或目录
Cp源文件 目标文件
Cp复制文件或目录
Cp常用选项:
-r 递归式复制目录,即复制目录下的所有层级的子目录及文件
-p 复制的时候 保持属性不变
-d 复制的时候保持软连接(快捷方式)
-a 等于-pdr
Mv:移动或重命名文件
Mv 源地址 目标地址 移动文件或目录
Mv原文件名 新文件名 将文件重命名
rm:删除文件或目录
rm删除一个或多个文件或目录 rm文件或目录删除后不能恢复
rm常用选项
-f强制删除,没有提示(即使文件不存在)
-r删除目录 删除目录时必须加-r,一次性可删除多个目录
-i删除前需要确认
-i与-f联合使用不生效
i的作用演示
rm:remove regular empty file‘b’?Y
Linux文件及目录管理命令基础
Shutdown关机或重启
-r 重启 shutdown -r now 等于reboot
-h 关机 shutdown -h now等于 halt(CPU停止) 还等于poweroff(关机切断电源)
关机与重启命令:halt/poweroff/reboot
Pwd:显示当前所在位置信息
Cd:切换目录
Cd ~切换到当前目录的家目录
Cd ..切换到上级目录
Cd .保持当前目录不变
Cd -在最近两次工作目录之间来回切换
Cd /直接切换到/目录
Tree:以树形结构显示下目录内容
Tree选项目录
Tree以树形图列出文件目录结构
Tree 常用选项
-d 只显示目录
-L遍历目录的最大层数 -L后加大于0的正整数
-F在条目后加上文件类型的指示符号(*,/,=,@,|,其中的一个)
安装tree的命令:yum install tree -y
范例:使用tree命令区分文件和目录的方法
tree -L 1 -F /boot/ 使用-F参数会在目录后添加“/”方便区分目录
Mkdir:创建目录
-p 递归创建目录 可以连续创建多个目录
-m 设置新目录默认对应的权限
创建目录:
Mkdir{1..3}加花括号连续创建的目录,用..隔开 花括号内可以是连续的数字,连续的字母。
(注:适用于创建大量的连续目录)
Mkdir{dir,yy,uu}创建不连续的目录时,用逗号隔开
实例:
date1 date2 date3 mkdir data{1..3}
创建连续的目录:madir date1 date2 date3
(注:适合创建比较少的目录)
touch:创建文件或更改文件时间戳
{}生成序列
{1..10}
{01..10}
{a..z}
ls:显示目录下内容及属性信息的命令
ls常用选项
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l以列表方式显示文件的详细信息 (备注:|s-|=ll)
-h配合-|以人性化方式显示文件大小,以K M G 为单位
-t根据最后修改时间排序,默认是以文件名排序,通常与-|连用
-F在条目后加上文件类型的指示符号(*,/,=,@,|,其中的一个)
注:可以标识文件类型
-d显示目录本身的信息 而不是显示目录的内容
-r逆序 倒叙排序W
Ls -lt按照时间排序
Ls -lrt 找出最新的文件
-i 显示索引节点信息(索引节点相当于身份证号)
--full-time以完整的时间格式输出(也就是按照中国的时间日期显示)
Cp:复制文件或目录
-r 递归式复制目录,及复制目录下单所有子目录及文件
-p 复制时保持属性不变
-d 复制时保持软连接
-a 等于-pdr
Mv:移动或重命名文件
rm:删除文件或目录
-f 强制删除 没有提示
-r 删除目录时加上-r可以删除多个目录
-i 删除前需要确认
挂载演示
[root@oldboyedu ~]#ls /dev/cdrom
/dev/cdrom
[root@oldboyedu ~]#cd /dev/cdrom
-bash: cd: /dev/cdrom: Not a directory
[root@oldboyedu ~]#cd /dev/cdrom
-bash: cd: /dev/cdrom: Not a directory
[root@oldboyedu ~]#mount /dev/cdrom /mnt #<==挂载:将/mnt作为/dev/cdrom的入口。
mount: /dev/sr0 is write-protected, mounting read-only
[root@oldboyedu ~]#cd /mnt
[root@oldboyedu /mnt]#ls
[root@oldboyedu /mnt]#cd .. #<==退到上一级目录卸载。
[root@oldboyedu /]#umount /mnt #<==取消挂载:取消将/mnt作为/dev/cdrom的入口。
[root@oldboyedu /]#ls /mnt
挂载命令mount
卸载命令umount
临时挂载点/mnt
根目录"/"挂载在第一块盘上 系统相关的内容
"/usr"目录挂载在第二块盘上 用户相关的内容
/home用于存放用户的数据
├── *****bin -> usr/bin binaries二进制 命令相关*****
├── *****boot 引导分区,系统内核及引导程序
├── *****dev Device设备文件所在目录
├── *****etc 二进制软件包配置文件所在路径
├── *****home 普通用户的家目录
├── lib -> usr/lib library 库文件目录
├── lib64 -> usr/lib64 64库library 库文件目录
├── media 媒体
├── *****mnt (mount)临时挂载点
├── opt 英文option的缩写,表示的意思是可选择,
有些软件包也会被安装在这里,也就是自定义的软件包。
├── *****proc 虚拟的文件系统,存放进程和内核信息的目录。
├── *****root 管理的家目录
├── run 正在运行进程相关信息的文件
├── *****sbin -> usr/sbin system binaries 管理员命令所在目录,普通用户执行不了。
├── srv 为用户提供服务的数据所在目录
├── sys 虚拟的文件系统,存放进程和内核信息的目录。
├── *****tmp 临时文件所在目录
├── *****usr 系统软件和用户相关程序所在目录,第二层次目录
└── *****var 可变化的数据
1、/etc系统初始化及设置相关重要文件
/etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件
用途:用于配置上网的文
2、/etc/resolv.conf:Linux系统 DNS客户端的配置文件
DNS Domain Name System 域名系统
作用:简单说就是把浏览器里输入的域名,解析为服务器的IP地址,然后才能找到服务器,提供内容。
3、/etc/hosts:系统本地的DNS解析文件
4、/etc/fstab:配置开机设备自动挂载的文件
5、/etc/rc.local:存放开机自启动程序命令的文件
6、/etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件
各种配置的永久配置文件。
7./etc/motd:配置用户登录系统之后显示提示内容的文件
8./etc/redhat-release 查看系统版本
9. /etc/redhat-release 查看系统版本
10. /etc/init.d:软件启动程序所在的目录(CentOS7以前)
11./etc/inittab 设置开机运行级别以及启动相应级别脚本的文件(CentOS7以前)
定义:Linux系统运行级别当前所处于的状态。
Linux系统运行级别的说明如下:
# 0 关机(请不要把系统运行级别设置为0)
# 1 单用户模式 (root用户密码忘记,可用此模式找回)
# 2 没有NFS,多用户模式
# 3 命令行模式 文本模式(企业级服务器核心运行状态)
# 4 未使用
# 5 图形化模式 桌面模式 X11(桌面个人版系统运行状态)
# 6 重启(不要把系统运行级别设置为6)
Centos6和centos7 系启动流程
Centos6
第一步:POST 加电自检
检查硬件的是否健康。如cpu风扇是否正常,内存是否正常,时钟是否正常,这个过程是读取ROM上的指令执行的
第二步:加载BOIS
Boot-Sequence。CPU要寻找外部I/O哪里有操作系统可以启动。并设置启动优先级(操作系统可以安装的地方很多啊,硬盘,U盘,甚至网络PXE)。bois通过INT 13取得boot loader
第三步:读取MBR
硬盘上的第0磁道的第一个扇区被称作MBR,Master Boot Record(主引导记录)共512字节。这里存放着分区表和主引导程序。其中引导程序446字节,分区表64字节,魔数2字节。
第四步:Boot Loader
找到操作系统所在分区.其中Grub,Lilo就是常见的Loader。其中redhat6是grub。系统会读取grub配置信息。
boot loader 可以提供菜单,载入内核,也可以转交其他的loader
第五步:加载内核
将内核加载进内存。在内存完成解压缩(这时,屏幕一般会出现“OK, booting the kernel”)。内核会接管硬件,BootLoader退出。内核开始探测各个硬件,提供文件系统,进程管理,网络管理。并加载硬件驱动。完成Linux核心环境。基于Linux的程序开始运行。
第六步:用户层init执行
读取/etc/inittab文件,并依据此文件来进行初始化工作。指明linux主机需要运行再什么级别上。
第七步 : init进程执行初始化脚本
init进程去执行/etc/rc.d/rc.sysinit脚本程序。他是一个bash脚本。工作很多,其如下
激活udev和selinux
根据/etc/sysctl.conf文件,设定内核参数
设定时钟
装载键盘映射
设置主机名
根文件系统检测,并以读写方式重新挂载
激活raid和lvm
启用磁盘配额
根据/etc/fstab挂载其他的文件系统
第八步:启动其他内核模块(可以和上步合成一步)
其过程是在/etc/rc/rc.sysinit内执行的,所以可以说是上面那步。装载相应的内核模块。依据/etc/modules.conf或者/etc/sysconf/modules下的内容来装载内核模块
第九步:根据运行级别执行初始化工作并且启动相应的服务
首先运行rc.d判断运行级别后执行相应的脚本就是rc3.d下(假设为3级别)下的那些K和S开头的文件。后面的附加3有详细的说明
第十步 : 执行/bin/login。等待用户登录
Centos7
UEFi或BIOS初始化,运行POST开机自检选择启动设备引导装载程序, centos7是grub2加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub/boot/grub2/grub.cfg加载initramfs驱动模块加载内核选项内核初始化,centos7使用systemd代替init执行initrd.target所有单元,包括挂载/etc/fstab从initramfs根文件系统切换到磁盘根目录systemd执行默认target配置,配置文件/etc/systemd/system/default.targetsystemd执行sysinit.target初始化系统及basic.target准备操作系统systemd启动multi-user.target下的本机与服务器服务systemd执行multi-user.target下的/etc/rc.d/rc.localSystemd执行multi-user.target下的getty.target及登录服务systemd执行graphical需要的服务设置内核参数:设置内核参数,只影响当次启动启动时,在linux16行后添加systemd.unit=desired.target //修改运行模式systemd.unit=emergency.targetsystemd.unit=rescue.targetrescue.target 比emergency 支持更多的功能,例如日志等systemctl default 进入默认target启动排错:文件系统损坏先尝试自动修复,失败则进入emergency shell,提示用户修复在/etc/fstab不存在对应的设备和UUID等一段时间,如不可用,进入emergency shell在/etc/fstab不存在对应挂载点systemd 尝试创建挂载点,否则提示进入emergency shell.在/etc/fstab不正确的挂载选项 提示进入emergency shell一.破解root口令方法1: 启动时任意键暂停启动按e键进入编辑模式将光标移动linux16开始的行,添加内核参数rd.break按ctrl + x启动mount –o remount,rw /sysroot //重新挂载,给写权限chroot /sysroot 切根passwd root 修改口令touch /.autorelabel 如若SELinux是启动的,必须创建该文件exitreboot方法2: 启动时任意键暂停启动按e键进入编辑模式将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh按ctrl + x启动chroot /sysrootpasswd roottouch /.autorelabel exitreboot修复grub2GRUB“the Grand Unified Bootloader”引导提示时可以使用命令行界面可从文件系统引导主要配置文件 /boot/grub2/grub.cfg修复配置文件grub2-mkconfig > /boot/grub2/grub.cfg修复grubgrub2-install /dev/sda BIOS环境grub2-install UEFI环境调整默认启动内核vim /etc/default/grubGRUB_DEFAULT=0grub2-mkcofig -o /boot/grub2/grub.cfg //重新生成grub.conf文件二.删除/boot/grub2下所有文件方法:1.修复grub2文件:进入救援模式 ;chroot /mnt/sysimagegrub2-install /dev/sda //恢复grub2下的文件(缺少grub.conf 文件)2. 修复grub.conf 文件重启,insmod xfx 加载xfs驱动set root=(hd0,1)linux16 /vmlinuz-xxx root=/dev/sda2 selinux=0linitrd16 /initrafs-xxxx三.删除/boot/*方法:进入救援模式,chroot /mnt/sysimage mount /dev/sr0 /mnt (没挂就挂载光盘) rpm -ivh /mnt/Packages/kernel-xxx --force grub2-install /dev/sda grub2-mkcofig -o /boot/grub2/grub.cfg //重新生成grub.conf文件四.删除软链接rm -f /etc/systemd/system/default.target;重新创建软链接 ln -s /usr/lib/systemd/system/reboot.target /etc/systemd/system/default.target 效果:不断重启修复方法: 重启,ESC,选中内核,按e键, 在Linux16 行的末尾写:systemd.unit=multi-user.target ;在按ctrl+x重启,在修改为正常