InfraPub 为您找到相关结果 156

Facebook 是如何进行大规模代码部署的

过多,以至于无法持续。 这个 CD 系统的关键组件是一种控制方法,即谁将接收变更,以及用于部署和测量的自动化工具。在第一步中,经过一系列自动化测试后,变更就从内部推送到 Facebook 员工。在这一阶段发现的任何回归,都会被认为这一进程受阻或者停止。下一步涉及到“ canary deployment ”(金丝雀部署),只推送至生产环境的 2% 。依靠连续的监测来测问题。如果一切顺利,这些变更将 100% 部署到生产环境中。名为 Flytrap 的工具收集用户报告,并发送任何异常情况的告警。 Facebook 中的 Web 和移动产品遵循两条不同的路径,原生移动变更的部署频率低于 Web 。这两个都由名为 Gatekeeper 的系统控制。除此之外,Gatekeeper 还分离出了部署和发...阅读全文

博文 2017-10-31 14:05:20 debian.cn

如何在 Linux 上安装 Intel 微代码固件

来维护、更新微码。使用包管理器的方法是经过测试的,对大多数用户来说是最安全的方式。 如何为 Linux 安装 Intel 处理器微码块(20180108 发布) 首先通过 AMD 或 Intel 网站 去获取最新的微码固件。在本示例中,我有一个名称为 ~/Downloads/microcode-20180108.tgz 的文件(不要忘了去验证它的验和),它的用途是去防范 meltdown/Spectre bug。先使用 tar 命令去提取它: $ mkdir firmware $ cd firmware $ tar xvf ~/Downloads/microcode-20180108.tgz $ ls -l 输出如下: drwxr-xr-x 2 vivek vivek 4096 Jan 8...阅读全文

博文 2018-03-07 19:37:47 debian.cn

HAProxy用法详解 最详细中文文档

处理部分流量同时又不修改服务器的地址成为可能。 性能 HAProxy借助于OS上几种常见的技术来实现性能的最大化。 1,单进程、事件驱动模型显著降低了上下文切换的开销及内存占用。 2,O(1)事件查器(event checker)允许其在高并发连接中对任何连接的任何事件实现即时探测。 3,在任何可用的情况下,单缓冲(single buffering)机制能以不复制任何数据的方式完成读写操作,这会节约大量的CPU时钟周期及内存带宽; 4,借助于Linux 2.6 (>= 2.6.27.19)上的splice()系统调用,HAProxy可以实现零复制转发(Zero-copy forwarding),在Linux 3.5及以上的OS中还可以实现零复制启动(zero-starting); 5,内存...阅读全文

博文 2014-05-10 17:14:46 debian.cn

使用 MongoDB 之前应该知道的 14 件事

MongoDB 是一个多租户系统,它会尽可能地占用内存,因此最好是安装在服务器上,最大限度地提供内存,即使是开发工作。在服务器上使用默认端口安装而不启用身份验证是在自找麻烦,尤其是可以在查询中运行任意 JavaScript 时(例如把$where 作为注入攻击的载体)。 身份验证方法有多种,但是用户 ID/密码凭证最容易安装和管理。当你考虑 基于 LDAP 的身份验证 时,可以采用那个方法。在我们谈论安全时,MongoDB 必须保持最新,而且,在日志里查找未授权访问的迹象总是值得的。我不喜欢使用默认端口。 忘记限制 MongoDB 的攻击面 MongoDB 的 安全查清单 为降低网络渗透和数据泄露风险提供了很好的建议。我们很容易会认为,开发服务器不需要高等级的安全。不是这样的:安全对于所有...阅读全文

Pyinotify – Linux中实时监控文件系统更改

核2.6.13或更高版本 Python 2.4或更高版本 如何在Linux中安装Pyinotify 首先查系统上安装的内核和Python版本,如下所示: # uname -r # python -V 一旦满足依赖关系,我们将使用pip来安装pynotify 。 在大多数Linux发行版中,如果您使用从python.org下载的Python 2> = 2.7.9或Python 3> = 3.4二进制文件, Pip已经安装,否则安装如下: # apt-get install python-pip 现在,像这样安装pyinotify: # pip install pyinotify 它将从默认存储库安装可用版本,如果您希望具有最新的稳定版本的pyinotify ,请考虑将其克隆为git仓库,如图...阅读全文

博文 2011-11-09 10:53:58 debian.cn

Debian系统如何从 Jessie 升级为 Stretch

、程序文件、数据库里的数据。如果有其他的服务,也需要判断是否要备份他们的配置文件。确定服务器上有哪些服务,除了用 ps -ef 查看外,用 netstat -lnp 查开放的端口也是一个不错的方法。 第一步:更新Debian Jessie 到最新版,这一步可有可无,个人觉得加上会比较稳妥一些, $ sudo aptitude update && sudo aptitude upgrade 这这一步可能会遇到一些提示,比如某个key找不到,报错如下: 143 packages can be upgraded. Run 'apt list --upgradable' to see them. W: There is no public key available for the...阅读全文

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

STIG for Debian 9发布

随着 Debian"Stretch" 9 的正式发布和大规模部署,HardenedLinux 社区也发布了 STIG(安全技术实现指南) for Debian 9 的版本,STIG 是美国国防部对 IT 设施的安全防护合规,其中也包含了 GNU/Linux 操作系统,自 STIG for Debian 8 发布已经有两年时间【注】,Debian 9 的 STIG 实现参照 RHEL 7,相比上一版,STIG for Debian 9 和 RHEL-STIG 有更高的耦合度,除了 SELinux 和少量条目需要手工测外,大部分都已经在 Debian 9 上实现了自动化,未来我们会继续完善 MAC/RBAC 基于 Debian 9 的替代方案以满足 STIG 的标准化合规。 【注】安全部署...阅读全文

博文 2017-07-13 13:40:35 debian.cn

Linux基金会推出ACT项目 帮助开发者遵守开源许可证

的资助和支持。” 据悉,目前已确定将成为 ACT 的一部分的四个项目为: FOSSology:开源许可证合规性软件系统和工具包,允许用户从命令行运行许可证,版权和导出控制扫描。 QMSTR:该工具创建了一个集成的开源工具链,可实现许可证合规性管理的行业最佳实践。QMSTR 集成到构建系统中,以了解软件产品及其来源和依赖性。开发者可在本地运行 QMSTR 以验证结果,查看问题并生成合规性报告。 SPDX Tools:软件包数据交换(SPDX)是用于传达软件物料清单信息的开放标准,包括组件、许可证、版权和安全参考。 Tern: 这是一款查工具,用于查找容器映像中安装的软件包的元数据。它可以更深入地了解容器的物料清单,从而可以更好地决定基于容器的基础架构、集成和部署策略。...阅读全文

博文 2018-12-09 13:32:56 debian.cn

Debian 9 Stretch 如何安全升级到 Debian 10 Buster(已验证)

统升级的过程。接下来,可以查一下系统的版本信息了; [root@debian /usr]# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster Debian 10 Buster 的主要变化,可以参考发布的这篇文章。...阅读全文

Knoppix 8.6 发布,GNU/Linux 系统

kernel 5.2.5 和 Xorg 7.7(核心 1.20.4) 来支持当前的计算机硬件。内核补丁:Cloop,aufs32 位和 64 位内核都支持新旧计算机,64 位版本还支持具有超过 4GB RAM 和 chroot 到 64 位安装系统崩溃修复任务的系统。如果测到具有 64 位功能的 CPU,引导加载程序将自动启动 64 位内核 (如果不是手动指定的话)。对于只能从 CD 启动的计算机,而不是从 DVD 或 USB 闪存笔启动的计算机,在“KNOPPIX”文件夹中放置了一个可启动的小型 CD 映像,该文件夹可以与完整的 USB 或 DVD 版本一起使用,以便在旧计算机上启动。QEMU-KVM 3.1 作为可编写脚本的虚拟化解决方案隐私增强的 tor 浏览器,可升级并可通过 knoppix...阅读全文

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

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

Kong发布新项目Kuma 通用的服务网格

追踪和日志功能,以此为快速调试提供监控数据支持。精细的路由和控制 :Kuma 提供细粒度的流量控制功能,支持四层路由的熔断和健康查。 Kuma 由 Kong 开发并提供支持,通过简化服务间的通信,以实现使数据随时随地可用的愿景。Kuma 的开发基于 150 余个企业在生产环境中使用服务网格的积累的经验。在未来 Kong 也会继续向 Envoy 贡献代码。 阅读 入门指南 了解 Kuma 服务网格的使用方法。...阅读全文

AWS 宣布赞助 Rust 语言

他们赞助该项目的原因: 性能。Rust 非常快且内存效率高:没有运行时或垃圾收集器,它可以为关键性能服务提供支持,可以在嵌入式设备上运行,并且可以轻松地与其他语言集成。可靠性。Rust 的丰富类型系统和所有权模型保证了内存安全性和线程安全性,并能使开发者在编译时消除许多类的错误。生产率。Rust 拥有出色的文档,友好的编译器以及有用的错误消息以及一流的工具——集成的软件包管理器和构建工具,具有自动完成和类型查的智能多编辑器支持,自动格式化程序等。 接着,AWS 还列举了几个优秀的 Rust 库,并称赞了它的包容性社区,最后表示“Rust 连续四年被评为 Stack Overflow 的最受欢迎语言不足为奇”。 对于 Rust 来说,它可以使用 AWS 服务来执行以下操作: 在 S3 上存储...阅读全文

博文 2019-10-17 22:42:27 debian.cn

Debian Stretch 安装配置 Jenkins

二步:安装JDK 和 jenkins # aptitude update # aptitude install -y jenkins openjdk-8-jdk 查安装JDK,和Jenkins包的状态, # java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1~deb9u1-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) # dpkg -L jenkins /usr/share/jenkins/jenkins.war /etc/default/jenkins /etc...阅读全文

博文 2019-11-29 14:39:43 debian.cn

思科前员工离职后删库 直接损失达240万美元

美国察官办公室和联邦调查局于当地时间 8 月 26 日发公告,称思科前员工 Sudhish Kasaba Ramesh 当日在圣何塞联邦法院认罪,承认自己非法入侵思科公司的云基础设施,并破坏大量资源,造成难以挽回的损失。Sudhish Kasaba Ramesh 曾于 2016 年 7 月至 2018 年 4 月供职于思科。 2018 年 9 月 24 日,在离职五个月后,Ramesh 在未经许可的情况下,擅自访问思科托管在 Amazon Web Services 的云基础设施。他从自己的 Google Cloud 项目账户中部署了一段代码,导致 456 个 WebEx Teams 应用程序的虚拟机被删除。WebEx Teams 是思科公司一款较为受欢迎的协作办公软件,该应用程序提供视频...阅读全文

博文 2020-08-29 10:27:23 debian.cn

Linux 基金会宣布成立 DizmeID 基金会

特性和业务模型的第 4 层上。Dizme 生态系统预计将包括利用 Hyperledger堆栈和添加基于Algorand 区块链协议的货币化层的各种技术组件,这将使可验证凭证的交换和新的垂直应用程序的开发成为可能。身份凭证通过三个级别的保证进行管理:低级别的自我声明信息;中等级别的自动查;以及可靠的实质性标识。这些级别的保证将使行业拥有更安全、创新和成本效益高的入职流程。 Linux基金会成立于 2000 年,有超过 1000 名成员支持,是世界上在开源软件、开放标准、开放数据和开放硬件方面进行合作的主要机构。Linux 基金会的项目对包括 Linux、Kubernetes、Node.js 等等。作为 Linux 基金会的一部分,DizmeID 基金会将利用开放治理和区块链技术社区的现有创新...阅读全文

十条关于 WordPress 安全性的小贴士

面的代码来删除该信息: remove_action('wp_head', 'wp_generator'); 9. 理智选择第三方插件和主题 WordPress 的插件和主题拥有着用户梦寐以求的功能。但一个不好的插件会影响性能、泄露隐私数据或授予使用者另一种访问方式。除非绝对必要,否则最好避免安装代码。而且在进行在线安装时,还要注意验证插件的真实性并在本地服务器上进行测试。 10. 定期更新 WordPress 和插件 WordPress 会自动更新,但主要版本需要一键激活过程。当然,在备份数据库和文件之后再更新。同样地,记得定期查主题和插件的更新。 风险规避应该在更新在线系统之前测副本测试服务器上的更新。也就是说,WordPress 更新过程和向后兼容性很少引起问题。 还有其他快速和简单...阅读全文

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

谷歌开源了代码评审规范:好坏代码应这样来判断

谷歌开源了一套代码评审(Code Review)规范,它是谷歌一套通用的工程实战指南,几乎涵盖了所有编程语言与各种类型的项目,这个规范代表了谷歌长期发展以来最佳实战经验的集合,谷歌表示希望开源项目或其他组织能够从这套规范中受益。 代码评审,也称代码复查,如果一个团队正在使用任务分支工作流,那么在所有代码编写完成并通过自动化测试之后,在代码合并之前,就会启动代码评审。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平,代码评审的所有工具和过程都是为了这个目的而构建的。代码评审对于敏捷团队来说的作用如下: 代码评审共享知识通过代码评审可以更好的进行工作评估代码评审能让你享受休假通过代码评审指导新工程师 既然代码评审要进行众多的查,那么找一个优秀的评审者就非常重要了。一般对于变更列...阅读全文

博文 2019-09-10 17:19:13 debian.cn

Kubernetes v1.21 新特性预览

IPv4 和 IPv6 两个地址。注意,如果使用了 CNI 插件和云服务商扩展(Cloud Provider),CNI 插件和云服务商扩展也需要支持 IPv4/IPv6 双栈。CSIVolumeHealth Alpha 和 CSIStorageCapacity Beta从 v1.21 开始,Kubernetes 支持 CSI 存储插件的 Volume 健康查(Alpha 版),CSI 插件需要实现外部健康监控控制器。当 Volume 或者 Node 出现异常时,该控制器会向 Volume 所属的 PVC 以及使用该 PVC 的 Pod 发送一个异常事件。CSIStorageCapacity 用于跟踪 CSI 存储容量并确保 Pod 调度到足够存储容量的节点上。该特性从 v1.21 开始进入...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

新加坡华侨银行(OCBC) 零门槛开户 使用APP在家即可申请

状态。这一步遇到困难,可以参考这个 Youtube 视频。​6 APP读取的时候会跳出测,这时候不要动,等待读取完毕。同样需要一些耐心,多试试,不难。​7 给身份证拍个照。点击【下一个】开始给身份证正面拍照。点击【下一个】开始人脸识别,这一步开始人脸验证。注意,不要裸露上身。​8 这些信息填完之后,点击【提供我的详细信息】,开始填写自身国家、职业、公司等详细信息。在这之前,首先是查你之前填写的姓名和邮箱等信息。​9 选择工作类型,选择【受雇】或者【自雇】。填写税务信息。纳税人识别号为自己身份证号。​10 这里选择 【不,我未曾/没有担任重要的公职,也不是一名已/被委托担任公共职务的公共职者 的家庭成员或关系亲近的人】然后,勾选电子邮件和短信,☑️ 勾选 【本人确认懂英文,并同意以英文形式...阅读全文

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

述符递增一。这里之所以传最大描述符,为的就是在遍历fd_set的时候,限定遍历范围。 参数二:readfds,可读文件描述符集合。 参数三:writefds,可写文件描述符集合。 参数四:errorfds,异常文件描述符集合。 参数五:timeout,超时时间。在这段时间内没有测到描述符被触发,则返回。 下面的宏处理,可以对fd_set集合(准确的说是bitmap,一个描述符有变更,则会在描述符对应的索引处置1)进行操作: FD_CLR(inr fd,fd_set* set) 用来清除描述词组set中相关fd 的位,即bitmap结构中索引值为fd的值置为0。 FD_ISSET(int fd,fd_set *set) 用来测试描述词组set中相关fd 的位是否为真,即bitmap结构中某一...阅读全文

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

HTML 5.1 — 14 项新增特性及使用案例

5.1 中被引入的新的功能特性和功能提升。你不需要动 JavaScript 就可以利用上这些功能特性。并非所有的浏览器都支持这些功能特性,因此你最好是在将它们应用于生产环境之前先查一下浏览器的支持情况。 14. 预防网络钓鱼攻击 大多数使用 target='_blank' 的开发者都不了解一个事实——最新打开的标签可以改变 window.opener.location 到一些钓鱼网页。它将会在已打开的网页,以你的名义执行一些恶意 JavaScript 代码。因为用户相信已经打开的网页,他们不会起疑心。 为了彻底解决这个问题,HTML5.1 已经标准化 rel=”noopener”的使用属性,与浏览器的上下文环境分开。rel=”noopener” 允许在 标签之间使用...阅读全文

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

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

] TASK [install Pod network] ***** changed: [master] PLAY RECAP **** master : ok=5 changed=4 unreachable=0 failed=0 要查主节点的状态,请使用以下命令通过SSH连接到该节点: ssh sammy@master_ip 进入主节点后,执行: kubectl get nodes 您现在将看到以下输出: OutputNAME STATUS ROLES AGE VERSION master Ready master 1d v1.14.0 输出指出master节点已完成所有初始化任务并处于Ready状态,从该状态开始,它可以开始接受工作节点并执行发送到API服务器的任务。 您现在可以从本地计算机添加...阅读全文

博文 2019-05-13 22:57:41 debian.cn

Kubernetes源码探疑:Pod IP泄露排查及解决方法

SPEC期望状态做同步。下面源码流程图可以总结上述流程。 SyncPod:我做错了什么? SyncPod首先计算Pod中所有容器的当前状态与该Pod API期望状态做对比同步。这一对比同步分为两个部分: 查podCache中的Sandbox容器的状态是否满足此条件:Pod中有且只有一个Sandbox容器,并且该容器处于运行状态,拥有IP。如不满足,则认为该Pod需要重建Sandbox容器。如果需要重建Sandbox容器,Pod内所有容器都需要销毁并重建。查podCache中非Sandbox容器的运行状态,保证这些容器处于Pod API Spec期望状态。例如,如果发现有容器主进程退出且返回码不为0,则根据Pod API Spec中的RestartPolicy来决定是否重建该容器。 回顾前面提到...阅读全文

最全 MongoDB 基础教程

会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。 autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。 size 数值 (可选)为固定集合指定一个最大值,以千字节计(KB)。如果 capped 为 true,也需要指定该字段。 max 数值 (可选)指定固定集合中包含文档的最大数量。 在插入文档时,MongoDB 首先查固定集合的 size 字段,然后查 max 字段 实例 # 在test数据库中创建ruochen 集合 use test db.createCollection('ruochen') # 查看已有集合 show collections db.createCollection('test...阅读全文

博文 2021-02-22 07:45:45 OSChina

三大浏览器敦促网站管理员更换 SHA–1 认证

Mozilla 也跟进,之后是Microsoft。在2015年中期,这些公司雄心勃勃移除SHA-1计划曾被推迟。主要是考虑到现在有很多不支持新算法的老设备,它们的Web访问会因此被切断。 对于网站的运营人员而言,查一个网站是否正在使用基于SHA-1的认证并非难事。 查看英文原文:Google, Microsoft, and Mozilla Urge Site Operators to Replace SHA–1 Certificates 中文稿源:InfoQ...阅读全文

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

树莓派64位系统Debian 9先行测评:性能最高提升30倍

-threads=1000 --thread-yields=1000 --thread-locks=8 run #互斥锁测试 sysbench --test=mutex --mutex-num=4096 --mutex-locks=50000 --mutex-loops=10000 run #连续读写: sysbench --test=fileio --file-num=2 --file-total-size=64M --file-test-mode=seqrewr run #随机文件读写: sysbench --test=fileio --file-num=2 --file-total-size=64M --file-test-mode=rndwr run #进入系统查系统版本信息及硬件架构平台信息...阅读全文

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

Ruby 2.5.0 稳定版发布

法代码覆盖。分支代码覆盖指查哪些分支被覆盖到,哪些没有。而方法覆盖在指可以测量方法是否被调用。基于这些新特性运行你的测试用例,你可以精确地知道哪些分支和方法被运行,并更精确地计算测试的代码覆盖程度。[功能 #13901] 新增 Hash#slice [功能 #8499] 和 Hash#transform_keys。[功能 #13583] Struct.new 现在可以被用于创建含有关键字参数的类。[功能 #11925] Enumerable#any?, all?, none? 和 one? 可以接受一个模式作为参数。[功能 #11286] 删除顶层常量查找。[功能 #11547] 我们最喜爱的库之一 pp.rb,现已自动加载。无需手动写 require "pp" 来加载。[功能...阅读全文

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

Debian 环境中安装git服务器 Gogs(下)

systemctl enable gogs 使用下面的命令开启 Gogs 服务器并设置为开机启动。 Gogs 服务器现在已经运行在你的 Debian 系统上了。 使用下面的命令测: netstat -lnptu systemctl status gogs 您应该会得到下图所示的结果。 步骤 7 - 为 Gogs 安装和配置 Nginx 反向代理 在本步中,我们将为 Gogs 安装和配置 Nginx 反向代理。我们会在自己的库中调用 Nginx 包。安装 Nginx, sudo apt update sudo apt install nginx -y 进入 /etc/nginx/sites-available 目录并且创建虚拟主机文件 gogs,粘贴下面的代码到配置文件: server { listen...阅读全文

博文 2018-03-10 09:52:28 debian.cn

如何在 Nginx 中配置 gRPC 的代理

/ { grpc_pass grpc://localhost:50051; } } 示例里在nginx层给gRPC服务添加了ssl证书,而内部代理到gRPC服务器仍然是使用明文的交互方式,也就是在Nginx层,做到了SSL offloading。 gRPC客户端也是需要TLS加密。如果是使用自签名证书等未经信任的证书,客户端都需要禁用证书查。在部署到生产环境时,需要将自签名证书换成由可信任证书机构发布的证书,客户端也需要配置成信任该证书。 代理加密的gRPC 如果Nginx内部代理的gRPC也需要以加密的方式交互,这种情况就需要把明文代理协议grpc://替换为grpcs://。这首先要gRPC服务器是以加密的方式发布服务的。Nginx层修改如下: grpc_pass grpcs://localhost...阅读全文

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

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

/gnu/bison/bison-2.5.tar.bz2 解压缩:tar xf bison-2.5.tar.bz2 进入目录:cd bison-2.5 查并编译源码:./configure && make && make install 其中编译问题用以下方式解决 解决编译问题:https://www.cnblogs.com/hjj801006/p/3988220.html 拷贝启动文件: cd /root/inception/debug/sql cp Inception gen_lex_hash /usr/local/bin/ 制作配置文件 cat /etc/inception/inc.cnf [inception] general_log=1 general_log_file=/var...阅读全文

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

Kubernetes 1.16.0发布 新版本四大主题

Network Proxy 在 1.16 版本中进入 AlphaCloud Controller Manager Migration 增强继续淘汰 extensions/v1beta1、apps/v1beta1 和 apps/v1beta2 API,这些扩展会在 1.16 版本中被弃用 已知的问题: etcd 和 KMS plugin 的健康查没有在新的 livez 的 和 readyz 端点中公开。这将在 v1.16.1 中得到修正。 运行iptables 1.8.0 或更新版本的系统应以兼容模式启动它。请注意,这将影响所有版本的 Kubernetes,而不仅仅是 v1.16.0。 升级前须知: 集群生命周期 amd64 的容器镜像 tar 文件现在将包含 RepoTags...阅读全文

博文 2019-09-20 13:28:32 debian.cn

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

项目认识到 systemd 服务单元是用于描述如何启动守护程序/服务的首选配置。但是,Debian 仍然是一个环境,开发者和用户可以在其中探索和开发替代的初始化(init)系统和 systemd 功能的替代方案。那些对探索此类替代方案感兴趣的人需要提供必要的开发和打包资源来完成这项工作。在运行依赖于某些 systemd 接口的软件时,有助于探索替代方案的诸如 elogind 之类的技术对于 Debian 仍然很重要。更重要的是,Debian 团队必须支持开发此类技术的开发者的工作,这些技术与 Debian 项目的其余部分之间存在重叠,例如,及时查补丁并参与讨论。软件包应包括服务单元或启动脚本,以启动守护程序和服务。软件包可以由软件包维护者自行决定使用任何 systemd 工具,只要这与其他...阅读全文

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

Debian软件包常用管理命令整理

apt-get check #查破损的依赖关系 $ sudo apt-get autoclean #自动清楚apt-get缓存 软件包卸载 $ sudo apt-get remove pkgname #删除已安装的软件包(保留配置文件) $ sudo apt-get purge pkgname #卸载软件,同时删除配置文件 $ sudo apt-get autoremove pkgname #彻底自动卸载软件,删除该软件包及所依赖的,以及不再使用和未使用的软件包 在清理本地缓存时,我们会用到 apt 的 clean 命令。值得一提的是,apt-get autoclean 和 apt-get clean 是略微有区别的。 APT的底层包管理器是dpkg, dpkg 安装软件包时, 会将...阅读全文

树莓派4上如何安装 Raspbian Buster

载好操作系统后,会得到一个zip的压缩文件。先解压,我们会用到里面的一个 .img 格式的操作系统镜像文件。文件准备好后,就可以进入下一步操作了。 在SD卡中灌入系统 这一步,我们需要下载一个软件,以便录入系统。虽然 RaspberryPi Foundation推荐使用 Etcher,但个人建议使用 Win32DiskImager,操作比较简单,录入成功率也比较高。 运行 Win32DiskImager 后,可以看到上图。打开首选的磁盘映像器,然后选择您的SD卡。通过在资源管理器中查确认 SD卡驱动器 的名称,确保它是你的microSD卡,而不是其他驱动器。 注意:如果您不小心选择了错误的驱动器,则会丢失大量数据。 一旦你确认了SD卡的设备名,就可以选择第一步中,准备的 .img。在...阅读全文

博文 2020-02-04 19:33:29 debian.cn

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

编辑——编译——刷新——测试(edit-compile-flash-test)周期。 这些测试都是自动完成的,用户无需离开自己的代码编辑器。此外,还可以使用 pw_target_runner 模块在多个设备上并行运行测试,从而节省更多时间。 团队开发代码需要强调一致性,然而,设置 lint、配置代码格式以及添加自动的提交前查等通常会使这项工作无限期延迟。这时,Pigweed 的 pw_presubmit 模块可派上用场。它会基于用户可能已经使用的工具提供现成的 Lint 集成套件,并预先配置好,可以立即供微控制器开发人员使用。 至于该项目为什么取名为 “Pigweed”,谷歌给出了解释:“Pigweed,又称 amaranth ,是一种营养丰富的谷物和绿叶沙拉菜,也是一种快速生长的杂草...阅读全文

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

Linux 5.11窗口合并期今天结束 引入大量新特性

Linux Kernel 5.11 为期两周的窗口合并期即将于今天结束。Linux 5.11 合并了很多新特性和令人激动的改进,正式版将会在明年 2 月和大家见面。Linux 5.11 作为非 LTS 长期支持版本,是 2021 年首个主要的稳定内核版本。 Linux Kernel 5.11 新版本的工作量比较繁重,主要涉及了大量英特尔和 AMD 的更改,改进 Syscall User Dispatch 以便于让 Wine 运行更新的 Windows 游戏,持续 IO_uring 改进,优化 Btrfs 文件系统,并会整合联想贡献的 ThinkPad 掌托传感器测等。 在英特尔方面,经过多年的努力 Linux 5.11 中将合并 SGX Enclaves,英特尔的图形驱动也支持整数缩放支...阅读全文

博文 2020-12-28 10:14:35 debian.cn

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

负责任的选项。 在每个操作系统使用周期内,谷歌还面临软件包重大版本升级的挑战,因为这可能需要对软件配置进行重大改变。为了让这个过程自动化,谷歌工程师编写了一个无人值守的升级工具来处理很多常见的问题。这种“自动化升级”意味着大多数谷歌员工无需通过重新安装机器,并重新创建所有配置来手动升级。不过为了实现这一点,谷歌需要对升级过程进行全面测试,并查所有已更改的主要软件包是否继续运行(在 Ubuntu 中,主要版本之间的升级可能多达数千个软件包)。有时,在发生软件包弃用且工程师必须决定如何推进的情况下,很难提供自动化。 据称,谷歌完成所有 Goobuntu 的升级通常要花费一年的时间,整个过程对于团队来说是一个巨大的压力。而且很多时候他们遇到的一些 bug 已经在上游被修复了,但这些改进却从未被合...阅读全文

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

Netty+Nacos+Disruptor自研企业级API网关

。 TypeScript:TypeScript是JavaScript的超集,它可以增加类型查、接口声明等特性,减少错误和提高可读性。 NestJS:NestJS是一种流行的Node.js框架,它采用面向对象的编程方式,提供了路由、中间件、模块化等丰富的功能。 GraphQL:GraphQL是一款优秀的数据查询和操作语言,它可以帮助我们快速构建API,并减少网络传输的数据量。 功能设计 我们将开发一个电商平台,包含以下主要功能: 用户管理:用户可以注册、登录、修改个人信息等,管理员可以查看用户列表并进行管理。 商品管理:管理员可以添加、修改、删除商品信息,包括商品名称、价格、库存、图片等。 购物车:用户可以将商品加入购物车,并在结算时进行支付。 订单管理:管理员可以查看订单列表、订单详情、订单状态等。 开发流程 下面是全栈开发的开发流...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

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

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

使用 Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的编程语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中编写程序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的程序员也无法可靠地这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,程序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要程序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时查边界。它肯...阅读全文

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

Facebook 开源的一组 Linux 内核组件与工具

题。 Cgroup2:https://facebookmicrosites.github.io/cgroup2/ Cgroup2 是下一代 Linux 内核机制,用于分组和构造工作负载,以及控制分配给每个组的系统资源量。它具有内存、I/O、中央处理单元等控制器,它还允许隔离工作负载,并为每个工作负载确定资源分配的优先级和配置。 PSI:https://facebookmicrosites.github.io/psi/ PSI(Pressure Stall Information,压力失速信息)首次提供了一种规范,通过内存、CPU 和 I/O 这三种主要资源的新压力指标来量化资源短缺。这些压力指标与此次开源的其它内核和用户空间工具相结合,可以在智能开发和响应时测资源短缺。PSI 统计数据为即...阅读全文

博文 2018-11-24 09:27:14 debian.cn

Linux下多线程程序为什么消耗大量虚拟内存

,跑至内存不再增加,果然valgrind显示没有任何内存泄露。反复试验了很多次,结果都是这样。 在多次使用valgrind无果以后,我开始怀疑程序内部是不是用到mmap之类的调用,于是使用strace对mmap,brk等系统函数的测: strace -f -e"brk,mmap,munmap" -p $(pidof AuthServer) 其结果如下: [pid 19343] mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f53c8ca9000 [pid 19343] munmap(0x7f53c8ca9000, 53833728) = 0 [pid 19343...阅读全文

博文 2015-01-28 10:35:39 debian.cn

社交巨人Facebook使用Linux和Btrfs的姿势

针对性地使用Btrfs的一些特性来提高我们手头工作的性能。我们比较关注在系统任务管理、快照之类的事情上。 Linux.com:我们都知道Facebook是Linux的重度用户。在Facebook庞大的基础设施里,哪些地方用到了Linux? Chris Mason:简单地说,Facebook所有的基础设施都使用了Linux。围绕分布式操作系统我们利用了Btrfs的很多特性,比如分布式任务管理、利用快照功能快速更新以及哈希校验功能,等等。 我们在相当数量的机器上运行着Gluster——既支持XFS也支持Btrfs,我们的目标就是做好存储这件事。在Gluster上喜欢用Btrfs的其中一个原因是,数据循环冗余校验(cyclic redundancy checks)和元数据循环冗余校验使我们能够测...阅读全文

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

Ceph 12.2.0 正式版本发布, 代号 Luminous

。 RBD import 和 copy命令现在可以测稀疏并保留稀疏区域。 快照可以包含创建时间戳。 为RBD客户端指定了用户授权功能简化。 使用RBD功能配置文件的一般语法是“mon’profile rbd’osd’profile rbd [-read-only] [pool = {pool-name} [,…]]’”。 CephFS 多MDS已经稳定,主MDS数量可以根据需求进行调整。 CephFS目录分片已经稳定的,默认情况下在新的文件系统上启用。 要使其在现有的文件系统上启动,要使用“ceph fs set allow_dirfrags”。大型或非常繁忙的目录被分割并(可能)自动分布在多个MDS后台驻留程序中。 在不需要自动负载均衡的情况下,目录子树可以明确固定到特定的...阅读全文

博文 2017-08-31 13:36:49 debian.cn

Debian 10.8 发布:包括多项安全更新和错误修复

/src:fcitx) | 修正Flatpaks中的输入法支持 | | [file](https://packages.debian.org/src:file) | 默认情况下,将名称递归深度增加到50 | | [geoclue-2.0](https://packages.debian.org/src:geoclue-2.0) | 查最大允许的准确度水平,即使是对系统应用程序也是如此;使Mozilla API密钥可配置,默认使用Debian特定的密钥;修复使用指示器的显示 | | [gnutls28](https://packages.debian.org/src:gnutls28) | 修复证书过期导致的测试套件错误 | | [grub2](https://packages.debian.org...阅读全文

博文 2021-02-07 10:57:22 joseph

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

。 Netpoll Netpoll 是字节跳动内部的 Golang 高性能、I/O 非阻塞的网络库,专注于 RPC 场景。 RPC 通常有较重的处理逻辑(业务逻辑、编解码),耗时长,不能像 Redis 一样采用串行处理(必须异步)。而 Go 的标准库 net 设计了 BIO(Blocking I/O) 模式的 API,为了保证异步处理,RPC 框架设计上需要为每个连接都分配一个 goroutine,这在空闲连接较多时,产生大量的空闲 goroutine,增加调度开销。此外,net.Conn 没有提供查连接活性的 API,很难设计出高效的连接池,池中的失效连接无法及时清理,复用低效。开源社区目前缺少专注于 RPC 方案的 Go 网络库。类似的项目如:evio、gnet 等,均面向 Redis、Haproxy...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

译:Kubernetes 最佳实践

如,一组开发人员可能只能访问名为 dev 的命名空间,并且无法访问 production 命名空间。 将不同团队限制在不同命名空间的能力对于避免重复工作或资源冲突可能很有价值。还可以针对命名空间配置 LimitRange 对象,以定义部署在命名空间中的容器的标准大小。ResourceQuotas 还可用于限制命名空间内所有容器的总资源消耗。可以对命名空间使用网络策略来限制 pod 之间的流量。使用就绪和存活探针Readiness(就绪)和 Liveness(存活)探针本质上都是健康查的类型。这些是在 K8s 中使用的另一个非常重要的概念。就绪探针确保仅当 pod 准备好为请求提供服务时,才会将对 pod 的请求定向到它。如果它还没有准备好,那么请求将被定向到其他地方。为每个容器定义就绪探针...阅读全文

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

journalctl 清理journal日志 - 九重霄

在CentOS 7开始使用的systemd使用了journal日志,这个日志的管理方式和以往使用syslog的方式不同,可以通过管理工具维护。 使用df -h查磁盘文件,可以看到/run目录下有日志目录/run/log/journal,占用了数G空间 Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 8.5G 4.2G 4.4G 49% / tmpfs 16G 1.6G 15G 11% /run 在日志目录下有很多历史累积的日志。 查当前journal使用磁盘量 journalctl --disk-usage 清理方法可以采用按照日期清理,或者按照允许保留的容量清理 journalctl...阅读全文

博文 2021-02-05 15:43:28 博客园