Linux的相关概念

1 Linux的相关概念 html

1.1 什么是操做系统?linux

操做系统(英语:operating system,缩写:OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操做系统须要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操做网络与管理文件系统等基本事务。操做系统也提供一个让用户与系统交互的操做界面。shell

1.2 操做系统的分类ubuntu

Windows、Linux、Unixvim

1.3 Unix及其衍生(可参考<<浪潮之巅>>)centos

 

1.4 Linux是什么?(有兴趣能够看Linus Torvalds的传记,中文名<<只是为了好玩>>)服务器

Linux是一种自由和开放源代码的类UNIX操做系统,该操做系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序以后,成为Linux操做系统。网络

内核官网:https://www.kernel.org/session

谭邦宁教授:minix(微内核)ssh

Linux的几大派系

Debian系----ubuntu(deb包管理方式)

Redhat系----fedora, Centos(rpm包管理方式)

1.5 GNU、自由软件、开源、自由软件、GPL许可证和基金会(FSF)

GNU(GNU is no Unix)GNU于1983年由Richard Stallman(rms)发起,意在为全部软件用户可以自由控制本身的计算而构建一款由你们共同努力开发而成的操做系统。rms今天仍然是GNU的首席搞事者。

GNU的基本目标和一向目标是提供一个和Unix兼容的100% 自由软件的操做系统。不是95%、也不是99.5%、而是100%自由。这个系统的名字叫GNU,是GNU's Not Unix的首字母递归缩写—这是对Unix的技术思想致敬的一种方法,同时表达GNU有所不一样。从技术上说,GNU很像Unix。可是它不一样于Unix,GNU给予其用户自由。

"自由软件"尊重用户的自由,而且尊重整个社区。粗略来说,一个软件若是是自由软件,这意味着用户能够自由地运行,拷贝,分发,学习,修改并改进该软件。所以,"自由软件"是关乎自由的问题,与价格无关,软件如何订价并不影响它是否被归类为自由软件。而Free Software中的Free是指"自由言论"中的自由,而非"免费"这一意项。为避免歧义,在使用英文时,咱们也会借用法语或西班牙语的"Libre Software"来指自由软件。

开源软件(英语:open source software,英文缩写:OSS,中文也称:开放源代码软件)是一种源代码能够任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并容许用户学习、修改、增进提升这款软件的质量。开源协议一般匹配开放源代码的定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合做地开发。开源软件是开放源代码开发的最多见的例子,也常常与用户生成内容作比较[1]。 开源软件的英文"open-source software"一词出自自由软件的营销活动中。

GNU通用公共许可协议(英语:GNU General Public License,简称 GNU GPL、GPL)是普遍使用的免费软件许可证,能够保证终端用户得自由运行,学习,共享和修改软件。许可证最初由GNU项目的自由软件基金会 (FSF)的理查德·斯托曼(Richard Matthew Stallman)撰写,并授予计算机程序的收件人自由软件定义的权利。 GPL是一个Copyleft许可证,这意味着派生做品只能以相同的许可条款分发。 这与许可免费软件许可证有所区别 ,其中BSD许可证和MIT许可证是普遍使用的示例。 GPL是第一个广泛使用的Copyleft许可证。

自由软件基金会(英语:Free Software Foundation,FSF)是一个致力于推广自由软件的美国民间非营利性组织。它于1985年10月由理查德·斯托曼创建。其主要工做是运行GNU计划,开发更多的自由软件。

 

2 虚拟机

实验环境的搭建

环境:Centos7.4+Vmware Worksation12

终端:Xshell

阿里云镜像站:https://opsx.alibaba.com/mirror

Centos历史镜像:http://vault.centos.org/

共享资源站:r.aminglinux.com

Centos7.aminglinux.com

操做系统安装过程(略)

注意点:

a 选择Centos64位

b 网络模式选NAT或桥接

c 分区方案

自定义分区

分区 /boot 200M

Swap 不超过8G, 小于8G内存的2倍

剩余:/

d 软件包选择

最小化安装(把开发工具装上)

e 系统安装完成后必定要作快照,如需多台虚拟机,能够经过克隆连接方式实现

 

3 配置网络

a 图形化方式修改nmtui

 

b修改配置文件方式

[root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

UUID="f78a6b73-f367-498a-b3ee-47f6b29ceab4"

DEVICE="ens32"

ONBOOT="yes"

IPADDR="192.168.1.211"

PREFIX="24"

GATEWAY="192.168.1.1"

DNS1="8.8.8.8"

DNS2="223.5.5.5"

"/etc/sysconfig/network-scripts/ifcfg-ens32" 21L, 419C

修改后wq保存,重启网络服务

[root@bogon ~]# systemctl restart network.service

 

终端快捷键(emac编辑模式set -o | grep emac查看是emac模式)

CTRL-C 中断(有时是delete或者del)

CTRL-Z 暂停(放入后台执行)

CTRL-I 清屏,至关于clear

CTRL-D 退出终端

CTRL-S 锁定终端

CTRL-Q 解锁终端

CTRL-B 左移光标

CTRL-F 右移光标

CTRL-P 查看上一条命令(或上移光标)

CTRL-N 查看下一条命令(或下移光标)

CTRL-A 移动光标至行首

CTRL-E 移动光标至行尾

CTRL-W 删除前一个词

CTRL-U 删除从光标至行首的内容

CTRL-K 删除光标至行尾的内容

CTRL-Y 粘贴已删除的文本(例如ctrl-u删除的内容)

CTRL-H 删除字符

M-b 向左移动一个单词(先按esc键,再按b键)

M-f 向右移动一个单词(先按esc键,再按f键)

tab 命令补全,没事多按tab键

 

4 远程登陆

a 使用PuTTY远程链接Linux

putty下载(下载完整绿色包)

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

调缓冲区大小(调到最大)

调语言为utf-8

调日志记录

调整完之后记得保存session

b 使用xshell链接Linux

c PuTTY密钥认证

  1. 生成密钥对

  1. 生成密钥对

  1. 在Linux服务器上新建.ssh目录和authorized文件(以root用户例)

/root/.ssh/ 权限700

/root/.ssh/authorized_keys 权限600

将公钥内容复制到authorized_keys文件,保存

  1. 关闭seliux

[root@bogon ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config

  1. 配置putty使用证书登陆

验证

d xshell密钥认证

1. 进入用户密钥生成向导

2 生成密钥对

3     在Linux服务器上新建.ssh目录和authorized文件(以root用户例)

    /root/.ssh/ 权限700

    /root/.ssh/authorized_keys 权限600

将公钥内容复制到authorized_keys文件,保存

4     关闭selinux

[root@bogon ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config

5 配置xshell使用证书

e Linux机器相互登陆

1 生成密钥对

2 后续步骤与putty/xshell和xshell的密钥登陆一致,参考上述putty或shell的密钥登陆。

简述以下

在须要访问的Linux服务器上(以root用户登陆为例)新建.ssh目录和authorized文件

/root/.ssh/ 权限700

/root/.ssh/authorized_keys 权限600

将公钥内容复制到authorized_keys文件,保存

3 关闭selinux

[root@bogon ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config

4 经过ssh username@ip_addr 方式链接

注意:若是须要使用密钥登陆,须要登陆的每一个用户都须要单独作公钥上传动做。好比你想使用xxx用户名登陆,就须要在该用户家目录下创建.ssh目录和authorized_keys。上传公钥。

 

5 运行级别的概念

实际上Centos7以上的版本已经没有了运行级别的概念。init程序已经由原来的sysinit方式改变为systemd。

转而用target的概念,运行级的说法只是为了向前兼容。

systemctl基础用法

a 列出服务列表

[root@bogon ~]# systemctl list-units --type=service

UNIT LOAD ACTIVE SUB DESCRIPTION

abrt-ccpp.service loaded active exited Install ABRT coredump hook

abrt-oops.service loaded active running ABRT kernel log watcher

abrtd.service loaded active running ABRT Automated Bug Reporting Tool

auditd.service loaded active running Security Auditing Service

chronyd.service loaded active running NTP client/server

crond.service loaded active running Command Scheduler

……

b 启动服务(以网络服务为例)

[root@bogon ~]# systemctl restart network.service

c 中止服务

[root@bogon ~]# systemctl stop network.service

d 重启服务

[root@bogon ~]# systemctl restart network.service

e 默认启动级别

[root@bogon ~]# systemctl get-default

multi-user.target

Centos7中的运行级

[root@bogon ~]# ls -l /usr/lib/systemd/system/runlevel*.target

lrwxrwxrwx. 1 root root 15 Apr 20 23:18 /usr/lib/systemd/system/runlevel0.target -> poweroff.target

lrwxrwxrwx. 1 root root 13 Apr 20 23:18 /usr/lib/systemd/system/runlevel1.target -> rescue.target

lrwxrwxrwx. 1 root root 17 Apr 20 23:18 /usr/lib/systemd/system/runlevel2.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Apr 20 23:18 /usr/lib/systemd/system/runlevel3.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Apr 20 23:18 /usr/lib/systemd/system/runlevel4.target -> multi-user.target

lrwxrwxrwx. 1 root root 16 Apr 20 23:18 /usr/lib/systemd/system/runlevel5.target -> graphical.target

lrwxrwxrwx. 1 root root 13 Apr 20 23:18 /usr/lib/systemd/system/runlevel6.target -> reboot.target

其余有须要参考man 1 systemd

有用连接:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-services

https://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/index.html

 

6 单用户模式

将下图红色圆圈部分修改成:rw init=/sysroot/bin/sh , 而后执行ctrl+x 启动

 

修改密码

更新selinux信息

exit退出chroot, reboot重启

 

7 设置grub密码

a 生成密钥

b 编辑/boot/gurb2/grub.cfg

c 保存,退出

d 重启验证

进入单用户模式须要密码,说明配置成功

 

8 光盘救援模式

修改成光盘启动模式

改完密码之后,执行exit退出chroot

而后重启从新进入系统。

 

扩展连接:

http://www.javashuo.com/article/p-podsaqcr-m.html

http://blog.51cto.com/13055758/2086322

参考连接

https://commons.wikimedia.org/wiki/File:Unix_history-simple.svg

https://www.gnu.org/gnu/about-gnu.html

https://zh.wikipedia.org/wiki/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6

http://ask.apelearn.com/question/18012

相关文章
相关标签/搜索