& Linux是以Unix家族的操作系统为模型写成的,所以它分享了Unix丰富的命令行工具。该操作系统的内核是由林纳斯•托瓦兹(Linus Benedict Torvalds)在1991年首次发布,之后,再加上用户空间的应用程序,就成为Linux操作系统。
& GNU通用公共许可协议(GNU General Public License,GNU GPL或GPL),是一个广泛使用的自由软件许可协议条款。最初由理查德•斯托曼(Richard Stallman)为GNU计划(又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。)而撰写,GPL给出了计算机程序自由软件的定义,任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。
& BSD (Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统,在1977至1995年间由加州大学伯克利分校开发和发布的。今天,“BSD”并不特指任何一个BSD衍生版本,而是类UNIX操作系统中的一个分支的总称。
& File:Linux Distribution Timeline.svg
&
The Linux Kernel Archives
& 虚拟机:VMware workstation-full-v10.0.0 ;
安装配置:1核以上-1G内存以上-20G硬盘空间-NAT网络-显示器分辨率不用选太高
& 系统版本:CentOS 7.4.1708-x86_64 ;
安装配置:最小化安装(CLI),可以不用创建普通用户,安装时间较短;桌面化安装(GUI),建议创建普通用户,安装了图形化桌面后也可以在终端中输入命令切换回命令行界面,安装时间较长。硬盘空间划分规则:选“标准分区” ①200M-/boot启动文件目录 ②2G-swap交换空间目录(内存小于4G,swap按内存的2倍设置,内存大于或等于4G,swap都是设置为8G,节省资源。) ③剩下所有空间划分到根目录/,大小设置为空。分区完成进入系统后,分区大小不可更改,但可以硬盘扩容。LVM分区方案,支持磁盘扩容缩容。
& 远程终端:puTTY_0.70、Xshell_v5.0 ;
puTTY设置:在Session会话中输入用户名,Host Name(or IP address)输入CentOS 7的IP,Port端口默认22,Lines of scrolback输入2000可以在命令行中向上回滚2000行命令历史。Translation字符编码要选择UTF-8因为是中文系统需要选这个编码否则显示中文的时候会出现乱码。
Xshell设置:在会话中新建用户名,协议SSH,主机IP,端口默认22,在用户身份认证中可以直接输入root的账号密码,活动间隔可以设置长点600s,字符编码选择UTF-8。
& [username@linuxcentos7 ~] $
这叫shell提示符,无论何时当shell准备好了接受输入时,它就会出现。它通常包括你的用户名@主机名,紧接着当前工作目录和一个美元符号。
如果提示符的最后一个字符是“#”,而不是“$“,那么这个终端会话就有超级用户权限。这意味着,我们或者是以root用户的身份登录,或者是我们选择的终端提供超级用户(管理员)权限。
1、
dhclient:自动获取ip
2、
ip addr/ip add:可以看到网卡连接的ip信息
3、目前这个ip是自动获取的ip,只要重启系统这个ip就会改变,为了可以方便远程连接,所以要把这个ip设置为静态ip。
4、编辑网卡的配置文件,路径是:/etc/sysconfig/network-scripts/ifcfg-ens33
5、编辑需要
vi这个编辑器,命令:
vi
/etc/sysconfig/network-scripts/ifcfg-ens33,进入该网卡配置文件查看模式,敲击【i】就会进入编辑模式(发现左下角有个INSERT就对了),就可以更改文件中的字符串了;(新增:BOOTPROTO=dhcp(自动获取IP)改为static(获取静态IP))ONBOOT=no必须改为yes这样系统启动的时候才会激活网卡。IPADDR自动获取ip,NETMASK网段,GATEWAY网关,DNS1=119.29.29.29是通用的,编辑完按【Esc】再键入【:wq】就保存退出编辑模式。
6、
systemctl restart network.service:重启网络服务
7、
ifconfig:查看ip地址,可以看看有没有变化
8、
route -n:查看网关
9、你就可以ping网关呀,外网地址都可以了
& 网络连接的NAT连接模式不好使的时候,可以转换下思路,换下连接模式。
故障点1、配置完vi文件,重启网卡报错,需要关闭NetworkManager服务,命令:systemctl stop NetworkManager重启后恢复服务,systemctl disable NetworkManager永久关闭。
![](https://i-blog.csdnimg.cn/blog_migrate/1c4928929e68d7361587adf268bf0ccb.png)
关闭该服务后,重启网卡或系统。
故障点2、在虚拟机Linux中可以ping通网络,当在windows中ping不通网络,可能是虚拟机VM10的问题,可以在虚拟机硬件中新添加网卡,选择仅主机的连接就是Linux与windows直连,就可以解决这个问题。
& putty密钥认证可以避免密码被别人获取后登陆你的服务器。Xshell公钥和私钥保存位置,打开方式。Xshell和putty的密钥认证,需要在服务器中创建目录,更改权限,新建文件,文件中里粘贴公钥,关闭selinux防火墙服务。
puTTY:在putty里面有个程序可以生成秘钥,选择PuTTY Key Generator-->Generate生成秘钥,生成了秘钥最好还是设置一个秘钥密码,保存私钥和公钥到文件夹。
进入Linux创建一个目录:mkdir /root/.ssh
修改权限:chmod 700 /root/.ssh
编辑公钥:vi /root/.ssh/authorized_keys 按i后,再粘贴公钥,然后退出。
关闭防火墙selinux:setenforce 0 临时关闭,Ctrl+d或者exit退出
回到puTTY端,选择SSH
-->Auth
-->Private key file for authentication选择保存在文件夹的私钥,并在会话中保存。
Xshell: 在Xshell中选择工具
-->新建用户秘钥生成向导
-->秘钥类型RSA
-->秘钥长度2048
-->起一个秘钥名字
-->设置秘钥密码
-->另存秘钥
-->编辑Xshell用户会话
-->属性
-->用户身份验证
-->方法:把password改为public key
-->用户秘钥(选择生成的秘钥)
-->秘钥密码
同样也需要在服务器中创建目录,更改权限,新建文件,文件中里粘贴公钥,关闭selinux防火墙服务。
& 忘记root用户密码,有2种方式解决,第1种是单用户模式。
重启命令有3个:reboot、init 6、shutdown -r now 关机:init 0、poweroff.
首先reboot重启{
电源&重新启动客户机(仅虚拟机的操作
)} --> 在开机选项中选择第一行按[e] --> 进入编辑Gurb,gurb是启动该硬盘加载内核的工具,选择linux16那行 --> 把ro只读 改 读写rw init=/sysroot/bin/sh(sysroot是原系统所在的路径) --> ctrl x(进入一个内存操作系统)
![](https://i-blog.csdnimg.cn/blog_migrate/8ef7502592a11e14c6c2c528c1701164.png)
在单用户模式中sysroot,必需切换到你原来的系统中输入命令来改密码。
--> chroot /sysroot/(改变根目录) -->LANG=en(定义语言,终端下不支持中文) --> 操作(如,passwd root)重新设置密码认证 -->touch /.autorelabel(与selinux有关的一个操作) 或者 关闭Selinux -->电源&重新启动客户机(仅虚拟机的操作)-->ctrl d --> reboot
& 在那CentOS6中有运行级别有7个级别,从0到6,0就是关机,1就是单用户,2、3、4都是无图形命令行下的多用户模式,5是图形操作模式,6就是重启。在CentOS7中就没有了运行级别,于是人性化的用软链接来代替之前的运行级别。
用该命令ls -l /usr/lib/systemd/system/runlevel*target可以查看所有的运行级别
![](https://i-blog.csdnimg.cn/blog_migrate/86180105e75f449c62e0694ace2b4244.png)
用该命令systemctl get-default可以查看当前的运行级别,可以看出下面是2~4级别多用户无图形界面。
![](https://i-blog.csdnimg.cn/blog_migrate/c74b8f027c6d982b6a0604e7fab224b6.png)
&
init是逐个启动、systemd是并行启动
当在图形桌面的终端中输入:
init 0关机,
init 6重启,
init 3就直接在图形界面切换3级别到没图形界面。
![](https://i-blog.csdnimg.cn/blog_migrate/6189e8461a8ede16ec720194cc16d6ec.png)
也可以用命令:
systemctl set-default multi-user.target永久切换到多用户无图形界面,它就会在/etc/systemd/system/default.target路径中创建软链接指向/usr/lib/systemd/system/multi-user.target,需要重启。
& 当你忘记root密码,单用户模式的grub又被设置了密码,你又没有密码,怎么办呢?
第2种更改 root 密码方法,救援模式即是光盘模式,在虚拟机的光驱中选择启动连接光盘,更改主板bios进入安装光盘的模式下,选择Troubleshooting,选择Rescue a centos linux system,回车->选择1继续,最后出现chroot /mnt/sysimage命令行,和单用户模式一样的套路,在命令行中切换系统进入你的本来的系统更改root密码。
chroot /mnt/sysimage-->passwd root重新设置密码认证-->取消光驱光盘连接(仅虚拟机)-->
电源&重新启动客户机(仅虚拟机的操作)
在CentOS 7中设置gurb密码,避免别人利用救援模式改你的root 密码。
![](https://i-blog.csdnimg.cn/blog_migrate/9d3bc56afe2f8ccd051d8bf48e527b71.png)
①先在系统里生成加密的密码:
命令 grub2-mkpasswd-pbkdf2
Enter password: //设置grub密码
Reenter password: //再次输入密码
//得到加密的密码
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.1367F52B54CF08B325A8AB6185DC12E58AAB5...
②然后找到grub配置文件
cd /boot/grub2/ //跳转到目标目录,另,在centos6中则用/boot/grbu/
cp grub.cfg grub.cfg.bak //最好是备份一下
vim grub.cfg //编辑
//在#
## BEGIN /etc/grub.d/00_header ###下面写入
set superusers="root"
export superusers
password_pbkdf2 root //不用换行直接空1格粘贴加密的密码 grub.pbkdf2.sha512.10000.1367F52B54CF08B325A8AB6185DC12E58AAB5...
![](https://i-blog.csdnimg.cn/blog_migrate/83c417ad06bda34ae629d778f3377e5a.png)
& 在虚拟机中可以克隆同一个系统方便做实验,节省重新安装的时间,可以更改主机名。
首先克隆目标系统需要先关机,在目标系统选项卡右键选择管理->克隆
->下一步
->创建链接克隆(方便节省空间和时间,类似快照。)
->虚拟机名字更改下
->选择完成
->进入系统vi命令更改IP地址,否则IP冲突,IPADDR=更改,UUID=删除 不然一样的话会有问题。最后重启网络服务
systemctl restart network.service;
更改主机名:用命令hostname查看主机名,更改主机名用命令hostnamectl set-hostname aminglinux-02即可,命令logout退出系统重新进入就可以看到主机名字已经更改了。其实这个更改主机名的命令是更改配置文件的,路径是/etc/hostname
& 远程连接命令
ssh username@192.168.133.130(不输入用户名也可以连接,默认是当前用户,想知道当前用户是谁可以输入命令
whoami)或者
ssh -p 22 username@192.168.133.130(指定端口22);在克隆主机和原主机中也可以设置秘钥认证,用linux中的工具ssh-keygen生成秘钥对,同样把生成的公钥放到目标主机,在目标主机用
vi /root/.ssh/anthorized-keys编辑粘贴公钥,同时记得关闭selinux服务,如果不知道selinux是否关闭可以用命令
getenforce看是否开启,显示Enforcing(开启)、Permissive(关闭),如果没关闭就用命令
setinforce 0临时关闭,永久关闭需要编辑配置文件。ssh远程连接后想退出,可以用命令exit或Cril+D快捷键登出。
批量无人值守安装CentOS 7系统两种方法:
❶使用cobbler批量安装操作系统(基于Centos7.x )
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
cobbler集成的服务:
PXE服务支持,预启动执行环境
DHCP服务管理,动态主机设定协议
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要),小型文件传输协议
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
❷kickstart实现批量安装CentOS7.x系统
实现原理:我们将手动安装的所有的详细步骤记录到一个文件中,然后kickstart通过读取这个文件就可以实现自动化安装系统kickstart是一个项目的名称。没有这个软件。cobbler是对kickstart的所有组件的封装。本质上就是网页版本的kickstart。
Tip;当需要输入长命令的时候,tab键可以自动补全命令,敲一下tab键没反应的时候就表明有多个相同开头的目录或文件,不妨再敲一次tab键就会显示所有相同的目录或文件。
ctrl+l清屏
date 该命令显示系统当前时间和日期。&相关联命令
cal 该命令显示当前月份的日历。当date获取时间不准,可以用命令:
ntpdate time.windows.com同步一下系统时间。