Linux笔记(起源+平台+网络配置+远程终端+密钥认证+运行级别+修改root密码+系统克隆+主机互联)

&    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永久关闭。

关闭该服务后,重启网卡或系统。
故障点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(进入一个内存操作系统)

在单用户模式中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可以查看所有的运行级别

用该命令systemctl get-default可以查看当前的运行级别,可以看出下面是2~4级别多用户无图形界面。

&     init是逐个启动、systemd是并行启动
当在图形桌面的终端中输入: init 0关机, init 6重启, init 3就直接在图形界面切换3级别到没图形界面。

也可以用命令: 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 密码。

①先在系统里生成加密的密码:
命令 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...



&    在虚拟机中可以克隆同一个系统方便做实验,节省重新安装的时间,可以更改主机名。
首先克隆目标系统需要先关机,在目标系统选项卡右键选择管理->克隆 ->下一步 ->创建链接克隆(方便节省空间和时间,类似快照。) ->虚拟机名字更改下 ->选择完成 ->进入系统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同步一下系统时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值