natfrp 日本线路2 有问题

就个隧道只有一个隧道可以用.其他隧道连接后可以ping通ip地址.网页无法打开一直打不开无任何错误提示.

能开的隧道.是后来创建的.以为创建机制有问题.然后重新创建了其余几个.还是不行.

联系natfrp 客服.没有直接解决.按照我的反馈.建议更换服务器.换成另一个可以建站日本的服务器.恢复正常.

natfrp之前隧道数一元一条.挺划算.但是现在没有这个增值服务了.看来学其他frp套路.把这个刚需弄到包月的会员里面了.精简网络应用吧.等服务多了有钱挣了买个vps做跳板吧.日本服务器ping还行70-85ms.

2021格莱美获奖名单公布!碧昂斯、霉霉刷新纪录

新京报讯 北京时间3月15日,美国2021格莱美颁奖礼举行,现场只接待获奖人和表演者。在本届颁奖礼上创造了诸多纪录,“霉霉”泰勒·斯威夫特(Taylor Swift)凭借《Folklore》拿下年度专辑奖,成为第一位三度拿下年度专辑奖的女艺人。碧昂斯本届拿下最佳音乐录影带、最佳说唱歌曲、最佳说唱表演、最佳R&B表演后,她的格莱美奖杯已有28座,创下纪录,成为格莱美获奖最多女歌手。Lady Gaga与“A妹”爱莉安娜·格兰德(Ariana Grande)合作的《Rain On Me》拿下最佳流行对唱/组合奖,这是格莱美历史上首次女子合作获得该奖。

霉霉2021格莱美颁奖礼上称,要感谢男友Joe,隔离期间她创作的每一首歌joe都是第一个听众。颁奖礼截图

截至2021年,碧昂斯格莱美奖杯数已达28座。

除创造历史的几个奖项外,其他受关注的奖项获奖情况为:重磅奖项年度制作由“碧梨”比莉·艾利什(Billie Eilish)拿下,最佳流行表演由“哈卷”哈里·斯泰尔斯(Harry Styles )夺得,最佳新人为“马冬梅”Megan Thee Stallion,年度歌曲为H.E.R. 《I Can't Breathe》。本次格莱美表演上也有诸多期待,若干年度热门新单曲都在颁奖礼上迎来了舞台首秀,如火星哥与Anderson .Paak组成的限定新组合Silk Sonic新单曲《Leave The Door Open》;Megan Thee Stallion联手Cardi B首演《WAP》等。

碧梨发表获奖感言。颁奖礼截图

火星哥与Anderson .Paak限定新组合Silk Sonic的表演。颁奖礼截图

2021年格莱美主要奖项获奖名单:

年度制作:

Billie Eilish 《 Everything I Wanted》

年度专辑:

Taylor Swift 《Folklore 》

年度歌曲:

H.E.R. 《I Can't Breathe》

最佳新人:

Megan Thee Stallion

最佳流行表演:

Harry Styles 《Watermelon Sugar》

最佳流行对唱/组合:

Lady Gaga with Ariana Grande 《Rain On Me》

最佳摇滚表演:

Fiona Apple 《Shameika》

最佳影视歌曲:

Billie Eilish & Finneas 《No Time To Die》

最佳说唱歌曲:

Megan Thee Stallion Featuring Beyoncé 《Savage》

最佳流行专辑:

Dua Lipa《Future Nostalgia》

最佳乡村歌曲:

The Highwomen 《 Crowded Table》

欧美流行新歌速递】H.E.R. - I Can't Breathe(官方MV)

https://www.bilibili.com/video/BV1HA411i7V4

apple poacast id 可订阅 配合软件

id地址汇总。

卓老板聊科‪技‬ https://podcasts.apple.com/cn/podcast/id964708973

科学史评话最新专‪辑‬

https://podcasts.apple.com/cn/podcast/%E7%A7%91%E5%AD%A6%E5%8F%B2%E8%AF%84%E8%AF%9D%E6%9C%80%E6%96%B0%E4%B8%93%E8%BE%91/id1166109768

GeekSho‪w‬“伪极客”旭岽每周邀请一位“真极客”,带您走进他们的知识世界

https://podcasts.apple.com/cn/podcast/geekshow/id1058272194

极客电‪台‬

官网 http://geek.wasai.org/ 主播邮箱 w@wasai.org

https://podcasts.apple.com/cn/podcast/%E6%9E%81%E5%AE%A2%E7%94%B5%E5%8F%B0/id914427651

科技聚‪变

《科技聚变》(TechFusion)是一档科技主题播客节目,我们谈论有关互联网的一切。

https://podcasts.apple.com/cn/podcast/%E7%A7%91%E6%8A%80%E8%81%9A%E5%8F%98/id1202658654

汪洁:时间的形‪状‬

我是汪洁,我是第八届文津图书奖获奖书《时间的形状——相对论史话》的作者,我自己给大家播讲我的这本书。一直以来,你一定会有这样的疑问:永恒流淌的时间,是真的摸不着看不见,还是有形状和终点?我们所处的空间,是三维四维还是五维?我们能不能踏上时光机,任意穿越时空回到过去和未来?这些,都将在本书中找到答案。跟随作者,你可以进入爱因斯坦的梦境,坐在牛顿老师的课堂,来到星光实验的现场……近距离接触科学的真相。你将轻松了解一个你以为深奥得无法捉摸的理论,你将进入一个你以为奇妙得永远理解不了...

https://podcasts.apple.com/cn/podcast/%E6%B1%AA%E6%B4%81-%E6%97%B6%E9%97%B4%E7%9A%84%E5%BD%A2%E7%8A%B6/id1166465366

极客公园:科技 互联网 奇酷探‪秘‬

极客公园:科技 互联网 奇酷探秘

https://podcasts.apple.com/cn/podcast/%E6%9E%81%E5%AE%A2%E5%85%AC%E5%9B%AD-%E7%A7%91%E6%8A%80-%E4%BA%92%E8%81%94%E7%BD%91-%E5%A5%87%E9%85%B7%E6%8E%A2%E7%A7%98/id908237744

What's Next|科技早知‪道‬

160 集

原「硅谷早知道」,全新改版的「what's Next|科技早知道」我们会继续放眼全球,不仅聚焦纯科技的话题,也会关注科技引领世界以及商业格局变化等新话题。

新一季我们的节目会由多个模块共同组成,除了延续我们以往不同科技领域新技术新动向的话题、我们也会加入出海、

https://podcasts.apple.com/cn/podcast/whats-next-%E7%A7%91%E6%8A%80%E6%97%A9%E7%9F%A5%E9%81%93/id1494812579

迟早更‪新‬ONES Ventures

这是一档探讨科技、商业、设计和生活之间混沌关系的播客节目,也是风险基金 ONES Ventures 关于热情、趣味和好奇心的音频记录。我们希望通过这档播客,能让熟悉的事物变得新鲜,让新鲜的事物变得熟悉。如果有任何问题或反馈,欢迎发电子邮件至 embrace@weareones.com。

https://podcasts.apple.com/cn/podcast/%E8%BF%9F%E6%97%A9%E6%9B%B4%E6%96%B0/id1451277133

一派·Podcas‪t‬少数派

少数派旗下播客节目,高效工作,品质生活。

https://podcasts.apple.com/cn/podcast/%E4%B8%80%E6%B4%BE-podcast/id1483157529

不合时‪宜‬JustPod

《不合时宜》是一档由三个生活在不同时区的(前)媒体人共同创作的播客节目。 微博: @不合时宜 TheWeirdo

https://podcasts.apple.com/cn/podcast/%E4%B8%8D%E5%90%88%E6%97%B6%E5%AE%9C/id1487143507

头号玩家|最燃生活攻‪略‬赵艾文和罗药师

《头号玩家|最燃生活攻略》是罗叔和资深播客制作人艾文共同策划制作的正能量生活脱口秀!内容覆盖生活日常、流行娱乐、文学艺术、工作经验、职业技能、旅游美食、情感分析、心理健康、运动塑型、消费指南等方面。我们用乐观积极的心态,带您从不同的角度探索生活中的美好。2018年《头号玩家》

https://podcasts.apple.com/cn/podcast/%E5%A4%B4%E5%8F%B7%E7%8E%A9%E5%AE%B6-%E6%9C%80%E7%87%83%E7%94%9F%E6%B4%BB%E6%94%BB%E7%95%A5/id1412670166

GQ Tal‪k‬GQTalk(蜻蜓FM提供)智趣多元的声音杂志,一周一会的声音派对,欢迎收听GQ Talk

https://podcasts.apple.com/cn/podcast/gq-talk/id1475609450

杯弓舌‪瘾‬JustPod

《杯弓舌瘾》是一档专注酒类生活方式的中文播客节目,由钱睿荪和戴鸿靖主持。我们将沉浸在与美酒相关的话题中,与您一同微醺邂逅。《杯弓舌瘾》由JustPod出品。

https://podcasts.apple.com/cn/podcast/%E6%9D%AF%E5%BC%93%E8%88%8C%E7%98%BE/id1483414071

社会人科技评‪论‬王汉洋/徐缓

《社会人科技评论》是一档非公益性却也没啥营利预期的科技评论媒体

https://podcasts.apple.com/cn/podcast/%E7%A4%BE%E4%BC%9A%E4%BA%BA%E7%A7%91%E6%8A%80%E8%AF%84%E8%AE%BA/id1406122813

natfrp sakaru 官方教程来啦 使用 docker 管理 frpc 运行(群晖 NAS)

natfrp sakaru 官方教程来啦 使用 docker 管理 frpc 运行(群晖 NAS)

https://doc.natfrp.com/#/frpc/usage/docker使用 docker 管理 frpc 运行(命令行)

本教程以 DSM 6 系统作为 GUI 操作举例,命令行操作请移步 使用 docker 管理 frpc 运行(命令行)

前置知识说明

首先您需要知道启动参数的写法,即:-f <启动密钥>:<隧道ID>,如果要启动多个隧道可以 -f <启动密钥>:<隧道ID1>,隧道ID2,隧道ID3,...,如果还需深入了解请转到此

对于群晖用户,建议您在阅读本篇教程之前,阅读我们的 传统群晖教程,阅读全部后,按照指引操作「配置 DSM 面板」和「创建隧道」两节

设置隧道

因为 docker 网络模型的原因,我们像从前一样把隧道的 本地IP 设置为 127.0.0.1 已经不再奏效,必须修改设置中的此项。

此处需要分情况讨论:

  • 当修改为 host 宿主网络模式时,只需要设置为上级网关分配给当前设备的 ip 即可(人话:设置为路由器给群晖的ip)
  • 当保持默认的 bridge 网桥模式时,我们需要设置为对应网桥的网关 ip 才能恰当的访问当前设备,因为该方案兼容性和安全性更高,下面的教程默认采用此方案

首先打开群晖的 Docker 应用,根据图上的方法算出我们需要的 ip

然后在新建隧道时将其设置为 本地IP

或者在 隧道列表 中,编辑一条隧道,设置 本地IP 为该 IP

这样隧道就准备完了

设置Docker

如果您发现自己获取镜像非常慢,并不知道什么叫做 出国网络质量,或者不知道如何改善的话,获取镜像这一步建议跳转到 获取镜像:中国特色 试试

首先我们需要获取镜像,跟着图片操作即可:

获取到镜像后就可以启动一个「实例」,请注意,此处「命令」栏中输入的是我们先前准备的启动参数

设置好后应用,然后启动即可

获取连接信息

连接信息在 docker实例 的日志中,跟着图片打开它,你就能看到

打开浏览器,试一下(如何访问可能需要回忆 传统群晖教程 中的内容)

注意事项

群晖的编辑容器中有「启用自动重启启动」的选项,该选项默认关闭,建议打开它

获取镜像:中国特色

因为一些很有中国特色的原因,我国运营商的国际互联带宽长期不足(对于个人用户来说)。反映到您身上可能就是这个 7MiB 的镜像下了一个小时,最后还失败了,这时候就需要一些有中国特色的解决手段。

我们在阿里云的容器镜像服务提供镜像下载服务,镜像地址是 registry.cn-hongkong.aliyuncs.com/natfrp/frpc

使用方式如图:

使用 docker 管理 frpc 运行(命令行)

本教程为基于命令行操作的 docker 教程,如果需要 gui 教程请移步 使用 docker 管理 frpc 运行(群晖 NAS)

如果您感觉本篇教程对您来讲难以理解,可以试试隔壁 systemd 教程

前置知识说明

首先您需要知道启动参数的写法,即:-f <启动密钥>:<隧道ID>,如果要启动多个隧道可以 -f <启动密钥>:<隧道ID1>,隧道ID2,隧道ID3,...,如果还需深入了解请转到此

设置隧道

因为 docker 网络模型的原因,我们像从前一样把隧道的 本地IP 设置为 127.0.0.1 已经不再奏效,必须修改设置中的此项。

因为默认的 bridge 网桥模式兼容性和安全性更高,下面的教程默认采用此方案

首先运行下面的指令读出 docker 默认网桥的 网关IP

ip addr show docker0

结果预期如下:

4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:c4:f5:83:8f brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

其中 172.17.0.1 这一部分就是我们要的 IP

然后在新建隧道时将其设置为 本地IP

或者在 隧道列表 中,编辑一条隧道,设置 本地IP 为该 IP

这样隧道就准备完了

设置Docker

首先我们需要获取镜像:

# 默认 DockerHub 源,国内可能较慢:
docker pull natfrp/frpc

######## 或者 ########

# 阿里云容器镜像 香港地区源,适合国内用户:
docker pull registry.cn-hongkong.aliyuncs.com/natfrp/frpc

如果成功的话,返回应该会是下面这样:

~# docker pull registry.cn-hongkong.aliyuncs.com/natfrp/frpc
Using default tag: latest
latest: Pulling from natfrp/frpc
4c0d98bf9879: Pull complete 
292f768886fd: Pull complete 
Digest: sha256:9d33d6110ee53480f28cc99e39476d3d845ce70cf8a4d775da78f15620bbab5a
Status: Downloaded newer image for registry.cn-hongkong.aliyuncs.com/natfrp/frpc:latest
registry.cn-hongkong.aliyuncs.com/natfrp/frpc:latest

其中最后一行复制一下,这个是实际被下载到本地的镜像tag,启动时会用得上

接下来我们执行:docker run -d --restart=always <你刚复制的镜像tag> -f <启动参数>,如果一切顺利,就能看到只有一行奇怪的hash的输出,就是实例ID

获取连接信息

连接信息在 docker实例 的日志中,执行 docker logs <实例ID> 就能看到,如对于这样的启动参数:

我们取实例ID的随便前几位就能查到日志:

注意事项

--restart=always 选项并不是必须,但开启此选项后可以自动重启容器实例

ttrss 如何通过frp 远程访问

最开始用的端口映射.太容易.http://wp.acevs.com/2020/12/02/%e8%87%aa%e7%bb%84%e7%be%a4%e8%be%89%e5%ae%89%e8%a3%85ttrss%e5%92%8crsshub/

有时间研究一下 还是frp访问吧.没有端口暴露 .更安全.但是设置.

SELF_URLPATH 为 https:// your_domain/1281/ttrss/

4. 在【FileStation->Web->rss】目录下的 config.php中修改 21行:define('SELF_URL_PATH', 'https://your_domain:1281/ttrss/');

这个成了关键.最后解决方法是 群晖webstation 创建虚拟主机 增加端口. 让ttrss通过端口可以直接访问到.192.168.1.1:3333 类似这个.然后【FileStation->Web->rss】目录下的 config.php中修改 21行:define('SELF_URL_PATH','ttrss.yourname.com');

然后frp后就能直接外网访问了.over.

如何使用Nas替代iCloud?

首先没有完美取代。毕竟icloud 是苹果的官方nas服务器。

作者:木金木
链接:https://www.zhihu.com/question/431761313/answer/1596447495
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

iCloud 200G +双NAS用户

答案是,NAS无法替代iCloud。

iCloud的精髓在于多设备无缝同步数据,iPhone拍照,iPad,Mac都能同步。Mac上Safari注册了一个账号记在钥匙串,iPhone、iPad再打开这个网站密码已经同步了。iPad画画的备忘录,iPhone、Mac都能看到。

其次,每次换新iPhone的时候就知道iCloud备份有多方便。

这些都是Nas做不到的。

群晖有Moment或者iPhoto,但是你需要手动备份上去,其它设备打开这个APP才能看到,因为不是同步,所以数据在云端而不在本地,如果你人在外边,你家那小水管上传,远程打开这些照片每次Load的过程简直是噩梦。

群晖有DS note,某程度上说可以替代苹果记事本,但是用过这货的小伙伴都知道这货时不时就丢登陆,开两步验证的话每次登陆一遍实在太麻烦了。

你说密码可以用1Password之类或其它可以架设在本地的密码服务,这个倒是没错但是苹果自带的你不买iCloud都能用还几乎不占空间我干啥不用呢。

更不用说你提到的微信备份,不好意思目前Nas真的做不到备份iOS APP。你能备份到本地的只能用iTunes或者其它第三方iOS管理工具。

最后我想再提一点:

iCloud永久在线,至少7x24没问题,可靠性很高。

但是家庭Nas就别想太多了,机器本身有可能出问题,你的Nas硬盘也有可能坏掉,还有停电,断网的可能性。

原文链接 知乎 https://www.zhihu.com/question/431761313

PacVim:一个学习vim命令的游戏

之前docker的版本一共200M左右 按照这个无法安装成功。然后去centos下了一个虚拟机用的 iso文件。用群晖自带虚拟机。只能安装centos7 centos8 提示错误。然后一路照着教程安装。安装了带有桌面系统centos gnome 好像是这个单词。

最后成功了。

前言

       我们都知道Vim是Linux下一种文本编辑器,可以用来看代码、改代码。但是Vim是无图形界面的编辑器,一切操作全靠指令,指令繁多且复杂,对于新手而言,学习起来很费劲。

       偶然的机会,发现一款有趣的命令行游戏PacVim,通过这款游戏可以提高Vim操作技能。出于好奇,下载并安装了这款游戏,亲身体验了几次,还是挺有意思的。


PacVim介绍

PacVim这款游戏其实是受PacMan(中文名:吃豆人)游戏启发而开发出来的。二者很相似,游戏任务都是躲避怪物,吃完豆豆。所不同的是,PacVim全程使用vim指令来操作,游戏的目的也是通过这种方式来提高Vim水平。


PacVim安装

  • 安装Ncurses库

在centos7下安装如下:

yum install ncurses-devel
  • 升级GCC版本

注意:linux下要请注意,编译PacVim需要gcc 8.x或更高版本,如果版本太低,可能无法正确编译和安装。我用Centos 7 编译安装(gcc version 4.8.5 20150623 (Red Hat 4.8.5-16))。

以下是升级GCC版本步骤:

1. 安装scl源

yum install centos-release-scl scl-utils-build

2. 列出scl可用源

yum list all --enablerepo='centos-sclo-rh' yum list all --enablerepo='centos-sclo-rh' | grep "devtoolset-"

3. 安装8版本的gcc、gcc-c++、gdb工具链(toolchian)

yum install -y devtoolset-8-toolchain scl enable devtoolset-8 bash gcc --version
  • 安装PacVim游戏

这款游戏源码托管在GitHub上,只需下载后编译安装即可。

git clone https://github.com/jmoon018/PacVim.git cd PacVim sudo make  sudo make install
  • 启动游戏

安装成功后,执行如下命令启动游戏

pacvim [LEVEL_NUMER] [MODE]

其中:

- LEVEL_NUMER:表示关卡号

- MODE:表示难度,n - 一般模式, h - 困难模式

游戏总共10关,0~9数字表示。例如,选择第5关一般模式,可以这样启动游戏:

pacvim 5 n

游戏规则

PacVim 的使用与 PacMan 非常相似。

你必须跑过屏幕上所有的字符,同时避免鬼魂(红色字符)。

PacVim有两个特殊的障碍:

  1. 你不能移动到墙壁中(黄色)。你必须使用 vim 动作来跳过它们。
  2. 如果你踩到波浪字符(青色的 ~),你就输了!

你有三条生命。每次打赢 0、3、6、9 关时你都会获得新生命。总共有 10 关,从 0 到 9,打赢第 9 关后,游戏重置为第 0 关,但是鬼魂速度变快。

获胜条件

使用 vim 命令将光标移动到字母上并高亮显示它们。所有字母都高亮显示后,你就会获胜并进入下一关。

失败条件

如果你碰到鬼魂(用红色 G 表示)或者波浪字符,你就会失去一条命。如果命小于 0 条,你将会输掉整个游戏。

这是实现的命令列表:


参考资料

更新升级GCC版本:

https://my.oschina.net/michaelshu/blog/3024970

原文链接 https://blog.csdn.net/hq86937375/article/details/90408694

end Kernel panic – not syncing:Fatal exception Vmware安装CentOS虚拟机时报错

Vmware安装CentOS虚拟机时报错end Kernel panic - not syncing:Fatal exception

今天安装虚拟机的时候,出现end Kernel panic - not syncing:Fatal exception

错误页面
错误图片如上

解决

我是用Vmware10安装的CentOS8镜像,出现了这个错误,更改为CentOS7镜像可以顺利安装。
个人猜测是Vmware10版本过低,不匹配CentOS8版本。

更新Vmware10为Vmware12即可,或者将CentOS8镜像更改为CentOS7镜像也可解决问题。

我是通过使用CentOS7解决。

原文链接:https://blog.csdn.net/qq_38991369/article/details/102705317

然后准备去下centos7版本 发现 有

ISOPackagesOthers
x86_64RPMsCloud | Containers | Vagrant
ARM64 (aarch64)RPMsCloud | Containers | Vagrant
IBM Power BE (ppc64)RPMsCloud | Containers | Vagrant
IBM Power (ppc64le)RPMsCloud | Containers | Vagrant
ARM32 (armhfp)RPMsCloud | Containers | Vagrant
i386RPMsCloud | Containers | Vagrant
Release NotesRelease EmailDocumentation

这些版本 vagrant 好像就是虚拟机专用版本.container 就是docker可以用的版本.cloud 云端版本.

写到这 我有想起来查一下 docker和虚拟机的对比.

看到这个资料 决定还是用docker试试.

概要

Docker是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和系统环境的隔离。本文将主要根据IBM发表的研究报告,论述docker与传统虚拟化方式的不同之处,并比较物理机、docker容器、虚拟机三者的性能差异及差异产生的原理。 

docker与虚拟机实现原理比较

如下图分别是虚拟机与docker的实现框架。 
虚拟机实现框架 docker实现框架 
比较两图的差异,左图虚拟机的Guest OS层和Hypervisor层在docker中被Docker Engine层所替代。虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整操作系统内核;虚拟机的Hypervisor层可以简单理解为一个硬件虚拟化平台,它在Host OS是以内核态的驱动存在的。 
虚拟机实现资源隔离的方法是利用独立的OS,并利用Hypervisor虚拟化CPU、内存、IO设备等实现的。例如,为了虚拟CPU,Hypervisor会为每个虚拟的CPU创建一个数据结构,模拟CPU的全部寄存器的值,在适当的时候跟踪并修改这些值。需要指出的是在大多数情况下,虚拟机软件代码是直接跑在硬件上的,而不需要Hypervisor介入。只有在一些权限高的请求下,Guest OS需要运行内核态修改CPU的寄存器数据,Hypervisor会介入,修改并维护虚拟的CPU状态。 
Hypervisor虚拟化内存的方法是创建一个shadow page table。正常的情况下,一个page table可以用来实现从虚拟内存到物理内存的翻译。在虚拟化的情况下,由于所谓的物理内存仍然是虚拟的,因此shadow page table就要做到:虚拟内存->虚拟的物理内存->真正的物理内存。 
对于IO设备虚拟化,当Hypervisor接到page fault,并发现实际上虚拟的物理内存地址对应的是一个I/O设备,Hypervisor就用软件模拟这个设备的工作情况,并返回。比如当CPU想要写磁盘时,Hypervisor就把相应的数据写到一个host OS的文件上,这个文件实际上就模拟了虚拟的磁盘。 
对比虚拟机实现资源和环境隔离的方案,docker就显得简练很多。docker Engine可以简单看成对Linux的NameSpace、Cgroup、镜像管理文件系统操作的封装。docker并没有和虚拟机一样利用一个完全独立的Guest OS实现环境隔离,它利用的是目前linux内核本身支持的容器方式实现资源和环境隔离。简单的说,docker利用namespace实现系统环境的隔离;利用Cgroup实现资源限制;利用镜像实现根目录环境的隔离。 
通过docker和虚拟机实现原理的比较,我们大致可以得出一些结论: 
(1)docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有优势,具体的效率对比在下几个小节里给出。在IO设备虚拟化上,docker的镜像管理有多种方案,比如利用Aufs文件系统或者Device Mapper实现docker的文件管理,各种实现方案的效率略有不同。 
(2)docker利用的是宿主机的内核,而不需要Guest OS。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。我们知道,引导、加载操作系统内核是一个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,这个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个过程,因此新建一个docker容器只需要几秒钟。另外,现代操作系统是复杂的系统,在一台物理机上新增加一个操作系统的资源开销是比较大的,因此,docker对比虚拟机在资源消耗上也占有比较大的优势。事实上,在一台物理机上我们可以很容易建立成百上千的容器,而只能建立几个虚拟机。

docker与虚拟机计算效率比较

在上一节我们从原理的角度推测docker应当在CPU和内存的利用效率上比虚拟机高。在这一节我们将根据IBM发表的论文给出的数据进行分析。以下的数据均是在IBM x3650 M4服务器测得,其主要的硬件参数是: 
(1)2颗英特尔xeon E5-2655 处理器,主频2.4-3.0 GHz。每颗处理器有8个核,因此总共有16个核。 
(2)256 GB RAM. 
测试中是通过运算Linpack程序来获得计算能力数据的。结果如下图所示: 
此处输入图片的描述 
图中从左往右分别是物理机、docker和虚拟机的计算能力数据。可见docker相对于物理机其计算能力几乎没有损耗,而虚拟机对比物理机则有着非常明显的损耗。虚拟机的计算能力损耗在50%左右。 
为什么会有这么大的性能损耗呢?一方面是因为虚拟机增加了一层虚拟硬件层,运行在虚拟机上的应用程序在进行数值计算时是运行在Hypervisor虚拟的CPU上的;另外一方面是由于计算程序本身的特性导致的差异。虚拟机虚拟的cpu架构不同于实际cpu架构,数值计算程序一般针对特定的cpu架构有一定的优化措施,虚拟化使这些措施作废,甚至起到反效果。比如对于本次实验的平台,实际的CPU架构是2块物理CPU,每块CPU拥有16个核,共32个核,采用的是NUMA架构;而虚拟机则将CPU虚拟化成一块拥有32个核的CPU。这就导致了计算程序在进行计算时无法根据实际的CPU架构进行优化,大大减低了计算效率。

docker与虚拟机内存访问效率比较

内存访问效率的比较相对比较复杂一点,主要是内存访问有多种场景: 
(1)大批量的,连续地址块的内存数据读写。这种测试环境下得到的性能数据是内存带宽,性能瓶颈主要在内存芯片的性能上; 
(2)随机内存访问性能。这种测试环境下的性能数据主要与内存带宽、cache的命中率和虚拟地址与物理地址转换的效率等因素有关。 
以下将主要针对这两种内存访问场景进行分析。在分析之前我们先概要说明一下docker和虚拟机的内存访问模型差异。下图是docker与虚拟机内存访问模型: 
此处输入图片的描述 
可见在应用程序内存访问上,虚拟机的应用程序要进行2次的虚拟内存到物理内存的映射,读写内存的代价比docker的应用程序高。 
下图是场景(1)的测试数据,即内存带宽数据。左图是程序运行在一块CPU(即8核)上的数据,右图是程序运行在2块CPU(即16核)上的数据。单位均为GB/s。 
此处输入图片的描述 此处输入图片的描述 
从图中数据可以看出,在内存带宽性能上docker与虚拟机的性能差异并不大。这是因为在内存带宽测试中,读写的内存地址是连续的,大批量的,内核对这种操作会进行优化(数据预存取)。因此虚拟内存到物理内存的映射次数比较少,性能瓶颈主要在物理内存的读写速度上,因此这种情况docker和虚拟机的测试性能差别不大; 
内存带宽测试中docker与虚拟机内存访问性能差异不大的原因是由于内存带宽测试中需要进行虚拟地址到物理地址的映射次数比较少。根据这个假设,我们推测,当进行随机内存访问测试时这两者的性能差距将会变大,因为随机内存访问测试中需要进行虚拟内存地址到物理内存地址的映射次数将会变多。结果如下图所示。 
此处输入图片的描述此处输入图片的描述 
左图是程序运行在一个CPU上的数据,右图是程序运行在2块CPU上的数据。从左图可以看出,确实如我们所预测的,在随机内存访问性能上容器与虚拟机的性能差距变得比较明显,容器的内存访问性能明显比虚拟机优秀;但出乎我们意料的是在2块CPU上运行测试程序时容器与虚拟机的随机内存访问性能的差距却又变的不明显。 
针对这个现象,IBM的论文给出了一个合理解释。这是因为当有2块CPU同时对内存进行访问时,内存读写的控制将会变得比较复杂,因为两块CPU可能同时读写同一个地址的数据,需要对内存数据进行一些同步操作,从而导致内存读写性能的损耗。这种损耗即使对于物理机也是存在的,可以看出右图的内存访问性能数据是低于左图的。2块CPU对内存读写性能的损耗影响是非常大的,这个损耗占据的比例远大于虚拟机和docker由于内存访问模型的不同产生的差异,因此在右图中docker与虚拟机的随机内存访问性能上我们看不出明显差异。

docker与虚拟机启动时间及资源耗费比较

上面两个小节主要从运行在docker里的程序和运行在虚拟机里的程序进行性能比较。事实上,docker之所以如此受到开发者关注的另外一个重要原因是启动docker的系统代价比启动一台虚拟机的代价要低得多:无论从启动时间还是从启动资源耗费角度来说。docker直接利用宿主机的系统内核,避免了虚拟机启动时所需的系统引导时间和操作系统运行的资源消耗。利用docker能在几秒钟之内启动大量的容器,这是虚拟机无法办到的。快速启动、低系统资源消耗的优点使docker在弹性云平台和自动运维系统方面有着很好的应用前景。

docker的劣势

前面的内容主要论述docker相对于虚拟机的优势,但docker也不是完美的系统。相对于虚拟机,docker还存在着以下几个缺点: 
1.资源隔离方面不如虚拟机,docker是利用cgroup实现资源限制的,只能限制资源消耗的最大值,而不能隔绝其他程序占用自己的资源。 
2.安全性问题。docker目前并不能分辨具体执行指令的用户,只要一个用户拥有执行docker的权限,那么他就可以对docker的容器进行所有操作,不管该容器是否是由该用户创建。比如A和B都拥有执行docker的权限,由于docker的server端并不会具体判断docker cline是由哪个用户发起的,A可以删除B创建的容器,存在一定的安全风险。 
3.docker目前还在版本的快速更新中,细节功能调整比较大。一些核心模块依赖于高版本内核,存在版本兼容问题

参考文献

  1. Felter W, Ferreira A, Rajamony R, et al. An Updated Performance Comparison of Virtual Machines and Linux Containers[J]. technology, 2014, 28: 32.
  2. http://www.zhihu.com/question/20848931

原文链接 https://blog.csdn.net/albenxie/article/details/73478894

centos 准备装一个虚拟机玩vi的pacvim 学习vi

首先查看一下 群辉的linux是什么linux.选择安装什么版本的centos.

之前装了docker的centos只有200M 好多支持的安装包都没有 安装pacvi失败

试试这个方法 先ssh登陆群辉.

一、linux下如何查看已安装的centos版本信息:1.Linux查看当前操作系统版本信息  cat /proc/versionLinux version 2.6.32-696.el6.x86_64 (mockbuild@c1bm.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Tue Mar 21 19:29:05 UTC 20172.Linux查看版本当前操作系统内核信息 uname -aLinux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux3.linux查看版本当前操作系统发行信息 cat /etc/issue 或 cat /etc/centos-releaseCentOS release 6.9 (Final)4.Linux查看cpu相关信息,包括型号、主频、内核信息等 cat /etc/cpuinfoprocessor : 0vendor_id : GenuineIntelcpu family : 6model : 60model name : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHzstepping : 3microcode : 29cpu MHz : 3292.277cache size : 6144 KBphysical id : 0siblings : 4core id : 0cpu cores : 4apicid : 0initial apicid : 0fpu : yesfpu_exception : yescpuid level : 13wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcidbogomips : 6584.55clflush size : 64cache_alignment : 64address sizes : 39 bits physical, 48 bits virtual5.Linux查看版本说明当前CPU运行在32bit模式下(但不代表CPU不支持64bit) getconf LONG_BIT64二、uname的使用uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。uname -a显示全部信息-m或--machine:显示电脑类型;-r或--release:显示操作系统的发行编号;-s或--sysname:显示操作系统名称;-v:显示操作系统的版本;-p或--processor:输出处理器类型或"unknown";-i或--hardware-platform:输出硬件平台或"unknown";-o或--operating-system:输出操作系统名称;--help:显示帮助;--version:显示版本信息。三、查看Linux版本1.查看系统版本信息的命令 lsb_release -a(使用命令时提示command not found,需要安装yum install redhat-lsb -y)[root@localhost ~]# lsb_release  -aLSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0- noarch:printing-4.0-amd64:printing-4.0-noarchDistributor ID: CentOSDescription:    CentOS Linux release 6.0 (Final)Release:        6.0Codename:       Final注:这个命令适用于所有的linux,包括RedHatSUSE、Debian等发行版。2.查看centos版本号 cat /etc/issueCentOS release 6.9 (Final)Kernel \r on an \m3.使用 file /bin/ls 转载https://www.cnblogs.com/vaelailai/p/7545166.html

http://mirrors.aliyun.com/centos/8.3.2011/isos/x86_64/

Index of /centos/8.3.2011/isos/x86_64/


../
CHECKSUM                                           18-Nov-2020 21:48                 319
CHECKSUM.asc                                       04-Dec-2020 15:48                1179
CentOS-8.3.2011-x86_64-boot.iso                    18-Nov-2020 21:01           716177408
CentOS-8.3.2011-x86_64-boot.iso.manifest           18-Nov-2020 21:13                 635
CentOS-8.3.2011-x86_64-boot.torrent                04-Dec-2020 16:01               27830
CentOS-8.3.2011-x86_64-dvd1.iso                    18-Nov-2020 21:43          9264168960
CentOS-8.3.2011-x86_64-dvd1.iso.manifest           18-Nov-2020 21:43              465895
CentOS-8.3.2011-x86_64-dvd1.torrent  
选了最大的dvd版本 本来想着需要很久.
但是没有想到阿里云镜像节点 用idm 慢速31M  8g多几分钟.有图为证.真快.

然后先传到nas上吧.

速度也不错.之前说过买了个intel千兆单口pci网卡.由于没有弄all in one 单口 替换之前的百兆.

待续