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

容器原理之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 博客园

深入了解Docker背后的namespace技术

should never reach here! exit(EXIT_FAILURE); } 请确保在你的main函中的clone_flags的变量应该是这样的nt clone_flags = CLONE_NEWUTS | SIGCHLD;,然后编译并用同样的命令运行。这个时候你可以看到用它执行 hostname命令的返回值。同时为了核查这个变动不会影响你当前的shell,我们将执行 hostname 并确认返回了先前原始的值。 > gcc -o uts uts.c > ./uts hostname myhostname > hostname development IPC Namespace IPC namespace用于隔离进程间通信,像SysV的消息队列,让我们为这个命名空间创建一个...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Spinnaker 介绍 – Netflix 的持续交付平台

然避免不了,为了更加从容的应对这些故障,就搞了一个工具 Chaos Monkey 会随机停止生产中的虚拟机,通过观察系统在真实故障中的表现来确保程序的健壮性,也通过实战来验证各种高可用技术是否靠谱。接着冒出了 Chaos Gorilla,会停止一整个可用域中的所有机器;最后还有Chaos Kong,直接停掉一整个 Region,非常有挑战精神(丧心病狂)。 为了更好的观察系统在故障时的情况,还研发了全局可视化系统,代号 Flux,可以将整个系统的逻辑架构和各服务之间的流量可视化在大屏幕上,效果图如下: 他们每个月有一个活动:将一个 Region 里的机器全部关掉,看 Netflix 服务是否正常。有兴趣看视频的可以移步这里。 另外,Netflix 除了云服务,还有自建CDN,即 Open...阅读全文

博文 2018-12-21 19:30:47 debian.cn

WebAssembly:无需容器的 Docker (上)

同的源语言创建可移植的二进制可执行文件。 这些二进制文件可以在各种中运行。 它起源于 Web,并得到各大主流浏览器的支持。Wasm 如何在浏览器中工作?浏览器引擎集成了一个 Wasm 虚拟机,通常称为 Wasm 运行时,可以运行 Wasm 二进制指令。 编译器工具链(如 Emscripten)可以将源代码编译为 Wasm 目标。 这允许将现有的应用程序移植到浏览器,并直接与在客户端 Web 应用程序中运行的 JS 代码通信。这些技术能让传统的桌面应用程序在浏览器中运行。现在它们可以在任何装了浏览器的设备上运行。 一些著名的例子包括 Google Earth 和用于计算机视觉的 Open CV 库。Wasm 如何在服务器上运行?除了浏览器,也有可以在浏览器之外运行的 Wasm 运行时,包括...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

以进行故障排除的二进制文件和工具。这就决定了该容器有助于提供安全可靠的运行时,但也很难在问题发生时进行调试。 在这种情况下,临时容器发挥作用。它们实现了调试容器附加到主进程的功能,然后你可以用于调试任何类型的问题。调试容器可以基于任何镜像,因此可以根据您的需求进行定制。您可以构建自己的调试镜像,其中包含特殊的调试二进制文件或仅包含curl,OpenSSL和MongoDB客户端之类的工具。但是,您也可以选择Linux发行版(如Ubuntu)或仅运行Busybox镜像,这两个镜像都已经包含了许多有用的工具。 如何使用临时容器? 临时容器是alpha功能,因此默认情况下处于禁用状态。您将需要激活以下功能门才能使用它们: 临时容器 PodShareProcessNamespace(v1.16中的...阅读全文

博文 2021-08-20 11:45:32 博客园

Rust 1.39.0 发布,async/.await 稳定了

Rust 1.39.0 已经发布。此版本的亮点包括 async/.await,对 match 守卫 by-move 绑定的共享引用,以及函的属性。 async/.await 稳定 此版本 async/.await 特性已经稳定,这意味着现在可以定义 async 函和块,并进行 .await 操作。 async 函通过 async fn 引入,被调用时会返回一个 Future,该 Future 是一个会挂起的计算,可以使用 .await 运行并完成计算。而除了 async fn,async{…} 和 async move{…} 块也可以用来定义“异步文字”,它们的行为像闭包。 match 守卫引用 by-move 绑定 在 Rust 中进行模式匹配时,一个变量,也就是“绑定”,可以...阅读全文

博文 2019-11-11 09:44:43 debian.cn

Nginx 发布 mainline version 1.13.0

Nginx 发布了 mainline version 1.13.0(即通常说的开发版)。更新内容如下: Change: SSL renegotiation is now allowed on backend connections. 后端连接现在允许 SSL 重新协商 Feature: 用于邮件代理和流模块的 “listen” 指令的 “rcvbuf” 和 “sndbuf” Feature: t 现在可以使用 “return” 和 “error_page” 指令返回 308 重定向 Feature: “ssl_protocols” 指令的 “TLSv1.3” 。 Feature: 当出现登录信号时,nginx 现在会记录发送信号的进程的 PID Bugfix: 内存分配错误...阅读全文

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

译:Kubernetes 最佳实践

统中不同组件的交互方式。K8s 官方文档中推荐的 Pod 标签包括名称、实例、版本、组件、部分和管理者。标签也可以以类似于在云中对资源使用标签的方式使用,以跟踪与业务相关的事物,例如对象所有权和对象应属于的。此外,还建议使用标签来详细说明安全要求,包括机密性和合规性。使用网络策略应该使用网络策略来限制 K8s 集群中对象之间的流量。默认情况下,所有容器都可以在网络中相互通信,如果恶意行为者获得对容器的访问权限,从而允许他们遍历集群中的对象,这会带来安全风险。网络策略可以在 IP 和端口级别控制流量,类似于云平台中的安全组的概念,以限制对资源的访问。通常,默认情况下应拒绝所有流量,然后应制定允许规则以允许所需流量。使用防火墙除了使用网络策略来限制 K8s 集群上的内部流量外,还应该在...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Ruby 2.5.0 稳定版发布

Ruby 2.5 系列第一个稳定版本发布,新版包括了一系列新的特性和性能改进。主要变化包括:rescue/else/ensure 允许直接与 do/end 块使用,yield 增加 yield_self,Struct.new 能创建接受关键字的类,最高级常量查询不再可用,移除所有 trace 指令提升 5-10% 性能,SecureRandom 将更偏向使用操作系统提供的 SSL 库等。 此版本包括个新特性和性能提升,例如: 新特性 允许在 do/end 中直接使用 rescue/else/ensure。[功能 #12906] 新增 yield_self 来使用当前上下文 yield 代码块。不同于 tap,此方法会返回代码块的运行结果。[功能 #6721] 支持测量分支代码覆盖和方...阅读全文

博文 2017-12-25 21:59:41 debian.cn

使用 setfacl 管理文件的访问控制列表ACL

。在 Debian 系统中,执行命令: sudo apt-get install acl ACL 使用样例 ACL即Access Control List,主要的目的是提供传统的 owner, group, others 的 read, write, execute 权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的访问控制有一定帮助。例如,某一个文件不让单一的某个用户访问。 ACL使用两个命令来对其进行控制: getfacl:取得某个文件/目录的ACL设置项目 setfacl:设置某个文件/目录的ACL设置项目 setfacl 的命令: -m:设置后续acl -x:删除后续acl -b:删除全部的acl -k:删除默认...阅读全文

使用 cURL 对Web请求进行性能测试

在做 Web 开发的时候,经常需要对 Web Page 或者 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速的性能评测。本文内容分为以下两部分: 使用 curl 查看加载时间 使用 curl -w 查看更多的网络情况 使用 curl 查看加载时间 curl -s -w "%{time_total}\n" -o /dev/null http://www.github.com/ 1.492 可以看到请求时间为 1.492 秒。此时: -s, --silent: 让 curl 保持静默模式,不会输出进度条 -w "%{time_total\n}":输出使用时间 -o /dev/null: 这个用来隐藏 response 的内容 如果使用...阅读全文

博文 2018-11-28 18:40:47 debian.cn

如何在一个U盘上安装多个Linux发行版

本教程介绍如何在一个 U 盘上安装多个 Linux 发行版。这样,你可以在单个 U 盘上享受多个现场版live Linux 发行版了。 我喜欢通过 U 盘尝试不同的 Linux 发行版。它让我可以在真实的硬件上测试操作系统,而不是虚拟化的中。此外,我可以将 USB 插入任何系统(比如 Windows 系统),做任何我想要的事情,以及享受相同的 Linux 体验。而且,如果我的系统出现问题,我可以使用 U 盘恢复! 创建单个可启动的现场版 Linux USB 很简单,你只需下载一个 ISO 文件并将其刻录到 U 盘。但是,如果你想尝试多个 Linux 发行版呢?你可以使用多个 U 盘,也可以覆盖同一个 U 盘以尝试其他 Linux 发行版。但这两种方法都不是很方便。 那么,有没有在单个...阅读全文

博文 2017-10-18 13:42:20 debian.cn

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

Rancher 2.2.2 发布了。Rancher 是一个开源的企业级 Kubernetes 平台,可以管理所有云上、所有发行版、所有 Kubernetes 集群,解决了生产中企业用户可能面临的基础设施不同的困,改善 Kubernetes 原生 UI 易用性不佳以及学习曲线陡峭的问题。 新版本的更新亮点有: Rancher CVE-2019-11202 修复 开发团队发现过一个问题:Rancher 首次启动时创建的默认管理员帐户将在 Rancher 的后续重新启动时重新创建,即使 Rancher 管理员明确删除了该帐户,也仍会如此。这会带来一定的安全风险,因为帐户是使用 Rancher 的默认用户名和密码重新创建的。因此,攻击者可以使用这些默认账号密码来获取对 Rancher...阅读全文

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

开源软件对于商业机构的6大好处

常是对产品供应商有利,而非客户。如果软件停止运行,或者如果供应商要求支付更多的费用,你甚至无法起诉供应商的不当行为。而像 GPL 一类的开源许可证就是为保护客户专门设计的,而不是供应商,它确保你按照自己的需求使用软件,而没有专制限制。 由于它们的广泛使用,GPL 及其衍生许可的含义被广泛理解。 例如,许可证允许你现有(开源或闭源)基础设施通过定义良好的 API 与其连接,对时间或用户量没有限制,并且不会强制你打开配置或知识产权 财产(如公司标志)。但有一个问题就是,有一些开源内核混合了 GPL 和专有软件的条款,这违反了许可证规定,会将客户置于危险地。 使用专有软件意味着你需要面对严苛的法规遵从性条款,还有承担高额罚款的风险。...阅读全文

博文 2017-11-15 23:41:11 debian.cn

Debian 系统中如何禁用 IPv6

国内腾讯云和阿里云的机器是没有ipv6的,但安装完 Debian 9 却发现默认启用了ipv6,所以需要将 IPv6 禁用,或者降低优先级。 方法一:降低 IPv6的优先级 使IPv4优先 默认的安装中,ipv4 和 ipv6 并存,并且 ipv6 却优先于 ipv4。如果不需要彻底关闭 ipv6,可以设置让 ipv4 优先于 ipv6。配置方式如下: echo "precedence ::ffff:0:0/96 100" >>/etc/gai.conf 当然也可以直接修改 /etc/gai.conf 文件,找到下面这一行 #precedence ::ffff:0:0/96 100 把前面的#去掉即可。 方法二:设置 GRUB 启动禁用 IPv6 编辑 /etc/default...阅读全文

博文 2019-07-12 11:06:50 debian.cn

Debian 8 使用 Apache 部署 Ruby on Rails

-dev 2.使用gem模块的gem包管理器,安装fastthread gem: sudo gem install fastthread 3.安装Ruby On Rails: sudo gem install rails 4.(可选)为您的应用程序安装其他依赖项,例如 MySQL 支持: sudo apt-get install mysql-server libmysqlclient-dev mysql-client mysql-common sudo gem install mysql 5.将rails添加到$PATH变量。 请确保用正在运行的Ruby版本替换VERSION: ls /var/lib/gems PATH="/usr/local/sbin:/usr/local/bin:/usr...阅读全文

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

盖茨退休后的日常:很少吃早餐 保证7个小时的睡眠

茨其实很多时候都不吃早餐。 早餐之后,盖茨会在跑步机上锻炼,同时他还会看一些教学机构的课程,也会观看麻省理工学院的公开课,有时他也会去打网球。当然,盖茨每天上午也不全是运动,他每天都会看《纽约时报》、《华尔街日报》、《经济学人》等主要报刊上的头条新闻。 午餐方面,盖茨喜欢的是芝士汉堡。而在午餐之后,他的很多时间都是在看书,他是个读书狂。 盖茨的豪宅超过了6000平方米,还有庞大的院子,远离嘈杂的市区,房子周边植被茂密,房前不远处就是广阔的水面,有着非常适合看书的,盖茨也可以选择在任何一个地方看书,但盖茨还是喜欢坐在他面积庞大的私家图书馆看书。 在晚上,盖茨会做家务,每天晚上,他都要挽起袖子来洗碗。而在睡觉之前,盖茨都要确保他能有7个小时的睡眠。 除了上面提到的,盖茨也会安排时间和家人一起...阅读全文

博文 2017-08-31 16:36:02 debian.cn

Debian 9.3 Stretch 安装镜像ISO文件下载

Endian),PPC64el(PowerPC 64位Little Endian)和s390x(IBM System z)。 Debian GNU/Linux 9.3 “Stretch”Live ISO已经可以下载了 另一方面,Debian GNU/Linux 9.3 “Stretch” Live ISO 仅适用于32位和64位计算机,并且带有KDE Plasma,GNOME,Xfce,LXDE,Cinnamon 和 MATE 桌面。应该注意的是,还可以下载一个多重(64位和32位)的 netinstall ISO 映像。 所有这些Debian GNU/Linux 9.3 “Stretch” ISO映像包含了自Debian GNU/Linux 9.2.1 “Stretch”以来通过官方软件库发布的...阅读全文

OpenStack 基金会发布新容器项目 Kata

和运行时的标准规范。Hyper 的 runV 被视为“容器管理程序”,支持 Xen 和 KVM。以上两个项目都被包含在 Kata 中,runV 用来启动容器。 在几天前举行的 Kubecon/CloudNativeCon 大会上有一场 演讲 提到了所谓的“虚拟容器”的底层技术,可以运行直接由超级管理程序管理的容器。在多租户里运行由 Kubernetes 管理的容器时,租户之间的隔离问题是重中之重。使用不同的虚拟机来运行不同的容器可以达到一定程度的隔离。但对于 Hyper 来说,这样做不是必需的,因为每个容器由单独的管理程序进行管理,而不是运行在单独的虚拟机上。 现有的 OpenStack 容器项目 Magnum 和 Zun 使用了其他容器技术和编配器。用户可以通过 Magnum 为容器创...阅读全文

博文 2017-12-14 22:45:39 debian.cn

Debian GNU/Linux Stretch 9.6 发布

,Debian项目准备了更新后的安装镜像和 Live 镜像,如果您想在新计算机上部署Debian Stretch,可以从本文提供的链接下载官方的 Xfce,Cinnamon,GNOME,KDE,MATE 和 LXDE 桌面镜像。 另一方面,如果您已在个人计算机上运行 Debian GNU/Linux "Stretch"操作系统系列,那么您只需运行 "sudo apt-get update && sudo apt-get full-upgrade" 即可安装所有可用的更新和安全补丁。对严重问题的调整列表如下: Advisory ID Package DSA-4074 imagemagick DSA-4103 chromium-browser DSA-4182 chromium-browser DSA...阅读全文

博文 2018-11-12 15:19:22 debian.cn

Knoppix 8.6 发布,GNU/Linux 系统

Knoppix 8.6 已经发布,Knoppix 是一套光盘启动的 GNU/Linux 系统 (LiveCD),原来的 Linux Live Area 现在基于 Debian Buster。 Knoppix 8.6 基于 Debian 10.0 Buster,从 Debian 测试中选择了包,对于更新的图形支持使用了 Unstable/Sid 。Knoppix 8.6 附带了 Linux 5.2 内核,Knoppix 8.6 还附带了最新的桌面 BITE 和其他更新的软件。具体内容如下: 8.6 基于 Debian/stable (buster),一些来自 Debian/testing 和 unstable(Sid) 的包用于更新的图形驱动程序或桌面软件包。它使用 Linux...阅读全文

博文 2019-08-20 12:21:46 debian.cn

Kong 发布 API 协作设计工具 Insomnia Designer

API 和服务生命周期管理平台 Kong 发布了 Insomnia 系列开发工具的一个重要扩展 —— Insomnia Designer。Insomnia Designer 提供一个编辑 GraphQL 和 REST API 的协作,让开发团队可以更方便地采用规范优先(spec-first)的方法用于软件设计。 Kong 于去年收购了开源 REST 客户端提供商 Insomnia,两者秉承着一致的目标在 Insomnia 的基础上推出了 Insomnia Designer,旨在帮助开发者创建 REST 和 GraphQL API。Kong 认为,软件正逐渐朝着松耦合的微服务模式运行,API 也已成为一等公民(first-class citizens)。在这种新的模式下,开发者需要工具来...阅读全文

博文 2020-05-03 15:28:11 debian.cn

JavaFX 11 发布,与 JDK 拆分后的首个正式大版

文件,并为每个 javafx.* 模块授予所有权限。 默认 GTK 版本从 v2 更新为 v3。将在存在 gtk3 库的 Linux 平台上使用 GTK 3。 特性: 新增:添加了公共 FX Robot API 以支持模拟用户交互,例如在键盘上输入,使用鼠标并捕获图形信息。 移除:FX Media 移除了对 libavcodec 53 和 55 的支持。 此外公告还提供了关于以下一些常见问题的解决方案: OpenJDK 11 下,JavaFX 在 Ubuntu 18.04 上启用 Wayland 时崩溃。 使用 JDK 10 运行时,Swing interop 需要标准的导出配置。 使用具有独立 SDK 的安全管理器运行时,Swing interop 失效。 使用 jlink 创建的小...阅读全文

博文 2018-09-20 13:09:25 debian.cn

Raspberry Pi 4 发布 8G 内存版本

USB 2.0 插槽的位置卸下了开关模式电源,并在 USB-C 接口旁添加了一个新开关,这样可以提供更高的峰值电流以匹配 8GB 内存版本的需求。 操作系统镜像方面,现在 Raspberry Pi 支持 64 位,其包含与常规 32 位镜像相同的应用程序集和相同的桌面,不过只是针对 Debian arm64 构建的。同时现在开始,32 位和 64 位操作系统镜像都不再使用 “Raspbian” 这一名称,改用新的统一的名称:Raspberry Pi OS,这样更便于用户识记。 64 位镜像下载地址:https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370 在这一年时间里,Raspberry Pi 4 已经卖出了近 300...阅读全文

博文 2020-05-30 12:19:06 debian.cn

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

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

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

聊聊很重要的内核技术eBPF

中存储任何类型的据。内核将键和值视为二进制 blobs,它并不关心您在映射中保留的内容。 BPF验证程序包括多种保护措施,以确保您创建和访问映射的方式是安全的。当我们解释如何访问这些映射中的据时,我们也将解释这些保护措施。 当然BPF映射类型有很多,比如哈希表映射,组映射,Cgroup 组映射等,分别满足不同的场景。 2)验证器 BPF验证程序也是在您的系统上运行的程序,因此,对其进行严格审查是确保其正确执行工作的目标。 验证程序执行的第一项检查是对VM即将加载的代码的静态分析。第一次检查的目的是确保程序有预期的结果。为此,验证程序将使用代码创建有向循图(DAG)。验证程序分析的每个指令将成为图中的一个节点,并且每个节点都链接到下一条指令。验证程序生成此图后,它将执行深度优先搜索...阅读全文

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

25万次P/E循环 超级长寿的SLC SSD诞生

SLC、MLC、TLC、QLC……NAND闪存类型的进化一直是个争议话题,可靠性和寿命越来越差,或者说P/E编程擦写循越来越低,东芝甚至已经开始探讨PLC,不知道会渣成什么样。对于最初的SLC(每单元只保存1比特据),很多人都十分怀念,但如今已经几乎绝迹,只在极少特殊场合才能看到。 东芝正在打造可视为SLC加强版的XL-Flash,而高端固态存储厂商Greenliant最新打造的NANDrive EX系列SSD产品,更是应用了超长寿的SLC闪存。 Greenliant NANDrive EX并非消费级产品,而是面向高性能计算、工业、交通运输、视频和网络等特殊行业应用,特别是那些需要超长寿命、高可靠性的应用,能长久保持据完整。 它采用了Greenliant自家专门设计的...阅读全文

博文 2019-08-07 23:13:00 debian.cn

王垠:如何掌握所有的程序语言

法完成 你别跟我讲 for 循,函什么的了…… 可不可以等几个月,等我背熟了 printf 的用法再学那些啊? 所以你就发现一旦被差劲的老师教过,这个程序员基本就毁了。就算遇到好的老师,他们也很难纠正过来。 当然这是一个夸张的例子,因为 printf 根本不算是语言特性,但这个例子从同样的角度说明了次要肤浅的语言特性带来的问题。 这里举一些次要语言特性的例子: C 语言的语句块,如果里面只有一条语句,可以不打花括号。 Go 语言的函类型如果一样可以合并在一起写,比如 func foo(s string, x, y, z int, c bool) { ... } Perl 把正则表达式作为语言的一种特殊语法 JavaScript 语句可以在某些时候省略句尾的分号 Haskell 和...阅读全文

博文 2017-07-10 10:13:17 debian.cn

运维的未来:云服务兴起,运维人员会“下岗”吗?

都跟质量保证(QA)的未来走向相似。传统意义上的 QA 正从关注测试转向关注工具。工程师写代码、单元测试和集成测试。测试在 CI 上运行,代码通过 CD pipeline 和 canary 转出(rollout)来生产。QA 团队正在缩小,但是构建工具的团队正在增长——测试框架、CI 和 CD pipeline 。QA 能力现在已经嵌入发展团队中了。经由 Microsoft 和 Amazon 等公司普及的SDET 模式是这个方向的第一步。2014 年,Microsoft 转向了联合工程(Combined Engineering)模式,将 SDET 和 SDE(软件开发工程师)合并成一个角色,软件工程师,负责产品代码、测试代码和工具代码。 你们有没有注意到 QA 起的作用似乎在悄然消失?跟...阅读全文

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

说透IO多路复用模型_京东云开发者的博客

文件这块的原理描述的文章已经非常多了,所以这里我不再做过多的赘述,感兴趣的同学可以从Wikipedia翻阅一下。由于这块内容比较复杂,不属于本文普及的内容,建议读者另行自研,这里我非常推荐马士兵老师将linux文件系统这块,讲解的真的非常好。 select模型 此模型是IO多路复用的最早期使用的模型之一,距今已经几十年了,但是现在依旧有不少应用还在采用此种方式,可见其长生不老。首先来看下其具体的定义(来源于man二类文档): int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); 这里解释下其具体一:nfds,也即maxfd,最大的文件描...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

Cloudflare 推出 AutoRAG:简化 AI 系统开发流程

Cloudflare宣布Auto RAG(全托管检索增强生成服务)于2025年4月7日开放测试,该服务旨在简化情感知AI系统在应用中的集成流程。 Auto RAG利用自有据源与大语言模型实时结合,提高AI响应准确性,解决传统LLM知识时效性不足的问题。开发者此前需手动串联据存储、向量据库、嵌入模型等组件并处理索引更新,现由AutoRAG端到端托管。 > AutoRAG的核心功能为自动据摄取、分块嵌入、向量存储于Cloudflare Vectorize据库,以及基于语义检索生成智能响应。其流程包括: > > 索引构建:从支持Cloudflare R2的据源读取文件,转换为Markdown格式(含图像视觉-语言转换)、分块并生成嵌入向量; > > 查询处理...阅读全文

ChaosMesh 的基本功能有哪些

。IOChaos:模拟具体某个应用的文件 I/O 故障,例如 I/O 延迟、读写失败。TimeChaos:模拟时间跳动异常。KernelChaos:模拟内核故障,例如应用内存分配异常。平台类型故障:AWSChaos:模拟 AWS 平台故障,例如 AWS 节点重启。GCPChaos:模拟 GCP 平台故障,例如 GCP 节点重启。应用层故障:JVMChaos:模拟 JVM 应用故障,例如函调用延迟。混沌实验场景​混沌实验场景由一组混沌实验和应用状态检查组成,旨在帮助用户在平台上实现混沌工程闭。用户运行混沌场景,可以通过一系列的混沌实验,不断地扩大爆炸半径(包括攻击范围)和增加故障类型。运行混沌实验后,用户可以方便地检查当前的应用状态,判断是否需要进行后续混沌实验。同时用户可以不断地迭代混沌实验场景,积累...阅读全文

提问的智慧 – 全文

提问在学习中占据着重要的位置,很多人对知识好奇,却收效甚少,原因他们是尚未掌握正确提问的方法,因此,我尝试修改《提问的智慧》,发布出来。原作者是Eric S. Raymond,这篇文章在黑客界拥有很高的地位,指引无黑客前进,希望对你有用。 为何要做一个修改注释版? 试图做出一个容易阅读,方便理解,与时俱进,可以执行的提问执行方案。 原翻译为2010年,新版2013年,时隔2年有余,原作有变; 尊重原作的复制及引用协议[1]; 原翻译很好,检查中发现有些语句不顺,语意不准,或者已不符合现在语言规范,照王刚老师的版本进行修改; 附上自己的看法和注解,更加适合现在阅读使用。 每当有人来向我提问,我可以将他指引到这篇文章,可以减少很多的不必要的麻烦。 【本章注释】 [1]复制协议中注明了应用该...阅读全文

博文 2009-10-01 13:18:00 debian.cn

基于Inception & Yearning做SQL审核的实践

SQL审核是保证据库 DDL 和 DML 安全使用、SQL变更可追溯、降低线上据事故概率的重要手段。去哪儿网开源的 Inception 工具有较大的使用基础,提供了相对完善的 API 接口,结合一些外层的操作界面,可以实现SQL审核、执行、备份和恢复功能,为DBA操作利器。本文详细介绍如何配置 Inception 和 Yearning 的整合。 Inception Inception是一个自动化运维工具,在Mysql前做一个审核和操作的屏障。跟Inception的交互是程序级别的,即通过Python或其他程序编程实现对Inception的命令调用,并解析结果。 Inception的文档地址:http://mysql-inception.github.io/inception...阅读全文

博文 2018-08-13 17:39:45 debian.cn

最全的 DevOps 工具集合

动化软件领域的领导者、应用程序自动化领域的创新者,也是 DevOps 运动的创始人之一。Chef 与全球 1000 多家最具创新力的公司合作,以实现他们字化转型的愿景,并提供可快速交付软件的实践和平台。 Ansible Ansible 是一种开源的软件预备、配置管理和应用程序部署工具。它可以在许多类 Unix 系统上运行,既可以配置类 Unix 系统也可以配置微软 Windows。它自带声明式语言来描述系统配置。 Puppet Puppet 提供的能力可以定义系统所需的软件和配置,然后在初始设置后保持指定状态。 用户使用与 Ruby 类似的声明式领域特定语言(DSL)来定义指定或基础架构的配置。Puppet 使用称为 Facter 的一个实用程序获取系统信息,该程序跟随...阅读全文

博文 2021-05-26 14:35:21 博客园

Django 3.0 发布第一个版本 开始支持异步功能

Django 调用运行单个事件循,以使异步处理层与同步服务器兼容。 在这个改造的过程中,每个特性都会经历以下三个实现阶段: Sync-only,只支持同步,也就是当前的情况Sync-native,原生同步,同时带有异步封装器Async-native,原生异步,同时带同步封装器 Django 3.0 开始提供运行 ASGI 应用支持,让 Django 逐渐具备异步功能。做了这一改动后,Django 现在会感知到异步事件循,并将阻止从异步上下文调用标记为“异步不安全”的代码(例如 ORM 操作),如果开发者之前使用的是异步代码,则可能会触发。如果看到 SynchronousOnlyOperation 错误,可以仔细检查代码并将据库操作移到同步子线程中。 其它方面,Django 现在支持...阅读全文

博文 2019-09-13 07:21:28 debian.cn

InfluxDB 的 percentile 函数详解

官方文档的说明并不详细: https://jasper-zhang1.gitbooks.io/influxdb/content/Query_language/functions.html 实际百分位取第几位的值考如下 PERCENTILE(field_key, N) 选取某个字段中大于N%的这个字段值。 如果一共有4条记录,N为10,则10%*4=0.4,四舍五入为0,则查询结果为空。N为20,则 20% * 4 = 0.8,四舍五入为1,选取的是4个中最小的。如果N为40,40% * 4 = 1.6,四舍五入为2,则选取的是4个中第二小的。 由此可以看出N=100时,就跟MAX(field_key)是一样的,而当N=50时,与MEDIAN...阅读全文

Jonathan Carter 当选新一任 Debian 项目负责人

Debian 的 1011 位开发人员中,有 339 位在今年的选举中投了赞成票,与人与往年差不多,且相比几年前票还略有提高。 具体的投票过程与结果分析查看:https://www.debian.org/vote/2020/vote_001 新当选的 Jonathan Carter 在竞选“宣言”中写下了几个大目标: 继续做 Debian 做得好的事情。技术卓越、推广自由软件、分发新版本、稳定的版本更新。使 Debian 对贡献者有吸引力。使它成为一个有趣、有意义和受欢迎的项目,让更多贡献者有意愿与进来。更好地了解正在完成的工作。减少影响贡献者的瓶颈。收集有关阻碍个人在 Debian 中所做的事情的反馈,并找到减少这种摩擦的方法。改善在线协作。改善项目内务管理。关于支出和可用资金,具有更好的可...阅读全文

博文 2020-04-22 13:50:05 debian.cn

kubelet 中垃圾回收机制的设计与实现

kubernetes 中的垃圾回收机制主要有两部分组成:一是由 kube-controller-manager 中的 gc controller 自动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在每个节点上需要回收已退出的容器以及当 node 上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文

博文 2021-02-05 17:48:22 知乎

Linux 基金会创办LFN 旨在协调开源网络生态系统

Foundation)为例,它将Kubernetes和其他平台即服务(PaaS)云计划结合在一起。在过去的5年中,LFN项目大大加速了网络创新,使据网络在未来十年以前所未有的速度发展。” 在LNF下,每个项目都将继续按照现有的章程运作,保持技术的独立性,社区的亲和力,项目的发布路线图和以及网站的存在。 LFN 长远的目标是形成从网络协议栈到据平面到控制平面,协调,自动化,端到端(end-to-end )测试等的协作基础。LFN 有 83 个成员组织与: 90%排名前10位的开源网络项目 超过60%由与公司提供支持的全球移动用户 十大网络和企业供应商中的大多 顶级系统集成商 顶级云提供商 换句话说,LFN有了业务和开发者社区的支持,它就要有所作为。希望 LFN 能带来更好的跨项目协同效应,更快的采用...阅读全文

博文 2018-01-25 12:50:35 debian.cn

gRPC 1.23.0 发布,Google高性能 RPC 框架

器支持)移动到 Grpc.Core.Api(对于 v1.23.x 分支)(#19853)重构 ChannelCredentials 并移到 Grpc.Core.Api (#19712)C# 将主要版本提升为 2.x (#19796)添加 ChannelBase,更改 ClientBase 构造函 (#19599)删除 System.Interactive.Async 依赖项 (#19059)不要将 shutdownRef 计用于同步完成队列 (#19629)C# – 从取消注册中删除 allocation 和 boxing (#19610)csharp:删除 Timespec 上的双框 (#19525)C#:添加 System.Memory 依赖项并在内部对所有目标框架使用 Span...阅读全文

博文 2019-08-18 18:31:20 debian.cn

如何用 Privoxy 辅助科学上网

Privoxy 自己并【没有】对应的“代理服务器”。它仅仅是一款“客户端的代理工具”。 所以,本文标题用的是“辅助翻墙”——意思是说,Privoxy 起的是【辅助作用】。 ★下载和安装 (考虑到大部分读者用的是 Windows,所以俺拿 Windows 来说事儿;至于用 Linux 的同学,主流发行版的软件包应该都包含了 Privoxy,无需上 Privoxy 官网就可以安装) 用 Windows 的同学,到“官网首页”直接可以找到“下载页面”。进入该页面,然后选操作系统(Windows 用户就选 Win32);然后再选版本(通常选最新的【稳定】版)。 选完 Win32,再选版本号。通常就选最新版本(截止俺写本文时,最新版本是 3.0.22)。话说 Privoxy 的版本跟其它软件不太一样——它在...阅读全文

博文 2025-01-29 16:25:41 program-think.blogspot.com

Debian 相比 Ubuntu 有哪些不同之处

非常易于使用。如果你的工作习惯与这些概念不一致,可能会强烈反对Ubuntu易于使用这一观点。 然而,虽然Ubuntu源自Debian,但两者的区别还是很明显。从安装和桌面,到程序包管理及社区,大家认为自己对于Ubuntu和Debian了解的情况可能是错误的,或者至少需要作一些严格限制――这一切使选择哪个发行版适合贵公司的业务战略显得非常困难。 安装方面的区别 眼下,你可以使用哪个发行版取决于拥有的硬件。Debian目前面向大约13种硬件架构:从标准的32位和64位英特尔架构到ARM和PowerPC架构,还支持另外两种正在开发的架构。相比之下,Ubuntu支持32位和64位版本这两大不同的计算机桌面,现正在为移动设备开发Ubuntu ARM版本。 要考虑的另一个方面是面向每个发行版的安装程...阅读全文

博文 2017-12-22 23:41:07 debian.cn

“Debian 章程有毒” - OSCHINA

,DPL 代表 Debian 项目去进行关于 Debian 的演讲和演示、加贸易展览、与其他组织和公司建立良好的关系以及处理一些法律相关问题。也就是说,他是一个形象代表和官方发言人。 在内部,DPL应该与其他 Debian 开发人员交谈,尤其是与代表交谈,以了解他们如何协助开发者的工作。此外就是一些批准预算的财务事宜。也就是一些行政事务。 在多的公司或组织中,对外品牌和行政都不是核心业务部门,非常边缘化,这些职能常常会面临没有价值感、陷入繁杂琐事的困。与此同时,DPL 花费时间与精力并不少,却没有任何薪水回报。 这就不难理解为什么会有 DPL 不愿连任。比如,2019年那次轮空事件中接盘的 Sam Hartman,就在 2020年的竞选季中表示不再选。 02 开发者们的“共同意志” 那么...阅读全文

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

MySQL 8 第一个正式版发布:更好的性能

JSON 的支持,添加了基于路径查询从 JSON 字段中抽取据的 JSON_EXTRACT() 函,以及用于将据分别组合到 JSON 组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函。 9. 可靠性:InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现 DDL 时部分成功的问题,此外还支持 crash-safe 特性,元据存储在单个事务据字典中。 10. 高可用性(High Availability):InnoDB 集群为您的据库提供集成的原生 HA 解决方案。 11. 安全性:对 OpenSSL 的改进、新的默认身份验证、SQL 角色、密码强度...阅读全文

博文 2018-04-20 10:40:18 debian.cn

Proxy-Go v6.6 发布啦

持在 tls 和 kcp 之后进行自定义加密, 也就是说自定义加密和 tls|kcp 是可以联合使用的, 内部采用 AES256 加密, 使用的时候只需要自己定义一个密码即可。 底层压缩高效传输,http(s)\sps\socks 代理在 tcp 之上可以通过自定义加密和 tls 标准加密以及 kcp 协议加密 tcp 据, 在加密之后还可以对据进行压缩, 也就是说压缩功能和自定义加密和 tls|kcp 是可以联合使用的。 安全的 DNS 代理,可以通过本地的 proxy 提供的 DNS 代理服务器与上级代理加密通讯实现安全防污染的 DNS 查询。 负载均衡, 高可用,HTTP(S)\SOCKS5\SPS 代理支持上级负载均衡和高可用, 多个上级重复-P 即可. 指定出口 IP...阅读全文

博文 2018-12-01 09:52:14 Go v6.6 发布 新增智能模式

开源社区的运作模式:Debian Vs. Ubuntu

择更多,因此被官方定义了的与者也更多,但Debian具有明显更多的开发者人。虽然所有工作都是贡献者来完成,但最关键的权利还是只有少人才能获得。Ubuntu贡献者中,Canonical员工居多,63名核心开发人员中有36人使用 @canonical.com邮件后缀注册launchpad帐号,他们放在Ubuntu发行版上的时间比Debian成员更多,如果能比较一下他们的工时将非常有意思。 Debian已经意识到成员结构的缺点,就是否增设专门的打包人员也讨论过多次了,但遗憾的是每次都只是讨论讨论就结束了,始终没有拿出一个解决方案。 可能的演变 Ubuntu方面,底层结构变化最近已经结束,他们近期不再打算做出进一步变化,但他们计划让每个团队可以更好地控制与自身相关的包上传权限,这样可以让每个...阅读全文

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

Debian Jessie 稳定版 8.7 发布

Debian 项目宣布其稳定发行版 Debian 8(代号 jessie)已经发布第七次更新。这次更新主要将安全问题的更正添加到稳定版本,以及对严重问题的一些调整。安全警告已单独发布,在可用时可被引用。 请注意,此更新不构成 Debian 8 的新版本,而是仅更新部分软件包。所以没有必要丢弃旧的 jessie CD 或 DVD,只需在安装后通过 up-to-date Debian 镜像进行更新。 经常从 security.debian.org 安装更新的用户不必更新许多软件包,并且大多来自 security.debian.org 的更新都包含在本次更新中。 在线升级到此版本通常是通过将 aptitude(或apt)软件包工具(请阅 sources.list(5) 手册页)指向...阅读全文

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

批量ssh时,如何自动 kill 超时的ssh链接?

除了 ConnectTimeout 外,我们还可以在外部包装一层, 当 ssh 执行超时时,自动 kill 掉超时的 ssh 链接,样例如下: $ cat /tmp/ip`; do echo -n ++++++++++++++ $i\ ; timeout -s 9 3s ssh -o ConnectTimeout=2s -o ConnectionAttempts=1 $i md5sum /etc/resolv.conf ; done 这里 timeout 的含义是,如果3s没有返回,就发送signal 9,结束进程。...阅读全文

打破IP协议重塑互联网 华为能做到吗

的变更可能导致政府对互联网及其用户实行更集中、自上而下的控制,这将对安全和人权产生影响。 华为对此解释称,开发 New IP 只是为了满足快速发展的字世界的技术要求,并没有将任何一种控制机制做入到设计中。同时,华为还指出,New IP 的研究和创新向全世界的科学家和工程师开放,他们可以与进来,并为之贡献。 另外,关于安全方面的质疑,华为表示该架构将具有“关闭命令”功能,可以使中心点断开特定信号源的连接。 除了对 New IP 质疑,还存在从根本上否定 New IP 的观点。IETF(The Internet Engineering Task Force,互联网工程任务组)主席 Alissa Cooper 表示,互联网的发展是通过模块化和弱耦合的构建模块实现的,这是互联网的卓越之处。即使是...阅读全文

博文 2020-03-31 06:40:15 debian.cn