InfraPub 为您找到相关结果 545

LFS 8.0 正式发布:从零开始编译自己的 Linux 发行版

,另有两个变种1.CLFS Sysroot 采用Sysroot的方法来进行编译,好处是软件包的编译次数可以减少,坏处是不能支持在编译后对软件进行测试,必须要启动到目标平台上才能测试。 2.CLFS Embedded 一般用于极小系统以及嵌入式系统。为此,它使用uclibc而不是一般LFS使用的glibc。 Automated Linux From Scratch(ALFS) 标准LFS只是一本书,用户需要根据书上的指引下载软件包并手动输入指令进行编译。ALFS子项目提供了把这一切自动的脚本。 Hardened Linux From Scratch(HLFS) 这个子项目致力于打造在安全性上无懈可击的Linux系统。 Hints 收集一些解释性、增强性的文档,以协助用户 LiveCD 利用...阅读全文

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

OpenJDK 14 性能提升,但 OpenJDK 8 仍是王者

Bork 文件加密软件包进行测试,在经过测试的版本中,性能基本上没有变。 自 OpenJDK 8 以来,DaCapo 的 H2 基准被建模为类似于 JDBCbench 的内存中(in-memory)基准,其性能得到了很好的提升,与此前的版本相比,OpenJDK 14 再次以微弱的优势获得了第一名。 可以看到,基于 Python Pybench 的 Jython 基准测试也是 OpenJDK 8 拥有最佳成绩的众多案例之一。 在运行 Daytrader 基准测试的 Tradebeans 测试中,OpenJDK 14 再度以微弱的优势拿下最佳的成绩。 就像打乒乓球一样,Renaissance 的 Scala Dotty 基准测试提供了一个类似的例子,说明 OpenJDK 的性能也会上下波动。在此次测...阅读全文

博文 2020-03-22 08:46:01 debian.cn

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

Redis 创始人兼核心开发者 antirez 在博客 介绍 了将在 Redis 6 提供的新功能 —— Client side caching(客户端缓存)。 antirez 表示 全新的 Redis 协议 RESP3 将是 Redis 6 中最重要的特性,并解释了他为何如此急切地改进 Redis 协议,原因主要有两个,一是因为希望能为客户端提供更多的语义回复(semantical replies),以开发使用旧协议难以实现的功能;另一个原因也是 antirez 认为最重要的一个,实现 Client side caching(客户端缓存)功能 。 这个功能十分常见,但 Redis 尚未提供。 当使用者需要进行快速存储或快速取操作时,就需要在客户端内存中存储一小部分信息,这是为了降低程序...阅读全文

Scrapy 架构及数据流图简介

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...阅读全文

博文 2017-07-23 22:56:26 debian.cn

Linux Systemd被爆远程漏洞 CVE-2017

在 Systemd (linux 操作系统流行的 init 系统和服务管理器) 中发现了一个关键漏洞, 这使得远程攻击者有可能触发缓冲区溢出, 从而通过 dns 响应在目标计算机上执行恶意代码。 Systemd是什么 systemd 是一种系统初始程序。和 sysVinit 以及 upstart 一样,systemd 会成为系统开机时启动的第一个进程(至少 PID 是 1),由它掌管计算机接下来要做的事情,例如读取 fstab 挂载磁盘和按照 runlevel 的设定启动各种服务。其安全的重要性不言而喻。 Systemd远程代码执行漏洞 CVE-2017-9445 该漏洞编号 CVE-2017-9445 ,实际上驻留在 " systemd-resolved " 的...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

通过 Hostapd 进行 WIFI 热点共享上网

操作系统:Debian Gnu/Linux Jessie 内核: linux-image-4.3.0-0.bpo.1-amd64 网卡:腾达(Tenda) W311M 150M Mini无线USB网卡 最近发现自己的Debian之前可以使用GNOME3下的networkmanager进行WIFI共享上网功能因为内核升级导致无法使用。无奈只好再次通过Hostapd来进行WIFI热点设置,同时为了更块的DNS解析,本次顺便也在本地安装了dnsmasq软件实现了本地的DNS查询服务,成功恢复了我的小本本作为热点的能力。总结方法如下: 1、准备环境: 1.1执行vi /etc/apt/sources.list,并添加如下源地址: deb http://ftp.cn.debian.org...阅读全文

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

Django 采用新的项目治理模式

,Django 软件基金会)的付费承包商 Django Fellows 合并,或者由少数活跃用户合并。Django 的所有版本现在都由 Fellows 发布。 也就是说核心 committer 团队在项目中几乎没有直接参与 Django 相关流程,并且关于 Django 开发中的几乎所有技术决策都不是在 committer 之间讨论和决定的,而是在任何人都可以参与的公共论坛上通过共识决定的。 这样的情况影响了社区中开发者的参与,也影响了 Django 项目的长期健康发展,所以社区内一直以来都在讨论改革。 Django 社区近日通过了 Django 项目新治理模型的提案 DEP 10,目前正在实施的一些变如下: 之前的核心 committer 团队解散,相关成员的 commit 权限也将被删除。目前正在...阅读全文

博文 2020-03-26 08:51:49 debian.cn

Kubernetes 1.18 发布

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 对象的字段变更,确保用户及时了解哪些资源在何时进行过更改。 使用...阅读全文

博文 2020-03-27 18:28:34 debian.cn

Kubernetes 1.16.0发布 新版本四大主题

广泛使用一个全局 metrics registry 来注册要公开的 metrics。通过实现 metrics registry,metrics 可以以更透明的方式注册。而在这之前,Kubernetes metrics 被排除在任何稳定性需求之外Volume Extension:新版本有大量和 Volume 及 Volume 修改相关的增强。CSI 规范中对 Volume 调整的支持正在转向 Beta 版,它允许任何 CSI spec Volume plugin 都可以调整大小 其他值得注意的功能更新: 拓扑管理器是一个新的 Kubelet 组件,旨在协调资源分配决策,以提供优的资源分配IPv4/IPv6 双栈允许将 IPv4 和 IPv6 地址分配给 Pods 和服务API Server...阅读全文

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

LXD 3.8 发布,下一代容器管理器

LXD 3.8 发布了,LXD 是下一代容器管理程序,它提供类似于虚拟机的用户体验,但使用的是 Linux 容器。LXD 的核心是一个特权守护程序,它通过本地 unix 套接字以及网络暴露 REST API。随后客户端通过该 REST API 执行所有操作,这意味着无论是与本地主机还是远程服务器通信,都以相同的方式运行。LXD 附带提供命令行客户端。 此版本改进了许多功能,还带来一些新功能,包括: 自动容器快照 引入了三个配置键来控制自动快照并配置它们的命名方式。 支持项目之间的复制/移动 lxc copy 和 lxc move 都添加了一个新的 –target-project 选项,可以在项目之间复制或移动容器。 cluster.https_address 服务器选项 以往,集群...阅读全文

博文 2018-12-14 10:29:14 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

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

,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...阅读全文

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

Manjaro Linux的两项大胆举措

,FreeOffice 已经扩展到支持早期的 Microsoft 格式 DOC、XLS 和 PPT 以及标准文档格式 OpenDocument Text(ODT)。 但是 FreeOffice 并不是开源的软件,Jack 认为这便是 Manjaro 的大胆之处。 虽然有人会认为 Linux 上应该使用开源项目,并且开发者需要能够查看到 FreeOffice 的源码,并且在出问题时能够自行调试代码解决,但是这样影响办公效率的事情实际上很少会发生。“Linux 上拥有另一种选择的想法,尤其是使与 MS Office 的无缝协作更加现实的想法,应该被视为 Linux 桌面的巨大胜利。” Jack 分享了他在 Linux 上文档协作方面的困苦,后来其实也是到了需要求助于 Google Docs 之类的线上工具的地步...阅读全文

博文 2019-10-05 16:24:38 debian.cn

深入了解Docker背后的namespace技术

", strerror(errno)); exit(EXIT_FAILURE); } // lets wait on our child process here before we, the parent, exits if (waitpid(pid, NULL, 0) == -1) { fprintf(stderr, "failed to wait pid %d\n", pid); exit(EXIT_FAILURE); } exit(EXIT_SUCCESS); } 这是个小的C程序,可以让你执行./a.out ip a。它把你通过命令行传入的参数,作为任何你想使用的进程的参数。不用担心具体实施太多,因为我们将要做的事情将要发生有趣的变。它将会用任何你想要的参数执行你希望的程序。这意味着如果你想执行下面...阅读全文

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

利用 NAT VPS 进行流量中转

Contents1. 准备2. 使用 firewalld 进行中转3. 使用 UFW 进行中转4. 使用 iptables 进行中转4.1. CentOS 下保存规则4.2. Debian & Ubuntu 下 保存规则:5. 使用 socat 进行中转6. 目标机的设置7. 一些大陆 NAT VPS 商8. References本文最后更新于 2020 年 6 月 3 日本文以 CentOS 8 和 Debian 10 & Ubuntu 20.04 为例,介绍如何在 NAT VPS 上设置流量中转。开始前,请先根据实际使用的操作系统,参照以下文章对服务器进行各种必要的配置:CentOS 服务器的初始配置Debian & Ubuntu 服务器的初始配置本文以 sammy 用户为例,进行中...阅读全文

博文 2021-03-11 21:16:11 Silearner

隐私声明

(比如完成一项特定交易、参加一项优惠活动或有奖竞赛活动或根据法律法规要求)使用您的付款信息和个人身份证信息。 关于您的其他个人信息,我们主要应用于如下方面: 根据您的要求向您提供特定服务、产品或信息;授权您参加一项活动,比如调查问卷、网上论坛或优惠抽奖等; 代表本网站客户、我们的关联公司、其他第三方等向您提供或发送电子资讯,广告信息,个性广告或优惠信息; 分析用户对本网站的使用方式和使用习惯,以便改进我们的服务; 阻止违法或潜在违法行为,阻止违反本网站用户协议的行为;以及我们在收集特定信息时向您披露的其他用途。 3. 信息的披露 我们致力于取得和维护您对我们的信任,因此我们使用商业上合理的技术和其他措施,帮助防止您的个人资料丢失、被盗用或遭篡改。同时,请了解我们仅会...阅读全文

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

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

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

聊聊很重要的内核技术eBPF

Viljoen在其中介绍了Netronome SmartNIC上每个FPC每秒达到300万个数据包,每个SmartNIC有72到120个FPC,可能最大支持eBPF吞吐量4.3 Tbps!(理论上) eBPF 触发了新一代网络、安全性、应用程序配置/跟踪和性能故障排除等领域的工具开发,这些工具不再依赖现有的内核功能,而是在不影响执行效率或安全性的情况下主动重新编程运行时行为。 那我们看看有哪些基于 eBPF 的工程,这些工程或许你已经知道,或是已经经常使用。 基于eBPF的项目 1:bcc BCC是用于创建基于eBPF的高效内核跟踪和操作程序的工具包,其中包括一些有用的命令行工具和示例。 BCC简了用C进行内核检测的eBPF程序的编写,包括LLVM的包装器以及Python和Lua的前端。它还提供了用于...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

序。Ubuntu的标准安装程序被设计成主要为了要求尽量少的用户输入,以便确保安装简单、速度尽可能快。要是你遇到任何问题,可以试试专家模式安装程序,这是Debian安装程序稍稍改头换面的版本。 Debian安装程序显然有其他优先事项。比如说,其图形版本是GUI,这有别于主要在工具包中的基于文本的安装程序:除了让害怕使用命令行的那些用户感到安心外,没有任何优势可言。 相比之下,Debian之前的声誉是,只要按照在线操作说明,此外每个阶段接受默认设置,通常就可以安装Debian。然而,如果你决定亲自选择,可以在安装过程的每一步选择每个设置,这大大增加了安装所需的时间。Debian安装程序并不是迎合没有经验的用户,而是兼顾所有不同水平的用户。它不是很漂亮,但是不用编译自己的程序包,所以你不可能找到...阅读全文

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

Linux:为什么那么多人讨厌 Systemd

Systemd在Linux社区引起了无限争议。一些Linux用户对systemd的反对绝不屈从,还有一些Linux用户对systemd喜爱有加,还有很多人满不在乎。近日,关于systemd的话题又出现在社区中,很多人分享了自己的想法。一时兴起,笔者梳理了几个比较经典的回答。 为什么不喜欢systemd? 不断地听到很多人抱怨systemd有多么不好,但它还是被极大地普及了,并且我在网上所读到的很多文章都在介绍systemd的好处,比如更快的启动时间和更完善的日志记录,据说过去在fedora-13上开机速度测试,upstart是27秒,而systemd仅用了24秒。 有人认为unix是做一件事,就把它做好,而systemd则是把pid 1扩张到最大。这可能是很多人讨厌systemd的重大原...阅读全文

三个简单而优秀的 Linux 网络监视器

你可以通过 iftop、Nethogs 和 vnstat 这三个 Linux 网络命令,了解有关你网络连接的大量信息。iftop 通过进程号跟踪网络连接,Nethogs 可以快速显示哪个在占用你的带宽,而 vnstat 作为一个很好的轻量级守护进程运行,可以随时随地记录你的使用情况。 iftop iftop 监听你指定的网络接口,并以 top 的形式展示连接。 这是一个很好的小工具,用于快速识别占用、测量速度,并保持网络流量的总体运行。看到我们使用了多少带宽是非常令人惊讶的,特别是对于我们这些还记得使用电话线、调制解调器、让人尖叫的 Kbit 速度和真实的实时波特率的老年人来说。我们很久以前就放弃了波特率,转而使用比特率。波特率测量信号变,有时与比特率相同,但大多数情况下不是。 如果你只...阅读全文

博文 2017-11-07 00:07:38 debian.cn

为何 Kubernetes 如此受欢迎?

Google 开发的这个容器管理系统很快成为开源历史上最成功的案例之一。Kubernetes 是一个在过去几年中快速流行起来的开源容器管理平台。它被众多大企业用于关键任务,已成为开源方面最成功的案例之一。这是怎么发生的?该如何解释 Kubernetes 的广泛流行呢? Kubernetes 的背景:起源于 Google 的 Borg 系统 随着计算世界变得更加分布式、更加基于网络、以及更多的云计算,我们看到了单个大型的应用慢慢地转为多个敏捷微服务。这些微服务能让用户单独缩放应用程序的关键功能,以处理数百万客户。除此之外,我们还看到像 Docker 这样的容器等技术出现在企业中,为用户快速构建这些微服务创造了一致的、可移植的、便捷的方式。 随着 Docker 继续蓬勃发展,管理这些微服务器...阅读全文

博文 2017-11-07 23:58:26 debian.cn

Memcache UDP反射放大攻击技术分析

60k 服务器可以被利用,并且这些服务器往往拥有较高的带宽资源。 基于以上特点,作者认为该攻击方式可以被利用来发起大规模的DDoS攻击,某些小型攻击团队也可能因此获得原先没有的大流量攻击能力。 在 DDoSMon 上观察到的现网趋势 自批露以来,我们就一直利用 DDoSMon 的统计页面 持续监控Memcache DRDoS在实际现网中的情况。在过去的几个月中,这种类型攻击的频率和单次破坏性都不大,但是自2018-02-24开始,这种情况发生了较大变。 近期,Memcache DRDoS 的攻击频率上升到了平时的10+倍,从每天小于50件,上升到每天300~400件,直到今天的1484件(实际上,离今天结束还有1个小时),如下图所示。 需要指出,当前 Memcache DRDoS 仍然还不是...阅读全文

博文 2018-03-02 09:20:52 debian.cn

Twitter确认接受440亿美元收购提议 埃隆·马斯克将完全控制该公司

的9.2%的被动股份。这一披露促使这家社交媒体巨头的首席执行官帕拉格-阿格拉瓦(Parag Agrawal)向马斯克提供了一个Twitter董事会席位。然而,马斯克拒绝成为Twitter董事会的一员,因为该提议有一个条件,即阻止特斯拉CEO将其在Twitter的股份增加到15%以上,可以预见的是,这引起了人们的猜测,即马斯克正在对整个公司发起恶意收购。 就在这些戏剧性事件发生几天后,马斯克正式公布了他以每股54.2美元的价格将Twitter私有的提议,相当于超过430亿美元的价格。马斯克还写了一封致Twitter董事会的公开信,指出。 "我投资Twitter是因为我相信它有可能成为全球自由言论的平台,我相信言论自由是一个正常的民主社会所必需的。然而,自从投资以来,我现在意识到...阅读全文

Systemd 及 Service 文件含义解析

Systemd 是 Linux下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。Systemd 的特性有:支持并行任务;同时采用socket式 与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。 其中的监视和控制功能的主要命令就是systemctl。 Systemd 有很多不同类型的使用单元,主要包括:系统服务(.service)、挂载点(.mount)、sockets(.sockets)、系统设备(.device)、交换分区(.swap)、文件路径(.path)、启动目标(.target)。一般我们常用的是其中的系统服务。 对于系...阅读全文

博文 2021-02-17 10:02:50 joseph

Golang 应用集成 Prometheus 统计数据支持

go_gc_duration_seconds_sum 0 go_gc_duration_seconds_count 0 # HELP go_goroutines Number of goroutines that currently exist. # TYPE go_goroutines gauge go_goroutines 6 # HELP go_info Information about the Go environment. # TYPE go_info gauge go_info{version="go1.12"} 1 添加自定义指标 创建指标并注册到prometheus // 初始 web_reqeust_total, counter类型指标, 表示接收http请求总次数 var WebRequestTotal...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

Proxy-Go v6.6 发布啦

Proxy-Go v6.6 发布啦。Proxy 是 golang 实现的高性能 http,https,websocket,tcp,udp,socks5 代理服务器, 支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP 端口映射、SSH 中转、TLS 加密传输、协议转换、DNS 防污染代理。 优了 limitconn 的关闭逻辑, 释放更多资源. http(s)\socks 代理增加了–intelligent, 智能模式设置, 可以是 intelligent|direct|parent 三者之一, 默认是:intelligent. 每个值的含义如下. --intelligent=direct, 不在 blocked 里面的目标都直连. --intelligent=parent, 不...阅读全文

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

Linux 系统 vim 编辑器使用简明教程

做文字输入,按ESC键可回到命令模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号。 不过一般我们在使用时把vi简成两个模式,就是将底行模式也算入命令模式。 一、打开文件、保存、关闭文件(vi命令模式下使用) vi filename //打开filename文件 :w //保存文件 :w debian.cn //保存为当前目录下的文件"debian.cn" :q //退出编辑器,如果文件已修改请使用下面的命令 :q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件 :x! //退出编辑器,且保存文件,忽略是否对文件具有写权限 二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退...阅读全文

博文 2015-07-25 16:33:04 debian.cn

Tmux 快速教程:快捷键和配置

对应面板 { 向前置换当前面板 } 向后置换当前面板 alt+o 逆时针旋转当前窗口的面板 ctrl+o 顺时针旋转当前窗口的面板 z 最大当前所在面板 page up 向上滚动屏幕,q 退出 page down 向下滚动屏幕,q 退出 因为 iTerm2 的支持,很多切换的操作可以直接用鼠标进行,非常方便。具体大家可以自己尝试一下。 配置 我们可以先进行一些简单的配置,修改 ~/.tmux.conf 即可,让整个使用更方便。 #-- base --# set -g default-terminal "screen-256color" set -g display-time 3000 set -g history-limit 10000 set -g base-index 1 set -g...阅读全文

博文 2017-11-07 15:17:49 debian.cn

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文

博文 2020-04-12 16:30:23 debian.cn

nsenter 及 Linux命名空间 简介

] lrwxrwxrwx 1 root root 0 Nov 27 05:02 pid -> pid:[4026531836] lrwxrwxrwx 1 root root 0 Dec 15 11:11 user -> user:[4026531837] lrwxrwxrwx 1 root root 0 Dec 15 11:11 uts -> uts:[4026531838] 系统调用 clone clone是Linux的系统调用函数,用于创建一个新的进程。 clone 和 fork 比较类似,但更为精细,比如说使用 clone 创建出的子进程可以共享父进程的虚拟地址空间,文件描述符表,信号处理表等等。不过这里要强调的是,clone 函数还能为新进程指定命名空间。clone的语法: #define...阅读全文

博文 2020-12-15 11:22:44 debian.cn

APISIX Ingress 如何使用 Cert Manager 管理证书

于在 Kubernetes 平台上简证书管理的软件,它支持对接许多不同的证书源,如 Let's Encrypt 和 HashiCorp Vault。 如果你在使用 Apache APISIX Ingress Controller 时,遇到了证书管理的麻烦,那么使用 Cert Manager 将会是一个不错的选择,本文将介绍如何通过 Cert Manager 来创建证书并对接到 Apache APISIX Ingress Controller。 步骤一:环境准备 如果你希望按照本文的指导进行实际的操作,请确保以下环境和工具已准备就绪: 准备一个可用的 Kubernetes 集群,开发环境中,你可以使用 Kind 和 Minikube 安装 kubectl 安装 Helm v3 请注意,下文所...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

kubelet 绑核与不绑核的性能差别

同一台主机,同样的workload,kubelet 中配置CPU绑定后的性能变: 绑核的配置放在 /etc/kubernetes/kubelet 中的这两行: ``` FEATURE_GATES="--feature-gates=CPUManager=true" CPU_MANAGER_POLICY="--cpu-manager-policy=static" ``` 绑核前: ``` procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in...阅读全文

Kubernetes v1.21 新特性预览

Kubernetes 集群(Identity Provider,标识提供者)与外部系统(relying parties, 依赖方)所分发的服务账号令牌。CRIContainerLogRotation 进入稳定版本,kubelet 将会自动为 containerd 等 CRI 容器运行时轮换日志。结构日志(Structured Logging)进入 Beta,很多组件的日志都改成以 JSON 格式记录,这样第三方日志处理系统就可以方便地从日志中解析出日志所对应的资源对象和资源属性。EfficientWatchResumption 进入 Beta,kube-apiserver 重启后 watch 缓存将更高效的恢复,更好的支持大规模集群。CSIServiceAccountToken 进入 Beta,使得 CSI...阅读全文

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

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

用 kube-prometheus-stack 通过 apiserver 和 kubelet 组件监控获取相关证书过期时间; 使用 enix 的 x509-certificate-exporter监控集群所有node的 /etc/kubernetes/pki 和 /var/lib/kubelet 下的证书以及 kubeconfig 文件 方案一: Blackbox Exporter 监控 Kubernetes apiserver 证书过期时间 Blackbox Exporter 用于探测 HTTPS、HTTP、TCP、DNS、ICMP 和 grpc 等 Endpoint。在你定义 Endpoint 后,Blackbox Exporter 会生成指标,可以使用 Grafana 等工具进行可视...阅读全文

博文 2022-12-10 06:49:43 中文开源技术交流社区

Debian 成为主流 Linux 操作系统的七个原因

的。许多基于Debian的发行版(包括Ubuntu)使用Testing或者Unstable软件包,不过在发布之前进行自己的一番测试。除非准备进行技术方面的重大变,比如上一个版本改用systemd,否则Unstable通常来说足够安全,如果你借鉴的对象仅限于非核心元素(比如桌面环境),更是如此。 5.自由程度的选择 Debian软件库分为三个部分:Main、Contrib 和 Non-Free。Main完全包括免费许可证的软件,Contrib包括本身免费许可证的软件,但是依赖其他的非免费软件,而Non-Free包括采用专有许可证发布的软件。 Debian安装时只启用了Main,所以该项目的偏好显而易见。不过,添加另外两个部分只需要五分钟的时间来编辑/etc/apt/sources.list...阅读全文

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

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

Kotlin 使用 React.js 创建现代 Web 应用。 使用 create-react-kotlin-app,可让开发者无需费心于项目设置和配置构建这些工作,能专注于快速开始客户端应用开发,同时体会到静态类型语言的优势以及由 JavaScript 生态系统带来的强大配套资源。详情点此了解。 未来的发展方向 Kotlin 语言的未来发展方向主要是在 Kotlin 支持的平台之间实现更好、更广泛的代码重用。官方表示计划通过使用同一 API 以扩展全部平台上的可用库资源集合,其中涵盖 I/O、网络、序列以及日期处理等。 编译器方面,1.3 版本仍集中关注内部层面的变更,而不是外部可见的语言特性。内部的改变能提高性能、改进类型推断、为所有目标平台生成更高效的代码,以及带来更好的 IDE 插件响应能力...阅读全文

博文 2017-11-05 19:28:14 debian.cn

如何使用 journalctl 清理 journal 日志

--vacuum-time=2d journalctl --vacuum-size=500M 如果要手工删除日志文件,则在删除前需要先轮转一次journal日志 systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service 要启用日志限制持久配置,可以修改 /etc/systemd/journald.conf SystemMaxUse=16M ForwardToSyslog=no 然后重启 systemctl restart systemd-journald.service 检查journal是否运行正常以及日志文件是否完整无损坏 journalctl --verifyjournal配置参考 [Journal...阅读全文

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

21款必不可少的Ubuntu桌面应用程序

谷歌帐户来登录,在Linux和你使用的其他操作系统之间同步书签、扩展和应用程序。 其他替代方案:Vivaldi(Chromium)、GNOME Web(GTK)和QupZilla(Qt)。 3. GIMP照片编辑器 GIMP的全称是“GNU图像处理程序”,它是一款免费开源的Photoshop替代工具。虽然它缺少Adobe的一些比较花哨的功能,但是GIMP在常用功能方面与Adobe不相上下,有些方面甚至更胜一筹! 无论你是想快速自动修饰自拍照头像、创建可以在网上共享的多层次文基因,还是作为摄影业余爱好的一部分,搞些专业的修饰工作,都要打量一下GIMP。 替代方案:Photomatix(收费版)、Pinta(GTK)和Shotwell(GTK)。 4. VLC媒体播放器 你不需要我告诉VLC是...阅读全文

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

Monit:开源服务器监控工具

Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变、文件系统变动等等,根据这些变,可以设定邮件报警、重启进程或服务。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。 官网:https://mmonit.com/monit文档:https://mmonit.com/monit/documentation/monit.html最新版本:https://mmonit.com/monit/dist/monit-5.20.0...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

Cortex: 高可用和水平扩展Prometheus监控系统

就不足为奇了。但是,有一些关键差异可能会帮助您决定使用哪个。tbody>Thanos>Cortex演练让我们通过安装一个真实的示例并通过多个Prometheus和Grafana对其进行配置以可视数据来试用Cortex。git clone https://github.com/kanuahs/cortex-demo.git cd cortex-demo Prometheus and Cortex with Docker Compose为了简单设置,我们将使用docker-compose启动以下服务:三个Prometheus容器Consul三个Cortex容器Grafana为了简单起见,我们将使用多功能的cortex配置。这将cortex作为一个独立的应用程序运行。我们将运行它的三个实例来检查...阅读全文

博文 2021-10-09 17:00:22 知乎

HTTP状态码详解

息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超级。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。 204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。 如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。 由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。 205...阅读全文

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

Java Annotations详解

="Jakob", age=37, newNames={"Jenkov", "Peterson"} ) public class MyClass { } 元素的默认值 你可以为一个元素指定默认值(有点像C++中的方法哈)。这样在注释初始时那个元素就可以忽略了。如下定义了一个包含默认值的注释 @interface MyAnnotation { String value() default ""; String name(); int age(); String[] newNames(); } 在调用时,可以忽略包含默认值的元素,这里指的是value元素,如: @MyAnnotation( name="Jakob", age=37, newNames={"Jenkov", "Peterson...阅读全文

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

Golang 中的 channel 通道详解

channel的容量。对于内置的len函数,如果传入的是channel,那么将返回channel内部缓存队列中有效元素的个数。因为在并发程序中该信息会随着接收操作而失效,但是它对某些故障诊断和性能优会有帮助。package main import "fmt" func main() { ch := make(chan int, 10) // 创建一个最大容量为10的channel ch <- 233 ch <- 2 ch <- 3 fmt.Println(cap(ch)) // 10 fmt.Println(len(ch)) // 3 fmt.Println(<-ch) // 233 fmt.Println(len(ch)) // 2 } 向缓存Channel的发送操作就是向内部缓存队列的尾部插入元素...阅读全文