Google 开源漏洞扫描系统 Tsunami
执行恶意命令。Weak credentials: Tsunami 使用其他开放源代码工具(例如 ncrack)来检测协议和工具(包括SSH、FTP、RDP 和 MySQL)使用的弱密码。 谷歌方面还表示,在未来的几个月中,其计划发布更多的漏洞检测器,用于检测类似于远程代码执行(RCE)之类的漏洞。此外,开发团队还在研究其他几个新功能,以使得该工具更强大、更易于使用和扩展。更多详细信息可查看官方博客。...阅读全文
执行恶意命令。Weak credentials: Tsunami 使用其他开放源代码工具(例如 ncrack)来检测协议和工具(包括SSH、FTP、RDP 和 MySQL)使用的弱密码。 谷歌方面还表示,在未来的几个月中,其计划发布更多的漏洞检测器,用于检测类似于远程代码执行(RCE)之类的漏洞。此外,开发团队还在研究其他几个新功能,以使得该工具更强大、更易于使用和扩展。更多详细信息可查看官方博客。...阅读全文
几周前,Adobe公司放弃了对Flash Player的支持,并强烈建议所有用户出于安全原因立即卸载浏览器插件。从今天开始,Adobe更是完全放弃了Flash。 目前,当用户尝试在浏览器(例如Chrome)中加载Flash游戏或内容时,该内容现在无法加载,而是显示一条小横幅,该横幅指向Adobe网站上的Flash报废页面。 虽然这一天早有预兆——许多年前,许多浏览器默认禁用Flash,但Flash的25年历史今天算是正式的(官方的)结束了。 “由于2020年12月31日之后Adobe将不再支持Flash Player,并且Adobe将自(美国时间)2021年1月12日开始禁止Flash内容在Flash Player中运行,因此Adobe强烈建议所有用户立即卸载Flash Player以保护...阅读全文
很简单,只需要一行命令就可以完成安装:`bash <(curl -L -s https://install.direct/go.sh)` 安装过程的输出样例如下: ``` root@debian:~# bash <(curl -L -s https://install.direct/go.sh) Installing V2Ray v3.5 on x86_64 Downloading V2Ray. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 608 0 608 0 0 584 0 --:--:-- 0:00:01...阅读全文
验。 目前,将Kubernetes作为IAAS平台的底层服务管理平台是一个趋势,例如OpenStack的Kolla项目,VMware的Tanzu,以及基于Kubernetes的虚拟化方案KubeVirt。Cloudpods顺应此趋势,早在2019年下半年开始基于Kubernetes构建Cloudpods的服务组件基础设施。理论上,Cloudpods站在了巨人的肩膀上。有了Kubernetes的加持,我们基于Operator管理CRD(Custom Resource Definition)机制做到了更优雅的服务自动化部署,符合IaC(Infrastructure as code)实践的服务升级和回滚,服务的自动高可用部署等等。但在实际效果上,我们基于Kubernetes,获得了一些便利...阅读全文
HSTS 是一个被当前大多数 Web 浏览器所支持的 Web 安全策略,它可以帮助 Web 管理员保护他们的服务器和用户避免遭到 HTTPS 降级、中间人攻击和 Cookie 劫持等 HTTPS 攻击的危害。由于服务器管理员没能正确设置 HTTP Strict Transport Security (HSTS),现今大量的 HTTPS 流量都能被轻松劫持。 95% 的 HTTPS 连接处于风险中 据最近的 Netcraft study 报告数据显示,当前多达 95% 的服务器所运行的 HTTPS 没有正确地设置 HSTS 或其它配置,以至于将 HTTPS 连接暴露于上述攻击风险之中。 更值得注意的是,Netcraft 在三年前进行的同样扫描,不正确配置的 HSTS 比例仍同现在一样。这表明...阅读全文
1.新的问题influxdb目前支持内存型索引inmem及文件型索引tsi1。之前追踪篇将influxd索引修改为tsi1之后,经过一段时间的运行,从监控观察到,由于调用方采用异步队列+批处理的方案将数据写入influxdb,会在某些时刻调用方内部出现数据堆积,指标如图:横坐标: 时间轴,从12-29 00:00 到 12-30 00:00纵坐标: 队列中数据堆积长度,坐标最大值250k,即最大25w个数据堆积从上图可以看到,当天监控出现数次堆积,上午7:00-10:00尤为严重。在堆积时,登录influxdb服务器,查看机器状态如下:top - 09:40:58 up 120 days, 19:18, 1 user, load average: 32.29, 32.32, 29.82...阅读全文
到当前行的开头。 按 G :移动到文章的最后。 按 $ :移动到光标所在行的行尾。 按 ^ :移动到光标所在行的行首。 按 w :光标跳到下个字的开头。 按 e :光标跳到下个字的字尾。 按 b :光标回到上个字的开头。 按 #l :光标往后移的第#个位置,如:5l,56l . 四、删除、恢复字符或行(vi命令模式下使用) x :每按一次,删除光标所在位置的后面一个字符。 #x :删除光标所在位置的后面#个字符,例如, 6x 表示删除光标所在位置的后面6个字符。 X :每按一次,删除光标所在位置的前面一个字符。 #X :删除光标所在位置的前面#个字符,例如, 20X 表示删除光标所在位置的前面20个字符。 dd :删除光标所在行。 #dd :从光标所在行开始删除#行。 五、搜索(vi命令模式...阅读全文
谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提交,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整体的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。 世界的每一个角落都能发现 Kubernetes 的采用案例。从社区收集到的近期案例有: GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半。 Bitmovin,一个视频基础设施解决方案提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶段金丝雀部署。 Ocado,世界最大的在线超市,使用 Kubernetes 为他们的...阅读全文
reload sshd 现在,你可以使用新终端登录,以核实你会被提示输入密码并需要 SSH 密钥。如果你用 ssh -v,例如 ssh -v joseph@example.com,你将可以看到登录的每一步,可以加多个v来获取更多的 debug 信息。 注意,如果你确实将密码设置成必需的身份验证方法,你要确保将 PasswordAuthentication 选项设置成 yes。 使用 Google Authenticator 的 SSH Google 在 Google 自己的产品上使用的双因子身份验证系统可以集成到你的 SSH 服务器中。如果你已经使用了Google Authenticator,那么此方法将非常方便。 虽然 libpam-google-authenticator 是由 Google 编写...阅读全文
使用 Debian 安装程序,它提供了更多可以微调的选项,包括使用自动化的网络安装工具的功能。Debian 提供平滑的更新。保持操作系统最新十分容易,不论您是想升级到一个全新的发布版本,还是只想升级一个单独的软件包。Debian 是许多其他发行版的基础。许多非常受欢迎的 Linux 发行版,例如 Ubuntu、Knoppix、PureOS 以及 Tails,都基于 Debian。我们提供了所需的所有工具,使得每个人在有需要的时候都可以制作自己的软件包,以补充 Debian 档案库里没有的软件包。Debian 项目是一个社区。所有人都可以成为 Debian 社区的一员;您不必是一名开发者或系统管理员。Debian 有一个民主的治理架构。由于所有 Debian 项目的成员都享有平等的权利,所以...阅读全文
拟机有着更好的灵活性,可以供您选择您的操作系统,并在您认为合适的情况下进行升级。相比之下,运行已配置应用程序容器在主机的操作系统升级方面是隔离的。 Linux 容器 vs 虚拟机 – 用例场景 我最喜欢使用容器的原因之一就是使用 Linux 库版本。例如,假设您需要 Python 的特定版本来开发应用程序。然后,当你在运行应用程序的盒子上更新时,突然发现 Python 版本发生了变化,导致应用程序无法正常工作。 使用容器的另一个好处是你可以把一个应用程序放到一个容器中,然后在任何支持你正在运行的容器类型的操作系统上运行它。当你想要一个运行在不同 Linux 发行版应用程序时。通过使用容器,可以在各种不同的发行版上运行类似的应用程序环境。容器提供了可移植性。 容器对于快速的跨发行版部署是更可行...阅读全文
MongoDB 是一个多租户系统,它会尽可能地占用内存,因此最好是安装在服务器上,最大限度地提供内存,即使是开发工作。在服务器上使用默认端口安装而不启用身份验证是在自找麻烦,尤其是可以在查询中运行任意 JavaScript 时(例如把$where 作为注入攻击的载体)。 身份验证方法有多种,但是用户 ID/密码凭证最容易安装和管理。当你考虑 基于 LDAP 的身份验证 时,可以采用那个方法。在我们谈论安全时,MongoDB 必须保持最新,而且,在日志里查找未授权访问的迹象总是值得的。我不喜欢使用默认端口。 忘记限制 MongoDB 的攻击面 MongoDB 的 安全检查清单 为降低网络渗透和数据泄露风险提供了很好的建议。我们很容易会认为,开发服务器不需要高等级的安全。不是这样的:安全对于所有...阅读全文
本教程使用的是 Kubernetes 1.14版,这是本文发布时的官方支持版本。 有关最新版本的最新信息,请参阅官方Kubernetes文档中的当前发行说明 。 Kubeadm自动安装和配置Kubernetes组件,例如API服务器,Controller Manager和Kube DNS。 但是,它不会创建用户或处理操作系统级依赖关系及其配置的安装。 对于这些初步任务,可以使用Ansible或SaltStack等配置管理工具。使用这些工具可以更加简单地创建其他集群或重新创建现有集群,并且不易出错。 在本指南中,您将使用Ansible和Kubeadm从头开始设置Kubernetes集群,然后将容器化的Nginx应用程序部署到它。 目标 您的群集将包含以下物理资源: 一个主节点 主节点...阅读全文
保存文件并退出。重启网络服务(或重启系统): ------------ SystemD ------------ $ sudo systemctl restart networking ------------ SysVinit ------------ $ sudo service networking restart 另外你也可以使用 GUI 来在进行设置,如截图所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。 在 Fedora 中设置 DHCP 网络 此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。 就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如...阅读全文
现的问题。” “我看到有人抱怨说,Java 10 不应该在 IDE 更新后才能发布,就像鸡和鸡蛋问题一样,除非鸡已经存在并且等待鸡蛋出现。” “2016 年的抱怨者:让我们用 JavaScript 代替(YOLO)。2018 年的抱怨者:还是 2016 年的那波抱怨者,他们现在又转回 Java,因为 YOLO 太难维护了。” “因为 Oracle,Java 命中注定。” 时间会告诉我们这个新的发布周期会将如何影响 Java 社区。 其他资源 Wikipedia 中列出的 Java 版本历史记录 Donald Smith 的 JavaFX 和其他 Java 客户端路线图(2018 年 3 月 7 日) Simon Ritter 的 Duke Takes His Last Tumble(2018...阅读全文
斯曾在2000年为 Linus Torvalds 提供一份工作,条件是他停止在 Linux 上的开发。Linus 拒绝了。 13、Linux 有多成功?它的长期竞争对手微软,在90年代初曾试图“熄灭”该项目,到现在却在利用 Linux 进行服务器业务,甚至在为内核开发做贡献! 14、说到贡献,谷歌、英特尔、华为、三星、红帽、Canonical 和 Facebook 是近年来 Linux 内核开发的主要贡献者。 15、Linus 出生于芬兰,一个双语国家,并认为瑞典语是他的“母语”。他说,由于发音不同,他常常觉得用英语说话“不舒服”,但却更喜欢阅读英文书籍。 16、Linux 可能是现在最大的自由软件项目(参见第一条),不过在1991年首次发布时,它仅有约 10 万行代码。 17、在重新调整其...阅读全文
Linux创始人Linus Torvalds和GKH(Greg Kroah-Hartman)等人拉赞助,让大神能够安心保证Linux的发展。几乎所有人都知道Linus Torvalds,但是GKH,即使你不知道他的名字,但是实际上在Linux相关的开发或运维的技术人员会发现他的身影无所不在。是的,GKH主要负责Linux的stable分支的维护,staging/USB driver core/debugfs/kref/kobject/sysfs kernel/TTY layer/linux-hotplug/Userspace I/O/udev等子系统或者项目中都可以看到他的存在。效力于Linux基金会之前,GKH主要在Novell 的 SUSE Labs工作,下图也是这位帅哥在2011年9月拍摄于纽...阅读全文
W 在推出当天就发货超过 10000 台 。 Pi Zero W 在性能特性、软件兼容性和通用输入输出(GPIO)配置上与前面的版本基本相同,因此也能受益于 Pi 设备丰富的应用和附件。Raspberry Pi 还具有一个大型的活跃社区,该社区是围绕 Raspberry Pi 基金会构建的,查找各类主题和用例的指导信息非常方便。 尽管 Pi Zero W 的功能并未超越前期版本的 Pi,但是它可以使有联网需求项目的实现更快速也更容易,而且与添加 WiFi 或蓝牙所导致的开销相比,所需的额外投资也是可控的。如果 Pi Zero W 能紧跟需求,将会在大量的物联网项目中发挥核心作用。 查看英文原文: Raspberry Pi Launch Zero W...阅读全文
语化的标识符或添加二进制整型字面量”等轻微改变,因为“这些改变很容易实现”。 Cox谈到了重大变化,例如“对错误处理的额外支持,或引入不可变或只读值类型,添加某种形式的泛型或其他尚未被建议的重要主题。” 从Google的角度来看,Go 2的主要目标是“解决Go在可扩展性方面的重要不足”。Cox提到了生产期的扩展性(云环境中运行并发应用)和开发期的扩展性(大量的开发人员在一个较大的代码库上并行协作)。 大部分主题是介绍和解释用于修改Go的五个步骤: 有关此过程的更多详细信息,我们建议您阅读博客文章Toward Go 2。有兴趣为Go 2推荐新功能的用户请参考GitHub上的关于该语言的Wiki。 查看英文原文:Google Discusses Go 2 感谢张卫滨对本文的审校。...阅读全文
URL的类。 每个spider负责处理一个特定(或一些)网站。 Item Pipeline Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、 验证及持久化(例如存取到数据库中)。 下载器中间件(Downloader middlewares) 下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能。 Spider中间件(Spider middlewares) Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(response)和输出(items及requests...阅读全文
性就是序列 ID,它允许基于操作的分片恢复。 以前,如果由于网络问题或节点重启而从集群断开连接的节点,则节点上的每个分区都必须通过将分段文件与主分片进行比较并复制任何不同的分段来重新同步。 这可能是一个漫长而昂贵的过程,甚至使节点的滚动重新启动非常缓慢。 使用序列 ID,每个分片将只能重放该分片中缺少的操作,使恢复过程更加高效。 使用排序索引更快查询 通过索引排序,只要收集到足够的命中,搜索就可以终止。它对通常用作过滤器的低基数字段(例如 age, gender, is_published)进行排序时可以更高效的搜索,因为所有潜在的匹配文档都被分组在一起。 稀疏区域改进 以前,每个列中的每个字段都预留了一个存储空间。如果只有少数文档出现很多字段,则可能会导致磁盘空间的巨大浪费。现在,你付出你...阅读全文
来自以色列的安全机构CTS-Labs突然曝出猛料,声称AMD Zen架构处理器存在四组12个高位安全漏洞,涉及Ryzen、EPYC全线产品。AMD第一时间对此发表了一份官方声明。 “我们刚刚收到一家名为CTS-Labs的公司的报告,声称我们的特定处理器产品可能存在安全漏洞。我们正在积极进行调查和分析。这家公司AMD从未听闻,而且不同寻常的是,这家安全机构直接将自己的发现公布给了媒体,却没有给AMD合理的时间调查和解决问题。安全是AMD的首要职责,我们持续努力确保我们客户的安全,应对新的安全威胁。如有后续进展我们会第一时间公告。” 可以看出,由于事发突然,特别是这些漏洞发现并没有按照行业惯例提前通知并给予90天的静默期,AMD被打了个措手不及,目前还无法完全证实这些漏洞的真伪。 即便是真的存...阅读全文
“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。 5. 降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。 6. 通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。 7. UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。 8. JSON:MySQL 8 大幅改进了对...阅读全文
real 0m5.315s user 0m0.028s sys 0m0.019s 迁移至 Alpine 基础镜像 目前大部分 Docker 官方镜像都已经支持 Alpine 作为基础镜像,可以很容易进行迁移。例如: ubuntu/debian -> alpine python:2.7 -> python:2.7-alpine ruby:2.3 -> ruby:2.3-alpine 另外,如果使用 Alpine 镜像替换 Ubuntu 基础镜像,安装软件包时需要用 apk 包管理器替换 apt 工具,如, $ apk add --no-cache Alpine 中软件安装包的名字可能会与其他发行版有所不同,可以官方网站上搜索并确定安装包名称。如果需要的安装包不在主索引内,但是在测试或社区索引中。那么...阅读全文
高开发者处理错误的可能性。 为避免处理重复异常,错误检查和错误处理还必须是显性的,在程序文本中可见。 参考示例: func main() { hex, err := ioutil.ReadAll(os.Stdin) if err != nil { log.Fatal(err) } data, err := parseHexdump(string(hex)) if err != nil { log.Fatal(err) } os.Stdout.Write(data) } 简化后: func main() { handle err { log.Fatal(err) } hex := check ioutil.ReadAll(os.Stdin) data := check parseHexdump...阅读全文
、HDFS 输出插件等。 logpipe 配置采用 JSON 格式,层次分明,编写简洁,如示例: { "log" : { "log_file" : "/tmp/logpipe_case1_collector.log" , "log_level" : "INFO" } , "inputs" : [ { "plugin":"so/logpipe-input-file.so" , "path":"/home/calvin/log" , "compress_algorithm":"deflate" } ] , "outputs" : [ { "plugin":"so/logpipe-output-tcp.so" , "ip":"127.0.0.1" , "port":10101 } ] }...阅读全文
的战略文件战略方法关键考虑因素其他组成确定投资回报率投资目标 这里关键的第一步是创建和将你的开源策略形成文字,该策略将“帮助你最大限度地提高组织从开源中获得的利益。”同时,你详细的策略可以帮助你避免因错误而导致的困难,例如:选择错误的许可证或不正确地维护代码。根据指南,该文件还可以: 让领导者感到兴奋并参与帮助在公司内获得支持促进分散的多部门组织的决策帮助建立一个健康的社区解释贵公司的开源方式和对其使用的支持明确贵公司在社区驱动的外部研发中投资的地方,以及贵公司将重点放在增值差异化的地方 Salesforce 的软件架构师兼本指南的撰稿人 Ian Varley 说:“在 Salesforce 内,我们有内部文件,我们将这些围绕开源战略指导和鼓励的文件分发给我们的工程团队。其中鼓励创建和使用开...阅读全文
投票,也就是弹劾机制,可将任期内的当权者赶下台;它严格限定了在委员会里,只允许少于 50% 的成员是企业(5 人委员会里最多有 2 个);并且关注到核心开发者的选举/淘汰、如何更新治理提案等问题。 而且,PEP 8016 中也提出了新的 PEP 流程,目前的 PEP 流程是提案人确定 PEP 的选题方向,提案人负责收集与整合来自整个社区的反馈。然后,相关领域的专家们汇总全部讨论,并开启为期 14 天的审查,之后进行社区投票。如果一个 PEP 很有争议,任何专家成员都可发起动议来拒绝通过它,这需要超过 2/3 的票数。PEP 8016 的 PEP 流程:理事会在必要时可直接地批准/否决 PEP,但最好是设置流程来避免这样做决策,例如,将决策权委派给团队或者 BDFL 代表。 7 种治理方案一览...阅读全文
,Client会按照这些SRV的权重分配请求。下一次向服务发起的请求可能发送到了不同的地址。在通过SRV记录的权重来分配请求的时候,使用的是本地缓存的DNS记录,所以不能实时地感知到服务的地址列表变化。除非将 TTL 设置的非常短暂,但这样将会频繁地查询DNS服务器。 Client查询服务地址的过程 rfc-2782中已经做了很好地介绍,这里就不表述了。 配置举例 下面是DNS中 master file,可以看到有 example.com 域名提供了一个名为_foobar._tcp 的服务,这个服务有两个 SRV 记录,分别指向了 sys-box.example.com:1099 和 server.example.com:1099 $ORIGIN example.com. @ SOA...阅读全文
项目认识到 systemd 服务单元是用于描述如何启动守护程序/服务的首选配置。但是,Debian 仍然是一个环境,开发者和用户可以在其中探索和开发替代的初始化(init)系统和 systemd 功能的替代方案。那些对探索此类替代方案感兴趣的人需要提供必要的开发和打包资源来完成这项工作。在运行依赖于某些 systemd 接口的软件时,有助于探索替代方案的诸如 elogind 之类的技术对于 Debian 仍然很重要。更重要的是,Debian 团队必须支持开发此类技术的开发者的工作,这些技术与 Debian 项目的其余部分之间存在重叠,例如,及时检查补丁并参与讨论。软件包应包括服务单元或启动脚本,以启动守护程序和服务。软件包可以由软件包维护者自行决定使用任何 systemd 工具,只要这与其他...阅读全文
。 明确处理错误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫子句将成功路径保持在左侧。 并发权留给调用者 让调用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时候会停止 goroutines 拥有资源、锁、变量与内存等,释放这些资源的可靠方法是停止 goroutine。 避免包级别的状态 要完成明确和...阅读全文
创建一个新角色“Merger”,他可以 commit,但只能合并来自其他人的 pr。合并不能决定主动将内容添加到 Django,也没有任何特殊的决策特权。 此外还会创建“Releaser”角色,他可以访问 Django 的发行版本并执行相关的机制,例如在关键文件中增加版本号。 另一方面,在有需要的情况下,技术委员会将保留为最终决策机构,并且还将负责就 Django 未来技术方向的想法和建议进行调查,并确定发布时间表。 但是,技术委员会的成员资格将不再仅限于 committer,技术委员会也不再由 committer 选举产生。凡是向 Django 技术贡献过的人都有资格竞选技术委员会委员,并由 Django 软件基金会的个人成员评选。选举的潜在候选人从此前的大约 50 位(committer...阅读全文
Kubernetes 1.18 发布了,这是 2020 年首次版本发布。此版本包含 38 项功能增强,其中 15 项为稳定版功能、11 项 beta 功能以及 12 项 alpha 版功能。 主要更新亮点包括: Kubernetes 拓扑管理器 beta 拓扑管理器的作用是让 CPU 与其它设备(例如 SR-IOV-VF)实现 NUMA 对齐,进而让工作负载运行在优化环境中以降低延迟。在拓扑管理器推出之前,CPU 与设备管理器只能彼此独立地做出资源分配决策。此版本拓扑管理器已经发展到 beta 版本。 Serverside Apply beta 2 beta 2 版本将跟踪并管理所有新 Kubernetes 对象的字段变更,确保用户及时了解哪些资源在何时进行过更改。 使用...阅读全文
Salt的安全设置 1. 订阅salt官方的通告,以便接收最新的通知 2. 使用salt acl系统来限制salt-minion的root权限 3. 使用salt acl系统来限制salt-minion可以执行哪些命令 4. 使用外部的pillar管理工具来替代登录到系统中修改文件的方式 5. 将sls文件通过版本控制工具管理起来,并经过评审后在生产环境中执行 6. 如果要将salt-master暴露给外部服务,要用salt-api\ssl并通过验证 7. salt-minion通过event系统和reactor来向master通信,而不是直接访问salt-master 8. salt-master运行在非root用户下 9. 禁用部分模块加载到minion上,例如cmd模块 10. 阅读完所有的...阅读全文
Go 团队近日在博客介绍了 Go 泛型的最新进展。 Go 团队表示他们一直在完善泛型的设计草案,并为此编写了一个类型检查器——可按照设计草案中的说明,解析使用泛型的 Go 代码并报告任何类型的错误。为了收集社区的反馈,他们还编写了示例代码并在草案中提供。 根据收集的反馈和了解的信息,Go 团队发布了更新后的泛型设计草案。 "The design is fully backward compatible with Go 1",完全兼容 Go 1 新版草案最大的变化是放弃了关于 contracts 的想法。因为团队认为 contracts 和 interface 类型之间的区别会令人感到困扰,所以他们正在消除这种区别。类型参数现在受 interface 类型约束,当 interface 类型仅...阅读全文
件/用户选择等)只有UEFI,没有其它传统引导方式完全开源,包括引导程序/重建脚本针对较重的工作负载进行了认真的优化第三方应用程序仅依赖于容器,没有兼容性漏洞仅支持 Wayland完全无状态的管理工具和补丁上游…… 同时,对 Linux 的“不良”参与者不会容忍。例如,将不会容忍 NVIDIA 在其 GPU 上缺乏对 Wayland 加速的支持,NVIDIA 专有驱动程序将被发行版列入黑名单。 Ikey Doherty 是 Solus OS 的作者,这是 Linux 发行版的后起之秀,拥有自己的环境和软件库。系统使用自身开发的 Budgie 桌面环境,遵循极简主义,观感扁平化且现代。其“最早”基于 Debian,不过于 2013 年停止该项目,后来不基于任何发行版重头开发了一个独立的...阅读全文
整理本文,起源是看到知乎上的一个问题,为什么Linux的进程pid编号极限最大值( process pid max)是131070? 问题中提到,通过提问者的测试(Ubuntu18.04操作系统下),Python脚本实现的分配进行pid脚本,渠道系统自动分配给进程的最大pid值是131070,这是一个并不特殊的值。(通常可以想到的上限会是与二进制数字相关,例如1024,65536等等)。 很高兴,看到还是有很多人在坚持知乎的本来精神,先问是不是,再问为什么。 Linux 内核的进程 PID 最大值并非 131070,而是 32768 (32 位系统)和 2 的 22 次方(64 位系统)。这是Linux手册中明确给出的说明: /proc/sys/kernel/pid_max (since...阅读全文
箱(binary crate)的根文件, 该箱(crate)与包(package)同名src/lib.rs 是类库箱(library crate)的根文件, 该箱(crate)与包(package)同名多个二进制箱(binary crates): 在src/bin目录下创建.rs文件, 每个文件对应一个二进制箱(binary crate).模块Modules模块通过关键字mod加模块定义, 例如:// Filename: src/lib.rs mod front_of_house { mod hosting { fn add_to_waitlist() {} fn seat_at_table() {} } mod serving { fn take_order() {} fn...阅读全文
经过 3 年的开发,17 个 alpha 版本,2 个 beta 版本,超过 7500 个提交,以及来自 350 位不同开发者的贡献,OpenSSL 3.0 终于正式发布了。OpenSSL 1.1.1 以来的主要变化主要版本开发者可以从这里下载 OpenSSL 3.0,并升级你的应用程序使之兼容。OpenSSL 3.0 是一个大版本升级,并不完全向后兼容以前的版本。大多数使用 OpenSSL 1.1.1 的应用程序仍然可以正常工作,只是需要重新编译(可能会有关于使用废弃的 API 的编译警告)。还有一些不能完全兼容的应用可能需要进行修改才能正确编译和使用。如果应用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文
发现了一个开源项目,其中有一系列管理 NVMe 驱动器的工具。它被称为 nvme-cli。安装 nvme-cli你可以从你的发行版的包管理器中安装 nvme-cli。例如,在 Fedora、CentOS 或类似系统上:$ sudo dnf install nvme-cli在 Debian、Mint、Elementary 和类似系统上:$ sudo apt install nvme-cli探索 NVMe 驱动器在安装 nvme-cli 后,我想探索我的驱动器。nvme-cli 没有手册页,但你可以通过输入 nvme help 获得很多帮助:$ nvme helpnvme-1.14usage: nvme
/S架构变成B/S架构,传统的上位机开发将不复存在。 大量的互联网、移动互联网开发资源和方法应用到物联网,设备、云、人相互之间的联系更加方便。 目前发展 Tessel, 是Tessel是一个针对软件开发者的可连接网络的微控制器。Tessel 的目标是让网站开发者能够轻松玩转物联网。 IoT.js,IoT.js 旨在为物联网提供一个基于 Web 技术的可相互操作的服务平台。IoT.js 的目标是要在资源受限的设备上良好运行。 JerryScript,JerryScript 是一个轻量级的 JavaScript 引擎,它可以运行在受限制的设备上,例如低于64KB RAM、200KBROM的MCU上。 node-red,Node-RED 是 IBM Emerging Technology 团队创建的...阅读全文
将发生的资源短缺提供早期预警,从而实现更积极主动、细致的响应。 Oomd:https://facebookmicrosites.github.io/oomd/ Oomd 是一个用户空间 OOM(内存不足)进程杀手,可以更好地了解系统上运行的进程的上下文和优先级。它允许配置对 OOM 条件的响应,例如暂停或终止非必需项、重新分配系统中的内存等操作。 详情信息请查看发布公告,以及对应项目的开源主页。...阅读全文
且也是显而易见的。 这同样也适用于个人。如果你所从事的工作具有可替代性,那么你最终就会被薪资要求更低的人所取代。 增强竞争力的最佳方式就是建立话语权。例如,你可以利用好个人关系,打造强大的个人品牌,或是在不同领域的交叉点建立起自己的个人优势。当然增强竞争力的方式还有很多,但不论采取什么方式,关键是你必须要做到这一点。 大多数人会模仿身边人的做法,但这种方式并不可取,如果一味模仿他人,那你还有什么竞争优势可言呢? 11 建立人际网络 出色的工作需要团队合作。打造既可密切合作又可轻松相处的优质人际网络是事业成功的必要因素。拥有优秀人才的人际网络的规模会决定你能成功的上限。 建立人际网络的有效方法之一是尽可能多帮助他人。长期以来,这种行为方式给我带来了最佳职场机遇以及四项最佳投资中的三项。我总是惊...阅读全文
(border gateway protocol)是外部路由协议(边界网关路由协议),用来在AS之间传递路由信息是一种增强的距离矢量路由协议(应用场景),基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号序列属性的路径可达信息,来构造自治系统的拓扑图,从而消除路由环路并实施用户配置的路由策略。(边界网关协议(BGP),提供自治系统之间无环路的路由信息交换(无环路保证主要通过其AS-PATH实现),BGP是基于策略的路由协议,其策略通过丰富的路径属性(attributes)进行控制。BGP工作在应用层,在传输层采用可靠的TCP作为传输协议(BGP传输路由的邻居关系建立在可靠的TCP会话的基础之上)。在路径传输方式上,BGP类似于距离矢量路由协议。而BGP路由的好坏不是基于距离(多数路由...阅读全文
虚拟内存对进程的”欺骗”,每个进程都认为自己获取的内存是一块连续的地址。我们在编写应用程序时,就不用考虑大块地址的分配,总是认为系统有足够的大块内存即可。 安全:由于进程访问内存时,都要通过页表来寻址,操作系统在页表的各个项目上添加各种访问权限标识位,就可以实现内存的权限控制。 数据共享 通过虚拟内存更容易实现内存和数据的共享。 在进程加载系统库时,总是先分配一块内存,将磁盘中的库文件加载到这块内存中,在直接使用物理内存时,由于物理内存地址唯一,即使系统发现同一个库在系统内加载了两次,但每个进程指定的加载内存不一样,系统也无能为力。 而在使用虚拟内存时,系统只需要将进程的虚拟内存地址指向库文件所在的物理内存地址即可。如上文图中所示,进程 P1 和 P2 的 B 地址都指向了物理地址 C。 而...阅读全文
于单点失效是有弹性的,但是同时也需要注意:尽管 exchange 和 binding 能够在单点失效问题上幸免于难,但是 queue 和其上持有的 message 却不行,这是因为 queue 及其内容仅仅存储于单个节点之上,所以一个节点的失效表现为其对应的 queue 不可用。 举例说明,如果一个 RMQ 集群由三个节点组成(RMQ集群节点的模式也是有讲究的,一般三个节点会有一个 RAM,两个 DISK),exchange、bindings 等元数据会在三个节点之间同步,但 queue 上的消息是不会同步的,且不特殊设置的情况下,Queue 只会在一个节点存在。 可能有的同学会提另一个问题,我从三个 RMQ 节点的监控面板,都可以看到这个 Queue?这个是对的,这是由于 Queue 的元...阅读全文
。 Debian的投票方式几乎是独一无二的。Debian 开发者不是简单地提供一个选项列表,而是自己创造所有这些选项,通常会有大量的选项,而且经常会引入许多相关讨论。 这个方案的初衷是希望能创造出尽可能反映整个 project 意愿的结果,因此Debian 的投票方案允许一张选票中包含许多差异不大的选项。 但是,这也是一个再拖沓不过的方案。比如,在2019 年关于一场 systemd 辩论中,当时采用的是一般决议流程。投票一直没能开始,当时的 DPL Sam Hartman 就要求尽快对决议进行投票。 这让一些参与者感到很不满意。有人试图拒绝这个提前投票,但没有成功,于是对七个选项的投票就正常完成了。一些开发者认为这个过程又一次被滥用了,也对整个项目造成了损害。 “这种面临决定时的怯步,是不健康的...阅读全文
属于与 Arduino 相同的类别,适合用于嵌入式设备或物联网设备的开发,例如控制电动机、灯光和传感器,并在打开电源后立即运行程序,而无需启动,也无需担心在不安全关闭的情况下拔下插头会丢失数据。4. 最受欢迎的树莓派Raspberry Pi 3 B 是有史以来最畅销的树莓派机型,目前已累计售出 1320 万台。 而在目前流行的各种 Raspberry Pi 4 B RAM 版本中,4 GB 型号的销量最高,大约是 8 GB 和 2 GB 出货量的两倍。 值得一提的是,Raspberry Pi Pico 虽然仅上市了几周,但已经售出了 250,000 台,此外还有750,000 台处于待售状态。受疫情等因素影响,2020 年是树莓派产品销量最高的一年,总共售出 710 万台不同型号的树莓派设备...阅读全文
”、“梅花”等。从这一点上看,域名的独有性,似乎更好一些。 从商业的角度来看,域名因其独特性,可以把它当作一个企业的网上商标。不过,可以肯定地说,域名与商标没有绝对的联系。 在这个眼球经济时代,作为企业,最理想的状态,当然是希望它的实物商标与网上商标保持高度一致的,以使大众无论从哪个途径,都能将目光聚焦在它的身上,为此,企业们也付出了巨大的努力,比如商标之争比较有名的当属“加多宝”和“王老吉”,域名方面,作为米农,所听到见到的域名仲裁案例也不在少数。 由于域名和商标分属不同领域的不同系统,再加上时间差的原因,一般企业想要达到理想状态,是有难度的。比如说,自已注册的商标,其对应的域名不一定是未注册状态,这个时候,域名权与商标权,甚至商号权、网站名称权等就形成了冲突。除了收购外,另外一个途径就是仲裁...阅读全文