ARM64、x86基础知识和区别
今天小编就带你深入了解CPU
的这两大架构:ARM
和X86
。
- ARM
ARM64
是CPU
构架的一种,通常用于手机、平板等CPU
,目前笔记本电脑
也会采用ARM64构架的CPU
。- x86
x86
是CPU
构架的一种,通常用于笔记本电脑、台式电脑、服务器、超级计算机
。
作者:物非0人非
链接:https://www.jianshu.com/p/c9bdaa139681
来源:简书
X86、X86_64、amd64、i386、i686指令集区别
x86
intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集。
x84_64/amd64
实际上,x86_64,x64,AMD64基本上是同一个东西。
x86 CPU开始迈向64位的时候,AMD比 Intel 率先制造出了商用的兼容 x86 的CPU,AMD称之为AMD64。
而后 Intel 也开始支持 AMD64 的指令集,换了个名字,叫x86_64,表示是x86 指令集的64扩展。
i386
i386 适用于intel和AMD所有32位的cpu。
intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4)、赛扬系列,Pentium D 系列以及centrino P-M,core duo 等.
i686
i686 仍然属于 i386 体系,不过相对于386 CPU的特性作了指令优化。
i686 的软件包能在奔腾二代以上的cpu上执行,但基本不能在此之先的cpu如486上执行。而i386的软件包既可在i386的电脑上执行,也可在后面所有的cpu上执行(但不能发挥cpu的最佳性能)。
Ubuntu
Ubuntu中,每个版本都有一个更为特色的名字,这个名字由一个形容词和一个动物名称组成,并且,形容词和名词的首字母都是一致的。从D版本开始又增加了一个规则,首字母要顺延上个版本,如果当前版本是 D ,下个版本就要以 E 来起头。
Ubuntu历史版本与代号一览:
Ubuntu 发布版本的官方名称是 Ubuntu X.YY ,其中 X 表示年份(减去2000),YY 表示发布的月份。
Ubuntu 没有像其它软件一样有 1.0 版本,是因为其第一个版本是发布于 2004 年。所以Ubuntu的生日是10月20日。
版本 | 别名(codename) | 发布日期 |
4.10 | Warty Warthog(长疣的疣猪) | 2004年10月20日 |
5.04 | Hoary Hedgehog(灰白的刺猬) | 2005年4月8日 |
5.10 | Breezy Badger(活泼的獾) | 2005年10月13日 |
6.06 | Dapper Drake(整洁的公鸭) | 2006年6月1日(LTS) |
6.10 | Edgy Eft(急躁的水蜥) | 2006年10月6日 |
7.04 | Feisty Fawn(坏脾气的小鹿) | 2007年4月19日 |
7.10 | Gutsy Gibbon(勇敢的长臂猿) | 2007年10月18日 |
8.04 | Hardy Heron(耐寒的苍鹭) | 2008年4月24日(LTS) |
8.10 | Intrepid Ibex (勇敢的野山羊) | 2008年10月30日 |
9.04 | Jaunty Jackalope(得意洋洋的怀俄明野兔) | 2009年4月23日 |
9.10 | Karmic Koala(幸运的考拉) | 2009年10月29日 |
10.04 | Lucid Lynx(清醒的猞猁) | 2010年4月29日 |
11.10 | Oneiric Ocelot(梦幻的豹猫) | 2010年10月13日 |
11.04 | Natty Narwhal(敏捷的独角鲸) | 2011年4月28日 |
12.04 | Precise Pangolin(精准的穿山甲) | 2012年的4月26日(LTS) |
12.10 | Quantal Quetzal(量子的绿咬鹃) | 2012年的10月20日 |
13.04 | Raring Ringtail(铆足了劲的猫熊) | 2013年4月25日 |
13.10 | Saucy Salamander(活泼的蝾螈) | 2013年10月17日 |
14.04 | Trusty Tahr (可靠的塔尔羊) | 2014年4月18日 (LTS) |
14.10 | Utopic Unicorn(乌托邦独角兽) | 2014年10月23日 |
15.04 | Vivid Vervet (活泼的小猴) | 2015年4月 |
15.10 | Wily Werewolf (狡猾的狼人) | 2015年10月 |
16.04 | Xenial Xerus (好客的非洲地松鼠) | 2016年4月 (LTS) |
16.10 | Yakkety Yak(牦牛) | 2016年10月 |
17.04 | Zesty Zapus(开心的跳鼠) | 2017年4月 |
17.10 | Artful Aardvark(机灵的土豚) | 2017年10月 |
18.04 | Bionic Beaver(仿生海狸) | 2018年4月(LTS) |
18.10 | Cosmic Cuttlefish (宇宙般大小的乌贼) | 2018年10月 |
19.04 | Disco Dingo | 2019年4月 |
19.10 | Eoan Ermine | 2019年10月 |
…… |
每两年的 4 月份,都会推出一个长期支持版本(LTS),其支持期长达五年,而非 LTS 版本的支持期通常只有半年。
vagrant
你可以查看已经安装在电脑上的镜像列表,执行命令:
vagrant box list
vagrant box add ubuntu/trusty64 ~/downloads/virtualbox.box
vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box --name ubuntu18
ubuntu/trusty64 是我给要安装的镜像起的名字,这个名字可以随便定义。后面的 ~/downloads/virtualbox.box 是镜像文件在本地电脑上的具体位置,你要根据自己的实际情况去修改这个镜像文件的路径。
vagrant init ubuntu/trusty64
启动以后你会得到一个 Ubuntu 操作系统的虚拟机。 会有一个vagrant配置文件执行命令目录下面。
- 打开C:\Users\Administrator\Vagrantfile文件
config.vm.box = "base" 修改为
config.vm.box = "ubuntu18"
配置虚拟机网络
本地VirtualBox 网络地址 192.168.56.1
,则修改虚拟机IP地址为同一个网段下,比如192.168.56.10
2.配置虚拟机IP地址
打开Vagrant 配置文件 C:\Users\Administrator\Vagrantfile
# config.vm.network "private_network", ip: "192.168.33.10"
修改为
config.vm.network "private_network", ip: "192.168.56.10"
3.重新加载虚拟机
vagrant reload
4.连接虚拟机
vagrant ssh
5.配置密码登录
- 配置密码登录vagrant
Vagrant ssh进入系统之后
sudo su
编辑 sshd_config
vi /etc/ssh/sshd_config
PasswordAuthentication no 改为 PasswordAuthentication yes
PermitRootLogin prohibit-password改为PermitRootLogin yes
重启服务
service sshd restart
账号:root
密码:vagrant
改密码 passwd
暂停(suspend):通过调用 vagrant suspend
命令可以暂停虚拟机,此时会保存虚拟机当前运行状态并停止运行。当准备好再次工作时,运行 vagrant up
命令即可从上次暂停的状态恢复。这个方法的最大优点就是快,只要 5 到 10 秒就可以停止并开始工作。缺点是虚拟机仍占用磁盘空间,并且需要消耗更大的磁盘空间来保存虚拟机的 RAM 状态。
停止(halt):通过调用 vagrant halt
命令可以优雅关闭虚拟机操作系统并断电。需要再次启动的时候,运行 vagrant up
命令即可。这个方法的好处是会干净地关闭你的机器,保存磁盘的内容,并让它再次干净地启动。缺点是冷启动需要较长时间,且虚拟机仍占用磁盘空间。
销毁(destroy):通过调用 vagrant destroy
销毁虚拟机,这将从宿主机中删除虚拟机的所有痕迹。它会停止虚拟机,关闭它并删除其所有硬盘资源。当你准备好再次工作时,运行 vagrant up
命令即可。这样做的好处是,宿主机上不会留下残余物。虚拟机消耗的磁盘空间和 RAM 将被回收,并且主机保持清洁。缺点是,由于需要重新导入虚拟机并重新配置,因此需要更多时间。
Debian与Ubuntu到底有什么不同,应该如何选择?
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
在CentOS转向CentOS Stream之后,这意味着它将变得不可靠。
但是幸好,仍然有非常优秀的Linux发行版本在等我们。其中比较有知名度的是Ubuntu以及Debian。
我们经常听到的一句话是:
Ubuntu is based on Deibian
那它们究竟有什么区别,如果让你来选择,你要如何选择?
这篇文章中,我将简单的说明一下Ubuntu与Debian究竟有什么不同,它们两者究竟是个什么关系,也许能有助于你做出更好的选择。
1. Ubuntu是基于Debian而构建的
Linux发行版本虽然众多,但是真正属于 原始构建的Linux版本可不多,只有少数几个,而大多数大家熟悉的或使用比较多的诸如CentOS,还有Ubuntu这一类属于 再构建版本,简单来说就是这些版本是基于 原始构建版本的基础之上再次修改及构建而来。
属于原始构建版本的真不多,我知道的只有以下几个:
- Redhat,使用的是Yum/rpm包管理
- Debian,使用的是Apt/deb包管理
- Arch Linux,pacman包管理
而在服务器,用的最多的两个发行版本,一个CentOS,是基于Redhat构建而来。而另一个Ubuntu则就是基于Debian构建而来的。
所以,某种程度上可以说:
Debian是Ubuntu的老爸
这就决定了Ubuntu和Debian大多数情况下可能非常一致,但又有一些不同。
与CentOS只是把Redhat的品牌信息去掉相比,Ubuntu在Debian的基础上做了许多的变更,比如Snap软件管理这个就是Ubuntu搞的,Deibain上默认是没有Snap的。
2. Debian由社区负责,而Ubuntu由商业公司负责
Debian是一个完全由社区负责的Linux版本,他们是自由软件的忠实信徒,背后没有商业公司的相关利益与推动。而Ubuntu背后则是canonical商业公司,商业公司毕竟是以赢利为目标。
所以,一个显而易见的事实是:
在营销方面,Ubuntu是好于Debian的,这也可能是现在为什么Ubuntu更让大家熟知的原因所在吧。
这一点上,在它们针对软件源的态度上也不一样。Debian默认的源中的软件全是free software,而Ubuntu则不在意这个,自由,开源或免费的商业软件在Ubuntu的源中都有。
当然,Debian也包括了no free软件源,但你必须手动修改软件源才能达到这一目标。
3. 版本分类不同
Debian是分为三种版本, stable(稳定版),test(测试版本),以及 unstable(不稳定版)
比如Debian当前的稳定版本是Debian 11,而当前的测试版本是Debian Bookworm(也就是未来的下一个稳定版),Debian的稳定版本支持期为2年,社区延长支持一年总共三年。
而Ubuntu则不是这样分类,Ubuntu区分为LTS版及非LTS版本,LTS版本两年更新一个版本,维护期五年。而非LTS版本则是6个月更新一个版本,支持为9个月。
比如Ubuntu 18.04 LTS,Ubuntu 20.04 LTS就是长期支持版,而Ubuntu 20.10就是非长期支持版。
4. 更新机制不同
Debian有滚动发行和标准发行两种机制,而Ubuntu则是标准发行机制。Debian Stable和Ubuntu一样是标准发行机制,而Ubuntu Test则是滚动发行。
什么区别?
滚动版本发行,是指会经常性的推送更新,通过更新来达到更新补丁及更新到下一个新版本,并不需要重新安装新版本。而标准版本发行就是当一个新的版本发布后,通常需要以重新安装的方式来取代旧的发行版本。
比如,如果你安装的是Debian Test,你就不需要关心新版本,只需要每天持续更新就可以了,永远保持最新。
而如果是你Ubuntu 18.04 LTS版本,当Ubuntu 20.04 LTS发布后,虽然也能升级到新版本,但通常这种操作风险过高,一般用做服务器不会这么干。
滚动发行版本可能更多的对桌面Linux更适合。
5. 稳定性
虽然在国内Debian系可能没有Redhat系多,很多人会说Redhat系更稳定。事实上这是没有依据的。
Debian与Ubutun都是非常稳定的发行版本,在全球范围内使用都比较多。在全球公有云市场,占比最高的Linux服务器发行版本是Ubuntu。
如果拿Deiban与Ubuntu来比,Debian在稳定性方面更甚一筹。相对而言,Ubuntu在稳定性方面稍逊一些。
Debian之所以更稳定的原因在于,它默认使用的软件的版本通常是经过验证的稳定的旧版本,而非比较新的版本。Ubuntu则软件相对新一点,新的当然是没有经过时间检验的,在稳定性自然比不上。
这背后可能有一个你意想不到的事实就是:
Ubuntu是基于Debian unstable而构建的,Debian unstable版本的软件通常更新,所以没有stable版本稳定。
那Ubuntu没有Deibian稳定也是自然的了。
6. 桌面系统
Linux虽然主要是应用在服务器,但它在桌面领域也还是有一点存在感的,那就Linux桌面操作系统来说,Ubuntu就是绝对的王者了。
Ubuntu无论是在桌面系统的易用性,对各种硬件的驱动支持等方面,都比Debian优秀。
对于Linux桌面选择来说,Ubuntu对新手非常友好,而Debian这样的可能需要有点水平才能用的比较好。
如何选择?
不知道这些信息对你的选择是否有帮助。你想知道我是如何选择的吗?
首先,我已经完全放弃了CentOS,因为它转变成了CentOS Stream,可能不稳定,所以不适合做服务器了。当然,
虽然Redhat系还有Oracle等其它选择。而且国内由于历史原因使用CentOS更多,所以像前段时间华为开源的OpenEuler欧拉开源系统也是Redhat系。但在了解了Debian的历史之后,我个人还是更喜欢Debian系。
那对于Debian与Ubuntu这两者来说,Ubuntu更流行,Debian则更稳定。
所以,我的选择是:
- 对于服务器系统的选择,那就是Debian了
- 而对于Linux桌面操作系统,则以Ubuntu及类似Linux Mint基于Ubuntu发行的版本为主了
非对称加密?
https://www.zhihu.com/question/33645891/answer/57512229
https://zhuanlan.zhihu.com/p/436455172
通信双方各自准备一对公钥和私钥。
梳理出一次信息传输的非对称加、解密过程:
1、消息接收方准备好公钥和私钥
2、私钥接收方自己留存、公钥发布给消息发送方
3、消息发送方使用接收方公钥对消息进行加密
4、消息接收方用自己的私钥对消息解密
公钥只能用做数据加密。公钥加密的数据,只能用对应的私钥才能解密。这是非对称加密的核心概念。
首先,每个用户都有两把钥匙,一把公钥一把私钥。公钥是对外发布的,所有人都看的到所有人的公钥,私钥是自己保存,每个人都只知道自己的私钥而不知道别人的。
用该用户的公钥加密后只能该用户的私钥才能解密。这种情况下,公钥是用来加密信息的,确保只有特定的人(用谁的公钥就是谁)才能解密该信息。
下面我拿A银行和小明来举例子吧。
假设这2者之间是用不对称的加密算法来保证信息传输的安全性(不被第三人知道信息的含义及篡改信息)。大致流程如下:
首先小明发了一条信息给A银行“我要存500元”。这条信息小明会根据A银行的对外发布的公钥把这条信息加密了,加密之后,变成“XXXXXXX”发给A银行。中间被第三者截获,由于没有A银行的私钥无法解密,不能知道信息的含义,也无法按正确的方式篡改。所以拿这条加密信息是没办法的。最后被A银行接受,A银行用自己的私钥去解密这条信息,解密成功,读取内容,执行操作。然后得知消息是小明发来的,便去拿小明的公钥,把“操作成功(或失败)”这条信息用小明的公钥加密,发给小明。同理最后小明用自己的私钥解开,得知知乎发来的信息内容。其他人截获因为没有小明的私钥所以也没有用。
还有第二种情况,公钥是用来解密信息的,确保让别人知道这条信息是真的由我发布的,是完整正确的。接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。怎么理解呢?
继续拿小明和银行A举例子。银行A发布了一个银行客户端的补丁供所有用户更新,那为了确保人家下载的是正确完整的客户端,银行A会为这个程序打上一个数字签名(就是用银行A的私钥对这个程序加密然后发布),你需要在你的电脑里装上银行A的数字证书(就是银行对外发布的公钥),然后下载好这个程序,数字证书会去解密这个程序的数字签名,解密成功,补丁得以使用。同时你能知道这个补丁确实是来自这个银行A,是由他发布的,而不是其他人发布的。
标签:10,虚拟机,vagrant,版本,Ubuntu,服务器,Debian From: https://www.cnblogs.com/firsthelloworld/p/17711380.html