Debian 爱好者社区 为您找到相关结果 454

Debian 9 使用kubeadm创建 k8s 集群(上)

文件。 使用组设置服务器清单后,我们继续安装操作系统级依赖关系并创建配置设置。 第2步 - 在所有远程服务器上创建非root用户 在本节中,您将在所有服务器上创建一个具有sudo权限的非root用户,以便您可以作为非权用户手动SSH连接到这些用户。 例如,如果您希望使用top/htop等命令查看系统信息,查看正在运行的容器列表或更改root拥有的配置文件,这将非常有用。 这些操作通常在维护群集期间执行,并且使用非root用户执行此类任务可以最大程度地降低修改或删除重要文件或无意中执行其他危险操作的风险。 在工作区中创建名为~/kube-cluster/initial.yml的文件: nano ~/kube-cluster/initial.yml 接下来,将以下播放添加到该文件以创建在所有服...阅读全文

博文 2019-05-13 22:47:39 debian.cn

Debian 向左:或将迎来根本性改革 - OSCHINA

开源社区是个独的存在。它虽然结构松散但却又切实有效,为社会提供便利好用的产品却不以利益为目的,将志趣相同的人们聚集在一起但又完整地保存了每一个个体的独性...... 这些开源社区就像是一场场风格迥异的社会实验。 其中,Debian 社区是一个典型代表。作为 Linux 最早的发行版本之一,诞生于1993年的 Debian 可以算是开源社区中的“活化石”。这也令 Debian 在机制、行事和文化等方面都体现出了一定的“古典”质。 最近,Debian 社区正在酝酿一件大事 —— 改革自己的决策机制。一直以来,Debian 的决策机制都饱受诟病,不少优秀的开发者因此离开,这样的变革或许不可避免。 01 离开 “长久以来,Debian 都难以作出改变。” 2014年的时候,Joey Hess...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

容器原理之cgroup - abin在路上

“ 以 docker 为代表,轻量、便携的 container 使得打包和发布应用非常容易。系列文章容器原理主要分析 container 用到的核心技术,主要包括 Linux namespace,cgroups,overlayfs,看完这些内容,你将可以手动创建一个和 container 类似的环境。 cgroup(control group)是一个内核性,用于限制、统计、隔离一组进程的资源(CPU、内存、磁盘、网络等),首字母不要大写。 “ “cgroup” stands for “control group” and is never capitalized. 单数形式(cgroup)指所有性,也可以作为“cgroup controllers”的修饰。 复数形式(cgroups)指...阅读全文

博文 2025-03-17 20:45:47 博客园

2017年的Linux内核防护依然脆弱

"Linux 内核 “社区” 对待安全的优先级并不高,虽然经历了 2000 年代的多次大规模漏洞利用事件但并没有让 Linus Torvalds 本人改变 "A bug is bug" 的哲学,由于 Linux 内核的安全问题逐渐影响到了 Android 和 IoT 设备,一次 华盛顿邮报的曝光促使了 KSPP(Linux 内核自防护项目)的成立。 KSPP 是由 Linux 基金会旗下的 CII(基础架构联盟)管理,其吸纳了来自诸多大厂商(Google, RedHat, Intel, ARM 等)的工程师进行联合工作,可惜的是两年的时间过去了,KSPP 大多时候只是在重复的抄袭 PaX/Grsecurity 的各种性以获得各自雇主那里的 KPI 和 credit,各种混乱的代码合并到了...阅读全文

博文 2021-01-28 17:50:35 debian.cn

总结系统设计中的33个黄金法则

关。 18. 针对单点故障——实施冗余。 19. 为了容错性和持久性——实施数据复制。 20. 对于用户到用户的快速通信 — 使用 Websockets。 21. 分布式系统中的故障检测——实现心跳。 22. 数据完整性——使用校验和算法。 23. 高效的服务器扩展——一致性哈希。 24. 去中心化数据传输——考虑 Gossip 协议。 25. 基于位置的功能 — 使用四叉树、Geohash 等。 26. 避免定的技术名称 — 使用通用术语。 27. 高可用性和一致性的权衡——最终一致性。 28. 对于IP解析和域名查询——DNS。 29. 处理网络请求中的大数据——实施分页。 30. 缓存删除策略 — 首选...阅读全文

系统解析JDK源码,领略大牛设计思想,JAVA面试必备

系统解析JDK源码,领略大牛设计思想,JAVA面试必备 download:https://www.51xuebc.com/thread-555-1-1.html Vue3实战商城后台管理系统开发示例 Vue是一款流行的JavaScript框架,它可以帮助我们快速构建高效、可维护、易用的Web应用程序。在本文中,我们将介绍如何使用Vue3来开发一个商城后台管理系统。 技术栈选型 在开始开发之前,我们需要选择合适的技术栈。以下是我们所采用的技术: Vue.js 3:Vue.js 3是Vue框架最新版本,它具有更好的性能、更好的TypeScript支持、更好的响应式系统等点,可以提高开发效率和应用性能。 Element Plus:Element Plus是一套基于Vue3的UI组件库,提供了丰...阅读全文

博文 2023-05-27 12:50:27 bianchengyuan123

Ubuntu 17.04(Zesty Zapus)正式版发布

。但是 Ubuntu 17.04(Zesty Zapus)仅配备有最新的组件和应用程序。 Ubuntu 17.04(Zesty Zapus)的默认桌面环境仍然是 Unity 7,所以你钟爱的 Ubuntu 桌面环境此刻还没有消失。在未来的 Ubuntu 17.10 中,Unity 依然可用,Ubuntu 17.10 将在下个月开始开发。之后,从 Ubuntu 18.04 LTS 开始,将默认使用 GNOME 桌面。 默认使用 Unity 7 桌面 Ubuntu 17.04 有一些新的性: 免驱动打印 交换文件 不再支持 32 位 PPC 架构 伴随其他有趣的技术一起装载在 Ubuntu 17.04 的最终发行版上,最值得一提的是交换文件,对于新安装的系统来说可以用它来替代交换分区。所以如果你...阅读全文

博文 2021-01-28 17:50:27 debian.cn

Linux Kernel 5.0将于2018年夏季发布

时间才能被认为是可靠的。 当有人在内核中作为维护人员工作了十年时,就出现了这个问题。填补这个空白是不容易的,因为不能像普通的软件项目那样来处理任务。 但这并不意味着不应该试图成为一个项目,因为项目实际上需要更多的内核维护者。如果你能证明你是可靠的,你就在那里(处理传入的提交),并且你对邮件中的问题作出了回应,那么欢迎你成为内核维护者。 我爱(内核)维护者...它可能不会总是以这种方式在我的电子邮件中出现...这是一个艰难的爱 - Linus Torvalds(推上这样说) 将会有Linux Kernel 5.0,但你不要指望它是一个革命性的发行版 Linus Torvalds透露,最有可能的Linux Kernel 5.0将会在2018年夏天发布。如果你对此太兴奋了,让我先跟你说,这只是一...阅读全文

博文 2017-12-11 22:27:31 debian.cn

Oracle Linux 8.0 发布

于 RPM 的 Linux 发行版上安装、更新和删除软件包。引入 Cockpit 服务器远程管理器,这是一个简单、轻量级但功能强大的交互式 GNU/Linux 服务器远程管理器,可通过 Web 浏览器提供实时 Linux 会话。 内核 modinfo 命令已更新,可识别和显示使用 CMS 和 PKCS#7 格式签名的模块签名信息。一组内核模块移动到 kernel-modules-extra 包中,这意味着默认情况下这些模块都不安装,非 root 用户也无法加载这些组件,因为默认情况下它们也被列入黑名单。内存总线限制已扩展到 128 PiB 的虚拟地址空间和 4 PB 的物理内存容量。Linux 内核中的 I/O 内存管理单元(IOMMU)代码也会更新以启用 5 级分页表。kdump 性可以...阅读全文

博文 2019-07-20 22:39:32 debian.cn

Linux 进程 PID 编号最大为多少

整理本文,起源是看到知乎上的一个问题,为什么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...阅读全文

博文 2021-01-12 11:47:15 debian.cn

Ubuntu 创始人爆粗口: 开源社区弥漫着“反社会人格”

更加自由。 在这里,我不得不表达我对 Mir 的恨意。说真的,它颠覆了我对自由软件社区的看法。 我曾经认为能够为那些深爱着这项服务的用户服务是一种崇高的权,但是我现在认为自由软件社区的大部分成员都存在极度的反社会人格,非常习惯于怀恨主流的一切东西。在 Windows 系统成为主流,他们就会怀恨在心。从理性角度出发,Windows 做了很多非常优秀事情,他们的努力值得尊敬。当 Canonical 逐渐成为主流之后,Ubuntu 再次成为非理性仇恨攻击的对象。 那些听风就是雨的媒体极有可能会写道 iOS 和 Android 系统没有竞争对手是如何的可怕,然后又会在 Canonical 在开源社区所掀起的整合又是如何的可怕。Fu*k the shit。 从回复来看啊,Shuttleworth 充...阅读全文

博文 2021-01-28 17:50:26 debian.cn

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

正在直播2022开放原子全球开源峰会!>>>>> 谷歌内部使用了许多不同的操作系统平台,其中包括 Linux。15 多年前,谷歌选择基于 Ubuntu LTS 构建内部 Linux 发行版 Goobuntu,主要是看中了 Ubuntu 具备用户友好、易于使用的性,以及提供了许多优秀功能。此外,LTS 会获得 Canonical 提供 2 年以上的安全更新。 根据官方介绍,Goobuntu 是谷歌长期以来一直使用的 Linux 发行版。不过 Ubuntu LTS 的两年更新周期意味着谷歌必须在操作系统 EOL 之前,对超过 10 万台设备中的每台机器进行升级。这是一项非常困难且耗时的工作,毕竟每两年让所有工程师从头开始配置他们的工作空间,这对生产力是严重的打击,并且从经济角度来看也是一个不...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

提问的智慧(精简版)

骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。如果程序有诊断选项(如 -v --verbose --debug LOG_LEVEL=DEBUG 的详情指令),试着选择这些能在记录中增加调试信息的选项。记住,多不等于好。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。如果你的说明很长,在开头简述问题,接下来再按时间顺序详述会有所帮助。描述目标而不是过程如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的定步骤。😒 BAD | 我怎样才能从某绘图程序的颜色选择器中取得十六进制的 RGB 值?😊 GOOD| 我正试着...阅读全文

博文 2023-10-07 15:02:42 infras

IBM宣布以340亿美元收购RedHat 组建混合云提供商

多数公司租用计算能力来削减成本,它们的云计算之路仅走到 20%”,她解释:“接下来的 80% 是关于释放实际业务价值和推动增长的,这才是云的未来。它需要将业务应用程序转移到混合云中,提取更多数据并优化从供应链到销售业务的每个部分。“ Red Hat 总裁兼首席执行官 Jim Whitehurst 表示:“开源是现代 IT 解决方案的默认选择,我对 Red Hat 在企业中实现这一目标所发挥的作用感到非常自豪。与 IBM 合作将为我们提供更高水平的规模、资源和能力,以加速开源作为数字化转型基础的影响,并将红帽带给更广泛的受众。同时保留我们独的文化和坚定不移的开源创新承诺。“ 如果一切顺利,预计该交易将在明年下半年完成。...阅读全文

Debian 公布关于支持非 systemd 初始化系统的投票结果

策略要求一致,并且通常建议软件包不应依赖于其他软件包的实验性或不受支持的(在 Debian 中)功能。软件包可能会包括对 systemd 以外的其他 init 系统的支持,并且可能包括其使用的任何 systemd 定接口的替代物。维护人员使用其常规的程序来确定要引入的补丁。Debian 致力于使用对 init 系统做出不同选择的衍生产品。和我们与下游的所有交互一样,相关的维护人员将与下游一起工作,以找出哪些变化适合加入到 Debian 中,哪些变化应该完全保留在派生工具中。...阅读全文

博文 2019-12-29 13:53:51 debian.cn

可用于企业的三个非主流 Web 服务器

多独的安全功能。它还使用可读的配置语法,可以在不需要 HTTP 或 CGI 专业知识的情况下使用。 Hiawatha 的优势在于其体积小巧,安全性高,易于安装。它非常适合寻求轻量级替代 Apache 的用户,他们将安全可用性,速度和性能优先于高级功能。 Cherokee Cherokee 是我们这些服务器中第三个取自美洲原住民部落的名字。这个由 Akamai Technologies 工程总监 Alvaro Lopez Ortega 于 2001 年创建,他想将模块化和轻量化设计的速度和功能结合起来。 Cherokee 已经成为一个可扩展,高性能,用户友好的 Web 服务器,具有较低的内存占用空间和负载平衡设施。其中包括一个称为 cherokee-admin 的基于 Web 的管理界面...阅读全文

博文 2018-05-02 09:27:32 debian.cn

PHP 7.4 有哪些新特性

PHP 7.4 的GA版今天正式发布了。PHP 7.4发布后,PHP 7.3或其它的PHP 7版本都可以升级到PHP 7.4版。 PHP 7.4 的主要性包括以下几个, 短闭包函数(short closure)预加载提交性能属性类型限定Improved type variance(不会翻译)三元运算简写数组展开运算新增类的魔术方法:serialization数字分隔符运算优先顺序允许在__toString中抛出异常支持反射引用新增字节分割函数移除php短标签弃用左关联运算符不再向后兼容的变更 短闭包函数 短闭包函数可以减少冗余代码: array_map(function (User $user) { return $user->id; }, $users) array_map(fn...阅读全文

博文 2019-11-29 20:45:16 debian.cn

Debian 9 Stretch 安装配置 Caddy Server

本直接使用默认值了,如果有殊需求,可以自己更改目录。 sudo mkdir /etc/caddy sudo chown -R root:www-data /etc/caddy sudo touch /etc/caddy/Caddyfile sudo mkdir /etc/ssl/caddy sudo chown -R www-data:root /etc/ssl/caddy sudo chmod 0770 /etc/ssl/caddy sudo mkdir /var/www sudo chown www-data:www-data /var/www 上面创建了三个目录,/etc/caddy 用了存放 Caddy 的配置文件,/etc/ssl/caddy 存放证书,/var/www 是默认的...阅读全文

博文 2017-12-24 10:18:33 debian.cn

OpenSSL 3.0 正式发布,更改许可协议并弃用所有低级别 API

提供的所有算法实现都可以通过“高级” API 访问,无法使用 “低级 API” 访问它们。目前可用的一个标准 Providers 是 FIPS Providers。这使得 FIPS 验证的加密算法可用。FIPS Providers 默认处于禁用状态,需要在配置时使用enable-fips选项显式启用。如果启用,除了其他标准 Providers 之外,还会构建和安装 FIPS Providers,不需要单独的安装过程。低级别的 APIOpenSSL 历来提供两套用于调用加密算法的 API:"高级" API(如 EVP API)和 "低级" API。高级别的 API 通常被设计成适用于所有算法类型。而 "低级" API 则是针对定的算法实现的。长期以来,OpenSSL 开发团队一直不鼓励使用低...阅读全文

Python 社区有了新治理模式

随着 Python 之父 Guido van Rossum 逐步卸任 BDFL,Python(CPython)的未来之路牵动了万千开发者的心。没了首领,Python 今后的发展会怎么样?社区将如何运作?谁来领导 Python 这门语言和社区呢?这些问题不得不解决,而用什么样的方式解决,这就需要先由社区讨论并最终决定。 前两天我们分析过目前 Python 社区已经提出的 7 种正在进行投票的治理方案,而最新消息是,目前投票环节已经结束,最终 PEP 8016 当选了新时代的 Python 社区治理方案。 PEP 8016 治理方案采用指导委员会模式,其点是引导治理的迭代,该方案由 Nathaniel J. Smith 和 Donald Stufft 提出。 PEP 8016 中提出了不信任...阅读全文

不可变基础设施 (immutable infrastructure) - 云原生定义解析

Your Code: Immutable Infrastructure and Disposable Components”, Chad Fowler, 2013“Phoenix Server”, Martin Fowler, 2012不可变基础设施里的“不可变”非常类似于程序设计中的“不可变”概念。程序设计中不可变变量(Immutable Variable)就是在完成赋值后就不能发生更改,只能创建新的来整体替换旧的。由于具有这样的性这种变量可以在并发环境下安全的使用。对于基础设施的不可变性,最基本的就是指运行服务的服务器在完成部署后,就不在进行更改。在过去依赖传统的高可靠性基础设施的时代,服务的可靠性依赖于高可靠性的服务器。然而,这些基础设施具有很高的拥有成本,并且初始化,配置的成本也非常高...阅读全文

提前尝鲜,从 Debian 10 升级到 Debian 11

本指南解释了从 Debian 10 升级到 Debian 11 的步骤。 Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。 代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结状态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就可以从 Debian 10 安装或升级到 Debian 11。 以下是方法。 前提条件 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。别是如果你正在升级一台服务器。 对你的系统进行备份,包括所有重要的数据和文件。 尝试禁用/删除你可能在一段时间内添加的任何外部仓库...阅读全文

博文 2021-08-16 12:16:21 Debian升级

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

。 - 大容量:支持扩展的内存寻址功能。 - 支持即插即用:在电脑开机时可以直接插入标准的双列内存插槽,并立刻与同一总线上的DDR内存交互操作。 NVDIMM-P的主要征: - 与现有DDR通道完全兼容,包括物理接口、电气性能、协议、时钟。 - 保证为下一代CPU插槽增加的针脚尽可能少。 - 协议支持数据读取时的不确定延迟。 - 确保数据在非易失内存中的事务性操作。 - 从NAND到DRAM多种延迟模式的支持(在模块级别)。 - 内存本身具备高可靠性、链路错误保护功能。 事实上,NVDIMM是一个系列标准,除了这里说的NVDIMM-P,还有NVDIMM-F、NVDIMM-N、NVDIMM-H。 NVDIMM-F本质上就是DDR接口的SSD固态盘,只使用NAND闪存,优点是延迟低(纳秒级别)、带宽高...阅读全文

Go 泛型的括号选择:[ ] or ( )

Go 语言设计者 Robert Griesemer 和 Ian Lance Taylor 近日在 Golang 官方论坛发帖讨论关于泛型及其括号使用的问题。 他们提到很多人表达了对泛型语法的担忧,别是在类型参数声明和函数实例以及泛型的括号选择方面。 常见的计算机键盘提供了四对单字符对称括号,分别是小括号 ( )、方括号 [ ]、花括号 { } 以及尖括号 < >。基于此,他们解释了目前泛型草案在示例代码中使用小括号的原因。首先,Go 使用花括号来划分代码块、复合字面量(composite literals)和一些复合类型,因此几乎不可能在没有严重语法问题的情况下将花括号用于泛型。至于尖括号,解析器在某些情况下要求 <> 需要 unbounded lookahead。 所以只剩下...阅读全文

博文 2020-07-16 10:38:01 debian.cn

使用 nvme-cli 工具来了解你的 NVMe 驱动器

0L2QEXD7我有一个名为 nvme0n1 的驱动器。它列出了序列号、品牌、容量、固件版本等等。通过使用 id-ctrl 子命令,你可以得到更多关于该硬盘和它所支持的性的信息:$ sudo nvme id-ctrl /dev/nvme0n1NVME Identify Controller:vid : 0x144dssvid : 0x144dsn : S42GMY9M141281mn : SAMSUNG MZVLB256HAHQ-000L7fr : 0L2QEXD7rab : 2ieee : 002538cmic : 0mdts : 9cntlid : 0x4ver : 0x10200rtd3r : 0x186a0rtd3e : 0x7a1200[...]驱动器健康你可以通过 smart-log 子命令...阅读全文

博文 2021-09-26 15:12:24 joseph

如何在 Debian 上安装 TensorFlow

TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器学习提供支持的应用。 TensorFlow可以在系统范围内,Python虚拟环境中,作为Docker容器或与Anaconda一起安装。在本教程中,我们将讲解如何在Debian 10的Python虚拟环境中安装TensorFlow。 虚拟环境使你可以在一台计算机上拥有多个不同的隔离Python环境,并在每个项目的基础上安装模块的定版本,而不必担心会影响其他项目。 以下内容提供了如何在Debian 10上的Python虚拟环境中安装 TensorFlow。 1、安装Python 3 venv 首先我们要验证...阅读全文

Rancher 2.2.2 发布:优化 Kubernetes 集群运维

Windows 节点正式提供生产级别支持的 Kubernetes 版本。 UI 和 API 的性能提升 Rancher v2.2.2 中,UI 和 API 的性格都得到了大幅优化。项目相关的资源 API 调用(别是 pod)所需的加载时间大幅减短,页面在极短的时间内即可用。 其他的修复或更新 修复了无法为 AWS 中国区域添加节点模板的问题。出于稳定性考虑,暂时移除了项目级别的监控,将在下一个版本中重新添加;集群级别的监控不受此影响。修复了发布目录模板可能因证书错误而失败的问题。修复了用于与独立 Rancher 服务器通信的自签名证书可能过期的情况。修复了 Rancher 配置集群状态在带有前缀补丁的集群中被错误提取的问题。 更新详情可查阅 RancherLabs 的 发布公告 下载地址:https...阅读全文

博文 2019-04-22 13:49:38 debian.cn

谷歌开源 Pigweed:用于提升嵌入式开发效率

中的经典挑战是减少从运行 git clone 到在设备上执行二进制文件的时间。对于生产嵌入式项目,往往通常需要一整套工具。而 Pigweed 能够通过虚拟环境提供简化设置的工具,具体来说,Pigweed 的 pw_env_setup 模块中的引导脚本可设置当前的 shell 以访问一组标准化工具——包括 Python 3.8、clang 格式以及 ARM 编译器。所有这些都是在虚拟环境中完成的,因此无需修改系统的默认环境。 在典型的嵌入式开发中,即使添加很小的更改也需要一些额外的手动步骤。而 Pigweed 的 pw_watch 模块直接解决了这种效率低下的问题,它提供了一个监视者(watcher),该监视者可以在保存文件时自动调用构建,还可以运行受代码更改影响的定测试。这大大缩短了更改的...阅读全文

博文 2020-03-22 08:35:14 debian.cn

DNS SRV:使用DNS服务器做服务发现

级的记录,按照权重选择,记录的权重越高,被选择的可能性越高。 选择的时候,将所有记录的权重值累加,得到一个选择区间[0,sum],每个记录在[0,sum]中占据一段连续的、长度为自身权重值区间。然后生成一个[0,sum]中的随机数,随机数落在的区间所属的记录就是被选择的记录。 注意事项 在使用DNS SRV的时候,要注意DNS Client是否按照预期的方式处理收到的SRV记录。当前DNS SRV只能够负责提供服务地址列表,对这个列表如何解读,完全取决于Client的实现。rfc-1035中规定,通过UDP协议传输DNS响应时,UDP报文的负载不能超过512字节,在添加 SRV 记录的时候,要别注意。通过TCP传输时没有512字节的限制。当一个服务地址有多个相同优先级的SRV记录的时候...阅读全文

博文 2019-03-05 09:35:34 debian.cn

Elastic search 6.0.0 正式发布 大量新特性

Elasticsearch 群集搜索 和以前一样,Elasticsearch 6.0 能够读取在 5.x 中创建的 Indices ,但不能读取在 2.x 中创建的 Indices 。不同的是,现在不必重新索引所有的旧 Indices ,你可以选择将其保留在 5.x 群集中,并使用跨群集搜索同时在 6.x 和 5.x 群集上进行搜索。 迁移助手 Kibana X-Pack 插件提供了一个简单的用户界面,可帮助重新索引旧 Indices ,以及将 Kibana、Security 和 Watcher 索引升级到 6.0 。 群集检查助手 在现有群集上运行一系列检查,以帮助在升级之前更正任何问题。 你还应该查阅弃用日志,以确保您没有使用 6.0 版中已删除的功能。 使用序列号更快地重启和还原 6.0 版本中最大的一个新...阅读全文

博文 2017-11-15 18:11:10 debian.cn

如何在 Nginx 中配置 gRPC 的代理

Nginx 在 1.13.10 中,新增了对gRPC的原生支持,Nginx 1.14.0 主线版已经发布。本文将介绍,如何配置 Nginx 中的 gRPC 服务。gRPC 服务做为一个 TCP 服务,配置方式与 HTTP/HTPTS 类似。 安装 Nginx Nginx版本要求:1.13.10+。gRPC必须使用 HTTP/2 传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接的多路复用和流式性。所以在安装部署nginx时需要安装http/2。使用源码安装,编译时需要加入http_ssl和http_v2模块: $ auto/configure --with-http_ssl_module --with-http_v2_module 以明文的方式发布...阅读全文

博文 2018-04-20 11:03:39 debian.cn

为什么使用 JavaScript 开发物联网?

较于PHP、Python、Java来说,JavaScript是最有可能在物联网大行其道的解释性语言。 JavaScript在浏览器没有对手,nodejs在服务器端也在不停的攻城拔寨,积累了大量的资源,构建了一个完整的应用开发生态环境。 JavaScript语言本身点适合互联网,事件驱动,异步使单线程处理网络事件得心应手。 JavaScript已经跨界到物联网,受到了行业巨头的关注,各种项目发展的如火如荼。 未来的物联网开发 如果JavaScript在物联网获得成功,那么物联网的开发将会发生巨大的变化。 底层驱动由C实现,应用开发者不需要关注硬件,大量的互联网、移动互联网应用开发者加入物联网开发。 传统的交叉编译、烧写、调试的开发方式使用范围将急剧缩小 所见即所得,上位机和下位机的架构由C...阅读全文

博文 2021-01-28 17:50:12 debian.cn

轻量级发行版 Alpine Linux 介绍

Alpine Linux 操作系统是由社区开发的,面向安全的轻型 Linux 发行版,它和其他常见的 Linux 发行版不同。Alpine 采用了 musl libc 和 busybox 以减小系统体积和运行时的资源消耗,功能上要比 busybox 完善的多,因此得到开源社区越来越多的青睐。 在保持瘦身的同时,Alpine 提供了自己的包管理工具 apk,可以在官方网站上查询包信息,也可以通过类似 apt 和 yum 的方式,在命令行查询或安装软件。 Alpine 支持广泛的场景,它别为资深/重度Linux用户而优化,关注安全,性能和资源利用率,是一个优秀的可适用于生产环境的基础系统。 Alpine Docker 镜像继承了 Alpine Linux 发行版的这些优势。相比于其他...阅读全文

博文 2018-06-16 13:48:00 debian.cn

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

::Ordering, io}; use std::io::{self, Write}; // 引入 std::io 和 std::io::Write 引入模块下所有共有元素, 需谨慎使用, 一般在测试时或预加载时使用use std::collections::*; re-exporting names with pub use (暂且跳过)使用外部包(External Packages)在文件Cargo.toml中添加依赖[dependencies], Cargo从crates.io下载所需要的依赖包.[dependencies] rand = "0.5.5"引入rand中的Rng性(trait)use rand::Rng; fn main() { let secret_number = rand...阅读全文

博文 2021-02-20 08:49:51 知乎

WebAssembly:无需容器的 Docker (上)

Linux、Windows 和 macOS 等传统操作系统。 因为无法依赖可用的 JavaScript 引擎,所以他们使用不同的接口与外界通信,例如 WASI(WebAssembly 系统接口)。 这些运行时允许 Wasm 应用程序以与 POSIX 类似(但不完全相同)的方式与其 host 系统交互。 WASI SDK 和 wasi-libc 等项目帮助人们将现有的兼容 POSIX 的应用程序编译为 WebAssembly。你只需将应用程序编译成 Wasm 模块一次,然后这个同样的二进制文件就可以在任何地方运行。Wasm 有什么了不起的?下面这些性让 Wasm 在浏览器大放异彩,也使得它用在服务端开发颇具优势:🌐 开放 —— 它是业界广泛采用的标准。 与过去的浏览器争夺战相反,各大公司正积极合作...阅读全文

博文 2023-01-03 06:35:56 spider

聊聊很重要的内核技术eBPF

查是BPF程序的空运行。这意味着验证者将尝试分析程序将要执行的每条指令,以确保它不会执行任何无效的指令。此执行还将检查所有内存指针是否均已正确访问和取消引用。最后,空运行向验证程序通知程序中的控制流,以确保无论程序采用哪个控制路径,它都会到达BPF_EXIT指令。为此,验证程序会跟踪堆栈中所有访问过的分支路径,并在采用新路径之前对其进行评估,以确保它不会多次访问定路径。经过这两项检查后,验证者认为程序可以安全执行。 3) hook : 由于eBPF是事件驱动的,所以ebpf是作用于具体的hook的。根据不同的作用,常用的有XDP,trace,套接字等。 4)帮助函数:eBPF程序无法调用任意内核功能。允许这样做会将eBPF程序绑定到定的内核版本,并使程序的兼容性复杂化。取而代之的是...阅读全文

博文 2020-08-16 11:08:44 debian.cn

Golang Context 探究

{ // 返回 context.Context的截止时间(也就是取消时间) Deadline() (deadline time.Time, ok bool) // 返回一个 Channel,这个 Channel 会在当前操作完成或者上下文被取消之后关闭,多次调用 Done 方法会返回同一个 Channel Done() <-chan struct{} // 返回 context.Context 结束的原因 Err() error // 从 context.Context 中获取键对应的值, 该方法可以用来传递请求定的数据 Value(key interface{}) interface{} } Context 实现 首先我们思考为什么Golang 中需要 Context。用我们最熟悉的例子 http...阅读全文

博文 2021-02-25 09:27:27 lxkaka

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来决定。qcount 表示当前缓冲区中有效数据的总量...阅读全文

下一代时间同步服务 Chrony 详解

^- 103.47.76.177 2 6 17 20 +22ms[ +21ms] +/- 205ms ^* any.time.nl 2 6 17 19 -6141us[-7761us] +/- 43ms ^+ 139.180.134.39.vultr.com 2 6 17 20 -3115us[-4735us] +/- 47ms 查看 NTP 服务器的在线和离线状态 $ chronyc activity 查看 Chrony 服务的日志 $ journalctl -u chronyd 检查 NTP 访问是否对定主机可用 $ chronyc accheck 该命令会显示有多少 NTP 源在线/离线 $ chronyc activity 手动添加一台新的 NTP 服务器 $ chronyc add server 在客户端报告...阅读全文

博文 2021-01-04 08:41:14 debian.cn

Jono Bacon: GPL 没落了吗?

不久之前我看到了 RedMonk 的 Stephen O'Grady 发了一个关于开源协议的有趣的推,那个推里面有这张图, Redmonk Black Duck Licensing 这张图片显示了从 2010 到 2017 年间各种开源协议之间的使用率的变化。在这张图片里,显然 GPL 2.0 —— 最纯净的 copyleft 协议之一 —— 的使用率降低了一多半。该图表表明,开源项目中 MIT 协议和 Apache 协议开始受欢迎。GPL 3.0 的使用率也有所上涨。 这些意味着什么? 为什么 GPL 2.0 的使用率跌的这么多但是 GPL 3.0 仅仅是涨了一丁点?为什么 MIT 协议和 Apache 协议的使用率涨了那么多? 当然,有很多原因可以解释这件事情,但是我想这是因为商业...阅读全文

博文 2017-08-04 08:03:43 debian.cn

Java Annotations详解

三个编译注释,你可以使用它们来给编译器发送指令。这些注释会在稍后再做更详细的介绍。 Java注释可以在编译时(build-time)时使用,当你编译你的工程时。编译过程包括生成源代码,编译资源文件,生成XML文件(如:部署表述文件),以及将编译好的代码或文件打包成一个jar文件等。编译过程通常是由诸如Apache Ant或Apache Maven之类的编译工具自动完成的。编译工具会浏览你代码中的定注释,并基于这些注释生成源代码或其他文件。 通常情况下,Java注释在代码编译完成后就变得不可见了。但是存在这种可能,你可以定义自己的注释,并使它们在运行时仍然可见。之后可以通过反射机制来访问这些注释来影响你的程序。 注释的基本知识 注释的最简单形式如下: @Entity 字符@告诉编译器这是一个...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

aptitude 与 apt

dumpavail——打印可用软件包列表。apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。apt-cache pkgnames——打印软件包列表中所有软件包的名称。dpkg -S file——这个文件属于哪个已安装软件包。dpkg -L package——列出软件包中的所有文件。apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。apt-file search filename——查找包含定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。 apt-file 是一个独立的软件包。您必须先使用 apt-get 来安装它,然後运行apt-file...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

互联网协议正在发生变化

当上世纪九十年代互联网开始被广泛使用的时候,其大部分的通讯只使用几个协议:IPv4 协议路由这些数据包,TCP 协议转发这些包到连接上,SSL(及后来的 TLS)协议加密连接,DNS 协议命名那些所要连接的主机,而 HTTP 协议是最常用的应用程序协议。 多年以来,这些核心的互联网协议的变化几乎是微乎其微的;HTTP 增加了几个新的报文头和请求方式,TLS 缓慢地进行了一点小修改,TCP 调整了拥塞控制,而 DNS 引入了像 DNSSEC 这样的性。这些协议看起来很长时间都一成不变(除了已经引起网络运营商们的大量关注的 IPv6)。 因此,希望了解(甚至有时控制)互联网的网络运营商、供应商和决策者对这些协议采用的做法是基于其原有工作方式 —— 无论是打算调试问题,提高服务质量,或施加政策...阅读全文

译:零信任对 Kubernetes 意味着什么

的最细粒度的身份验证和授权。虽然服务网格可以提供帮助,但 Kubernetes 安全性仍然是一个复杂而微妙的话题,需要从多个层次进行了解。零信任是一种位于现代安全实践前沿的强大的安全模型。这也是一个容易引起轰动和炒作的术语,因此很难消除噪音。那么,究竟什么是零信任,对于 Kubernetes,它究竟意味着什么?在本文中,我们将从工程的角度探讨什么是零信任,并构建一个基本框架来理解它对 Kubernetes 运维和安全团队等的影响。介绍如果你正在构建现代云软件,无论是采用 Kubernetes 还是其他软件,可能都听说过“零信任”一词。零信任的安全模式变得如此重要,以至于美国联邦政府已经注意到:白宫最近发布了一份联邦零信任战略的备忘录,要求所有美国联邦机构在年底前满足定的零信任安全标准...阅读全文

Golang 操作 Kafka 样例

1. Kafka介绍 1.1.1. Kafka是什么 kafka使用scala开发,支持多语言客户端(c++、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶级项目。 Kafka是一个分布式的、分区化、可复制提交的日志服务 LinkedIn使用Kafka实现了公司不同应用程序之间的松耦和,那么作为一个可扩展、高可靠的消息系统 支持高Throughput的应用 scale out:无需停机即可扩展机器 持久化:通过将数据持久化到硬盘以及replication防止数据丢失 支持online和offline的场景 复制代码 1.1.2. Kafka的点 Kafka是分布式的,其所有的构件borker(服务端集群)、producer(消息生产...阅读全文

博文 2023-01-10 13:46:09 掘金

在 Kubernetes 上扩展 TensorFlow 模型

Kubernetes 的机器学习框架,最初由谷歌开发。它建立在 Kubernetes 资源和编排服务之上,实现复杂的自动化机器学习管道,用于[训练和服务机器学习模型](https://iamondemand.com/blog/the-never-ending-story-of-model-training-a-new-chapter-for-machine-learning/)。 可以结合使用 Kubernetes 和 Kubeflow 来有效地扩展 TensorFlow 模型。为使 TensorFlow 模型具有可扩展性,主要的资源和性如下: - 使用 kubectl[手动扩展 Kubernetes 部署和 StatefulSets](https://kubernetes.io/docs/concepts...阅读全文

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

是看顶层的哪个函数占据的宽度最大。只要有"平顶"(plateaus),就表示该函数可能存在性能问题。 颜色没有殊含义,因为火焰图表示的是 CPU 的繁忙程度,所以一般选择暖色调。 三、互动性 火焰图是 SVG 图片,可以与用户互动。 (1)鼠标悬浮 火焰的每一层都会标注函数名,鼠标悬浮时会显示完整的函数名、抽样抽中的次数、占据总抽样次数的百分比。下面是一个例子。 mysqld'JOIN::exec (272,959 samples, 78.34 percent) (2)点击放大 在某一层点击,火焰图会水平放大,该层会占据所有宽度,显示详细信息。 左上角会同时显示"Reset Zoom",点击该链接,图片就会恢复原样。 (3)搜索 按下 Ctrl + F 会显示一个搜索框,用户可以输入关键词...阅读全文

博文 2022-03-11 10:05:09 博客园

理解 Linux 的虚拟内存

前不久组内又有一次我比较期待的分享:“Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,意给这位同学挑选的主题。 我之前了解一些操作系统的概念,主要是毕业后对自己大学四年的荒废比较懊恼,觉得自己有些对不起计算机专业出身,于是在工作之余抽出时间看了哈工大在网易云课堂的操作系统公开课,自己也读了一本讲操作系统比较浅的书 《Linux内核设计与实现》,而且去年自己用 C 写简单的服务器时,也追根究底了解了更多的系统底层知识。多亏了这些知识,让我对应用层的知识更有掌控感,也在上次排查问题时(从应用到内核查接口超时)助了我一臂之力。 前几天另一位同事来问另一个虚拟内存相关的问题,我才发现对于虚拟内存,我的理解还不够深刻,一些概念还...阅读全文

博文 2018-11-25 11:03:49 debian.cn

“Debian 章程有毒” - OSCHINA

的权限,并可以参与社区投票(比如一年一次的选举等)。 一方面,DD 完全掌握自己的工作,可以做任何技术性和非技术性的决定,几乎不受任何限制。也就是说,Debian 社区里没有领导。 另一方面,这些拥有投票权的 DD 们,通过一般决议流程(General Resolution),成为了 Debian 群体中的权力主体。他们可以任命或者罢免 DPL;对于 DPL 或者代表的任何决定觉得不爽都可以推翻;可以用 3:1 的多数票修改 Debian 章程;还可以处置 Debian 的信托财产等等。 除此之外,为了保障所有的开发者声音都被尊重,Debian 章程还立独行地将“None Of The Above”(以上都不是)设为默认选项。也就是说,当你觉得以上的选项你都不想投票,你可以另开一栏,写上你...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区