InfraPub 为您找到相关结果 702

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

性就是序列 ID,它允许基于操作的分片恢复。 以前,如果由于网络问题或节点重启而从集群断开连接的节点,则节点上的每个分区都必须通过将分段文件与主分片进行比较并复制任何不同的分段来重新同步。 这可能是一个漫长而昂贵的过程,甚至使节点的滚动重新启动非常缓慢。 使用序列 ID,每个分片将只能重放该分片中缺少的操作,使恢复过程更加高效。 使用排序索引更快查询 通过索引排序,只要收集到足够的命中,搜索就可以终止。它对通常用作过滤的低基数字段(例如 age, gender, is_published)进行排序时可以更高效的搜索,因为所有潜在的匹配文档都被分组在一起。 稀疏区域改进 以前,每个列中的每个字段都预留了一个存储空间。如果只有少数文档出现很多字段,则可能会导致磁盘空间的巨大浪费。现在,你付出你...阅读全文

博文 2017-11-15 18:11:10 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

Ceph 基金会正式成立 接受 Linux 基金会的管理

施提供商(Deutsche Telekom),汽车制造商(宝马),软件解决方案提供商(SAP,Salesforce)等等。 Ceph也被Rook使用,这是一个云原生计算基础项目,它将文件,块和对象存储服务无缝配置到Kubernetes环境中,使其可以在中运行以及更好的为Kuernetes提供后端存储。...阅读全文

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

安全(比如沙箱)。 Btrfs:https://facebookmicrosites.github.io/btrfs/ Btrfs 是下一代文件系统,它以当下的数据中心为基础。它是一个写时复制(CoW)文件系统,专注于高级功能实现、错、修复和轻松管理。Btrfs 旨在解决和管理大型存储子系统,并支持快照、联机碎片整理、池化和集成的多设备支持等功能。 Netconsd:https://facebookmicrosites.github.io/netconsd/ Netconsd 是一个基于 UDP 的 netconsole 守护程序,为 Linux netconsole 消息提供轻量级传输。它接收并处理来自 Linux 内核的日志数据,并将其作为结构化数据提供以给生产工程师以快速识别集群中问...阅读全文

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

Go 泛型草案更新,明年8月Go 1.17引入

Go 团队近日在博客介绍了 Go 泛型的最新进展。 Go 团队表示他们一直在完善泛型的设计草案,并为此编写了一个类型检查——可按照设计草案中的说明,解析使用泛型的 Go 代码并报告任何类型的错误。为了收集社区的反馈,他们还编写了示例代码并在草案中提供。 根据收集的反馈和了解的信息,Go 团队发布了更新后的泛型设计草案。 "The design is fully backward compatible with Go 1",完全兼 Go 1 新版草案最大的变化是放弃了关于 contracts 的想法。因为团队认为 contracts 和 interface 类型之间的区别会令人感到困扰,所以他们正在消除这种区别。类型参数现在受 interface 类型约束,当 interface 类型仅...阅读全文

博文 2020-06-23 07:40:34 debian.cn

Linux 进程 PID 编号最大为多少

range of PIDs as on earlier kernels. On 32-bit platforms, 32768 is the maximum value for pid_max. On 64-bit systems, pid_max can be set to any value up to 2^22 (PID_MAX_LIMIT, approximately 4 million). 为了方便理解,上述内翻译成中文: /proc/sys/kernel/pid_max (从Linux 2.5.34版本开始) 这个文件明确指定了pid的取值范围(也就是说,文件中的值是允许的最大pid值+1)。比这个数字大的值将不会分配为pid。因此,此文件中的值还作为系统范围内进程和线程总数的限制。此...阅读全文

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

ChaosMesh 的基本功能有哪些

Chaos Mesh 的基本功能,包括故障注入、混沌实验场景、可视化操作、安全保障。故障注入​故障注入是混沌实验的核心。Chaos Mesh 充分考虑分布式系统可能出现的故障,提供全面、细粒度的故障类型,分为基础资源类型故障、平台类型故障和应用层故障三大类。基础资源类型故障:PodChaos:模拟 Pod 故障,例如 Pod 节点重启、Pod 持续不可用,以及特定 Pod 中的某些故障。NetworkChaos:模拟网络故障,例如网络延迟、网络丢包、包乱序、各类网络分区。DNSChaos:模拟 DNS 故障,例如 DNS 域名解析失败、返回错误 IP 地址。HTTPChaos:模拟 HTTP 通信故障,例如 HTTP 通信延迟。StressChaos:模拟 CPU 抢占或内存抢占场景...阅读全文

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

OpenJDK 14 已于近日 GA,其在性能方面是否有改进、以及有哪些改进引起了不少开发者的关注。本文将会介绍通过运行新的基准测试以考察从 OpenJDK 8 至 14 的所有主要发行版本,同时考察跨多个工作负载的 JVM 性能,以及 OpenJDK 14 与 JVM 先前版本相比性能如何。 此次测试通过在被测试的每个发行版上使用相同的 Java 字节码编译的 Java 程序来查看 JVM 的性能,并使用被测软件包的参考/上游编译版本。为了保证测试受干扰的因素将降至最低,每次都使用相同的选项,除了交换用于测试每个发行版的 OpenJDK x86_64 Linux 构建之外,没有进行任何其他更改。 通过使用 Phoronix 的测试套件,测试内包含从 SPECjbb 到 Java 2D...阅读全文

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

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或者尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方式来重启 pod。 这里我总结了几种重启 Pod 的方式,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方式:Deployment方式下重启Pod 大多数生产环境,使用的是 Deployment 方式部署应用。这种场景下,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

博文 2020-07-13 21:23:30 debian.cn

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

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

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

Docker v1.13.0 正式版发布

/docker/plugins/ 中删除 plugins.json 重新启动 Docker,验证 Docker 守护程序启动时是否有错误。 重新安装插件 该版本更新内较多,涉及到网络、插件、移除掉的 API & 客户端、运行时、安全性以及依赖等。更多更新内和下载地址,点此查看。 相关链接 Docker 的详细介绍:点击查看 Docker 的下载地址: 点击下载...阅读全文

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

USB 4规范正式公布:基于雷电3 Type

今年3月初,USB-IF官方组织宣布了下一代 USB4 (注意不是USB 4.0)。现在,USB4标准规范正式公布了!USB绝对是科技史上应用范围最广的接口,而最新的USB4 又是这一接口历史上最大的变革。 USB4引入了Intel此前捐献给USB推广组织的Thunderbolt雷电协议规范,双链路运行(Two-lane),传输带宽因此又翻了一番,达到40Gbps,也就是和雷电3完全相同。 当然,要获得这样的传输带宽,需要经过认证的全新数据线。 在引入新的底层协议的同时,USB4仍然保持了良好的兼性,可向下兼USB 3.2/3.1/3.0、雷电3,也就是现在的USB、雷电3设备和数据线,仍然可以在USB4接口上使用。 USB4将只有USB Type-C一种接口形态(雷电3走的也是它...阅读全文

博文 2019-09-04 06:45:39 C接口 带宽达40Gbps

如何为 k8s 节点增加污点,或者移除污点?

nodes master1 node-role.kubernetes.io/master=:NoSchedule` 注意: 为master设置的这个taint中, node-role.kubernetes.io/master为key, value为空, effect为NoSchedule 如果输入命令时, 你丢掉了=符号, 写成了node-role.kubernetes.io/master:NoSchedule, 会报error: at least one taint update is required错误 忍tolerations主节点的taints 以上面为 master1 设置的 taints 为例, 你需要为你的 yaml 文件中添加如下配置, 才能忍 master...阅读全文

AMD Zen架构双路处理器曝光 很强大

2017年AMD要杀回高性能处理市场了,明年Q1季度首发8核16线程的桌面版Zen处理,接着还有32核64线程的Naples(那不勒斯)服务版处理,CPU核心数比Intel目前下一代Xeon E的28核56线程还要多。 此前我们对桌面版Zen处理有所了解,但服务版Naples处理还很神秘,上周末有网友曝光了AMD Naples处理真身,不过这个是16核心的,双路处理用的,CPU插槽也不是AM4,而是Intel一样的LGA。 爆料的图片来自Reddit用户GumGum9000,图片相当清晰,不过他没有具体说明该处理的资料,只说是16核Naples处理。这有点让人迷惑,因为AMD官方早前曝光的Naples处理都是32核64线程的,尚未听说过有16核的,但考虑到服务市场...阅读全文

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

Go1.16 新特性:一文快速上手 Go embed

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,外加读取的内的地址,可支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内后自动赋值给了变量 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

博文 2021-02-17 08:44:12 CSDN

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

如果你是在一个大型组织,你运行了 NFS 或者 Samba 服务给不同的用户,你将会需要灵活的挑选并设置很多复杂的配置和权限去满足你的组织不同的需求。Linux(以及其他Unix等POSIX兼的操作系统)有一个被称为访问控制列表(ACL)的权限控制方法,它是一种权限分配之外的普遍范式。例如,默认情况下你需要维护3个权限组:owner、group和other。 使用ACL后,你可以设置权限给其他用户或组,而不单只是简单的"other"。可以允许指定的用户A、B、C拥有写权限而不再是让他们整个组拥有写权限。 ACL支持多种Linux文件系统,包括ext2, ext3, ext4, XFS, Btrfs等。如果你不确定你的文件系统是否支持ACL,请参考文档。 首先我们需要安装工具来管理ACL...阅读全文

亚马逊12个月免费云服务

助力中国企业出海,注册账号就能享受亚马逊1年全免费的云服务、数据库产品!免费12个月免费出海云计算服务: https://www.amazonaws.cn/campaign/?sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=foreigntrade亚马逊云计算Amazon Web Services (AWS) 服务始于2006年,成立以来在云计算领域一直保持了领头羊的国际地位。亚马逊云计算拥有比竞争对手更强的计算能力—来自美国摩根士丹利和国际知名调研机构Gartner。亚马逊云科技中国团队全程支持中国企业的出海业务:专业的出海合规规范、专业的技术支持、数百万海外用户的运营实践、7*24小时中文...阅读全文

Gartner公布Q3全球服务器报告:出货量318.3万台

Gartner公司公布2018年第三季度全球服务市场调查报告,根据报告显示,全球服务出货量为318.3万台,销售额193.9亿美元,同比分别增长12.5%和31.5%。本季度全球出货量与销售额位居前三位是戴尔EMC、HPE和浪潮。 2018Q3全球X86服务出货量排名 2018Q3全球X86服务销售额排名 从区域增长来看,全球除去拉丁美洲和东欧地区,其他区域市场均有增长,增速普遍达到两位数。大中华区和北美拉动了全球增长,两个地区的销售额分别同比增长44.6%和39.6%,所占市场份额提升分别为26.7%和41.7%。 从具体产品形态看,多节点、机架类服务销售额分别同比增长75.2%和31.1%。刀片和塔式服务继续小幅萎缩,销售额分别同比下降3.7%和4.8%。多节点服务的增长...阅读全文

5G路由器来了:模块化猫设计

距离AT&T宣布“2018年底”推出12城市5G网络的最后期限越来越近。 近日,AT&T 宣布与Cradlepoint建立合作伙伴关系,Cradlepoint提供多种型号的“5G Evolution”路由。这些路由现在提供高速4G网络,并承诺在未来支持更快的5G网络。 AT&T将在在全国范围内开始销售5G网络路由,而无需在特定区域内保证5G网络服务。 5G路由登场(图片来源:venturebeat) 从积极的方面来说,5G Evolution设备承诺的功能和性能可能至少足以满足当前的部署需求。 车载路由将支持从出租车到应急响应车辆的所有设备,以获得精确的GPS位置和高达1Gbps的数据性能,FirstNet 用户可享受增强的安全性和优先通信。 从公告中不清楚的是...阅读全文

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

Tmux 简单来说就是终端里的『窗口管理』,如果我使用终端登录到远程主机并运行前台程序,那么这个窗口等于就被占用了,想要看一下 CPU 的使用率,就得再连接一次。但是如果在远程主机上运行 tmux,那么就可以开启多个控制台(类似于窗口),相当高效,比方说可以像下面这样: 需要注意的是,这里是在我本地使用 tmux,最好在远程主机也安装 tmux,这样就只需要连接一次。 Hello World 前面提到的窗口管理只是 tmux 功能的一小部分,另一个很有用的功能就是,连接到远程主机之后,一旦断开,那么当前账户登录的任务就被取消了,但是使用 tmux 可以在断开之后继续工作,下次登录可以查看。其他的功能还有: 窗口切换,每个窗口里还可以分割面板 配置方便,可以使用脚本 类似 vim 的双层操...阅读全文

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

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

求包方面所做的工作与其技术素养一样出名。 主流发行版 一些人可能反对Debian,因为发布速度很慢,连最新的软件包也常常不太先进。然而,如果你在安装一台服务,关注的方面主要是稳定性,这种劣势反而是一种优势。此外,除非你坚持始终拥有最新的版本,否则大多数主要的免费软件足够成熟,必不可少的新功能特性现在已很少见。你常常可以等上几个月,如果你在虚拟机中运行其他发行版以满足好奇心,更是如此。 还是让数字为它说话吧!如今,三分之二的活跃Linux发行版基于Debian;这几年来,Distrowatch网站上页面浏览量四大发行版中三个是Debian及其最受欢迎的衍生版:Linux Mint和Ubuntu。从许多方面来看,Debian已成为其他上游来源的上游来源。 Debian也许是历史最悠久的发行版...阅读全文

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

处理器CPU散装和盒装有什么区别

很多人在装机过程发现,在某电商平台输入处理信息后,会出现盒装版和标明散片装两种商品,二者在售价上也天差地别,因为担心假货,很多人愿意花费更多的售价购买正品盒装版,今天为大家讲解一下盒装版处理和散片之间的区别。 CPU有叫做中央处理,是一块超大规模的集成电路,它的主要功能是解释计算机指令以及处理计算机软件中的数据。通常包括运算、高速缓冲存储以及实现他们之间联系的数据、控制、状态的总线。目前市面上主流CPU生产商包括Intel和AMD,其中散片主要集中在Intel生产的处理当中,ADM生产的市面上几乎没有散片包装。 CPU散片一般而言即只有一块CPU包装,没有任何正规包装盒,与正规CPU最大区别在没有CPU原装散热,无法享受官方正品带来的任何售后以及三包服务。通常CPU散片主要是...阅读全文

博文 2018-09-02 19:32:35 debian.cn

分布式版本控制系统 Git v2.12.2 发布

Git v2.12.2 发布了,Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 部分更新内: git status –porcelain” is supposed to give a stable output, but a few strings were left as translatable by mistake. “Dumb http” transport used to misparse a nonsense http-alternates response, which has been fixed. “git diff...阅读全文

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

使用 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

关于本站

#### 关于本站 InfraPub 关注企业基础设施、服务架构、DevOPS工具链、研发效能等相关的话题,是一个专注于相关生态的学习和分享的站点,目标受众是 Linux 系统爱好者、云原生、基础架构、平台工具相关的从业人员。 [InfraPub](https://infras.cn/) 努力为读者提供准确、清晰、及时的资料。 本站内主要可分为三部分: - 来自网络上的优秀资料,这部分以复制+粘贴为主,小部分文章在粘贴时会修正部分错误。 - 站点维护人员整理的原创文章。 - 软件、硬件、操作系统相关的新闻。 如果发现有侵权类的资料需要处理,请与我联系。我的常用邮箱为 joseph # Debian.cn 。 #### 友情链接 [InfraPub...阅读全文

Linux 中 journal 占用大量磁盘空间,如何清理 journal 日志?

使用df -h检查磁盘文件,看到 journal 日志占用了数G空间, ~:/var/log/journal/4211ff3f594041f3966d836585a11a05# journalctl --disk-usage Archived and active journals take up 6.4G in the file system. 清理方法可以采用按照日期清理,或者按照允许保留的量清理 ``` journalctl --vacuum-time=2d journalctl --vacuum-size=500M ``` ...阅读全文

Debian 主机如何配置静态 IP 地址?

做个记录,主要是几个关键字的写法,仅供参考。 `cat /etc/network/interfaces` 内如下: ``` # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network...阅读全文

Kafka生产问题总结以及性能优化

都要用G1垃圾收集,因为年轻代内存比较大,用G1可以设置GC最大停顿时间,不至于一次minor gc就花费太长时间,当然,因为像kafka,rocketmq,es这些中间件,写数据到磁盘会用到操作系统的page cache,所以JVM内存不宜分配过大,需要给操作系统的缓存留出几个G。 2.1 线上问题及优化 2.1.1 消息丢失情况 消息发送端: (1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最易丢消息。大数据统计报表场景,对性能要求很高,对数据丢失不敏感的情况可以用这种。 (2)acks=1: 至少要等待leader已经成功将数据写入本地log,但是不需要等待所有follower是否成功写入。就可以继续发...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

如何更改 Linux 的 I/O 调度器

Linux 的 I/O 调度是一个以块式 I/O 访问存储卷的进程,有时也叫磁盘调度。Linux I/O 调度的工作机制是控制块设备的请求队列:确定队列中哪些 I/O 的优先级更高以及何时下发 I/O 到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐量。 目前 Linux 上有如下几种 I/O 调度算法: noop - 通常用于内存存储的设备。 cfq - 完全公平调度。进程平均使用IO带宽。 Deadline - 针对延迟的调度,每一个 I/O,都有一个最晚执行时间。 Anticipatory - 启发式调度,类似 Deadline 算法,但是引入预测机制提高性能。 查看设备当前的 I/O 调度: # cat /sys/block//queue/scheduler 假设磁...阅读全文

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

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

/src:cairo) | 修正图像合成中掩码的使用 [CVE-2020-35492] | | [choose-mirror](https://packages.debian.org/src:choose-mirror) | 更新镜像列表 | | [cjson](https://packages.debian.org/src:cjson) | 修正cJSON_Minify中的无限循环 | | [clevis](https://packages.debian.org/src:clevis) | 修复initramfs创建;clevis-dracut。安装时触发initramfs的创建 | | [cyrus-imapd](https://packages.debian.org/src:cyrus-imapd...阅读全文

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

Intel 再曝“幽灵”类漏洞:二四六代酷睿受影响

在英特尔处理的“熔断”(Meltdown)和“幽灵”(Spectre)漏洞风波还未完全平息的时候,研究人员又在英特尔的处理上发现了新的漏洞,此前的“熔断”与“幽灵”补丁可能无法完全应对这种攻击手段。 这几名研究者来自美国的几所著名大学。他们发现了一种新的攻击方式,并把这一漏洞称为“BranchScope”。该漏洞与“熔断”和“幽灵”不完全相同,但与后者相似的地方在于,它们都是通过处理中的分支预测(Branch Prediction)部分发起攻击的。它们的危害也相似:都可以直接访问用户的敏感信息。 研究人员在i7-2600、i7-4800MQ和i5-6200U三枚不同年代的Intel处理上成功验证了BranchScope漏洞。这很有可能说明,Intel酷睿系列的二代Sandy...阅读全文

博文 2018-03-30 08:48:47 debian.cn

如何在 Nginx 中配置 gRPC 的代理

gRPC服务。 nginx是使用http服务监听gRPC的请求。示例如下: http { server { listen 80 http2; access_log logs/access.log main; location / { # The 'grpc://' prefix is optional; unencrypted gRPC is the default grpc_pass grpc://localhost:50051; } } } 指令grpc_pass用来指定代理的gRPC服务地址,前缀协议有两种: grpc://:与gRPC服务端交互是以明文的方式 grpcs://:与gRPC服务端交互式以TLS加密方式 gRPC服务地址的前缀“grpc://”是可以忽略,默认就是明文...阅读全文

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

命令行下如何对字符进行十六进制的编码和解码?

比如,当我们需要查看 /etc/passwd 的内时,可以通过对文件名编码,隐藏这个操作, ``` cat $(echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64") ``` 如何对指定的字符串做 16 进制的编码?借助 od 命令即可, ``` $ echo /etc/passwd | od -A n -t x1 2f 65 74 63 2f 70 61 73 73 77 64 0a ```...阅读全文

Go 1.16 即将发布,这些变更你需要知道

=> os.ReadFileTempDir => os.MkdirTempTempFile => os.CreateTempWriteFile => os.WriteFile 与此同时大家也不需要担心存在破坏性变更,因为有 Go1 兼性的保证,在 Go1 中 io/ioutil 还会存在,只变更内部的方法调用: func ReadAll(r io.Reader) ([]byte, error) { return io.ReadAll(r) } func ReadFile(filename string) ([]byte, error) { return os.ReadFile(filename) } 大家在后续也可以改改调用习惯。 支持静态资源嵌入 如果我们希望把静态文件编译进 Go 的二进制文件的话,在以往需要借助 go...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

架构师详解 Nginx 架构

引言:众所周知,Nginx 服务是一个高性能的 Web 和反向代理服务。Nginx 在激烈的 Web 服务竞争中依旧保持良好的发展势头,一度成为 Web 服务市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文

博文 2018-05-01 23:10:47 debian.cn

如何在 Debian服务器 上启用双因子身份验证

双因子身份验证就是指,需要两种身份验证才能完成账号有效性的验证,可以是密码、SSH 密钥,也可以是第三方服务,比如 Google Authenticator。这意味着单个验证方式的缺陷,不会影响账号的安全。本文我们将介绍如何在 Debian 服务上启用双因子验证。 请注意,本文涉及到多次修改 SSH 配置,当你修改配置时,请确保有至少两个到服务终端的连接。打开的终端将一直保持,即便 SSH 服务重启。第二终端意味着你可以修复你在SSH配置的错误。 密钥和密码验证的SSH SSH 支持对登录要求不止一个身份验证方法,我们首先启用密钥和密码验证。 在 /etc/sh/sshd_config 中的 SSH 服务配置文件中的 AuthenticationMethods 选项中设置了身份验证方...阅读全文

博文 2018-12-05 11:44:56 debian.cn

Ubuntu 17.10 将用 GDM 取代 LightDM 登录管理器

在最近的一份报告中,Canonical的Will Cooke透露,Ubuntu Desktop团队正在考虑在即将推出的Ubuntu 17.10版本中以GDM(GNOME显示管理)取代LightDM登录管理。本周早些时候已经有传闻表示Ubuntu 17.10将采用GNOME GDM显示管理。 特别是现在,在默认情况下,日常构建的ISO映像默认都采用了GNOME桌面环境而不是Unity。现在,Canonical官方证实说,他们没有时间让LightDM与GNOME一起工作。 Canonical官方表示:“我们决定转而使用GNOME显示管理(GDM)而不是LightDM,我们计划尝试使用LightDM,根据我们的调查显示,我们需要投入大量时间进行更改让所有的东西都能正常工作,但是我们没用那...阅读全文

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

Python的闭包和装饰器

什么是装饰? 装饰(Decorator)相对简单,咱们先介绍它:“装饰的功能是将被装饰的函数当作参数传递给与装饰对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰 @a 对应的函数, b 为装饰修饰的函数,装饰@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰,其等同于:qinfeng = dobi(qinfeng)因此装饰本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

Golang 之禅: 如何写优质代码

在本月初的 GopherCon 上,知名 Go 语言贡献者与布道师 Dave Cheney 发表了名为《The Zen of Go》的演讲,之后他整理了演讲内在博客中分享,由于内过长,他又写了一个简洁版本: 完整版:https://dave.cheney.net/2020/02/23/the-zen-of-go简洁版:https://the-zen-of-go.netlify.com 这里简单翻译一下简洁版本的内:编写简单、可读、可维护的 Go 代码的十个工程要点。 每个包实现单一目标 设计良好的 Go 软件包提供一个单一的思路,以及一系列相关的行为。一个好的 Go 软件包首先需要选择一个好名字,使用电梯法则(30 秒内向客户讲清楚一个方案),仅用一个词来思考你的软件包要提供什么功能...阅读全文

博文 2020-02-25 20:48:33 debian.cn

一位五年工作经验架构师的感悟

眼光羡慕别人。 于是在工作一年半的时候,选着了裸辞,其实还是很佩服自己,因为多数人都是骑驴找马。多数时候是招聘 3、5、8 年经验的人。但是,当你顾虑越多的时候,越易失败。 所以,找到你的追求,然后就去追去。 失败不可怕,需要对自己、未来充满信心 当时的我真的很弱,但是我就是想找个地方提升自己的技术,提升自己的价值。 刚好有个朋友是阿里 B2B 的,当时也没有太多关注阿里,也不知道阿里到底有哪些子公司。但是,我的朋友,热心的说:“要不要我帮你内推试试?”,我就是抱着试一试的心态,想去尝试下,知道阿里的技术强,但是到不到阿里的要求。 于是开启了我奇葩的入职阿里经历。 第一次面试,阿里 B2B 的岗位,就有很多知识不知道,面试官问了一致性 hash,那个年代的我,哪里知道。不过面试官还是和我聊...阅读全文

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

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

微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 如何查看当前的微码状态 以 root 用户运行下列命令: # dmesg | grep microcode 输出如下: 注意,你的 CPU 有可能出现没有可用的微码更新的情况。这时它的输出可能是如下这样的: [ 0.952699] microcode: sig...阅读全文

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

Linux Mint 19.2 Tina Beta 版发布 更好的内核管理功能

Linux Mint 团队已正式宣布推出 Linux Mint 19.2 “Tina” 的首个 beta 版,它包含一系列性能改进和界面改进,并为许多核心应用程序和实用程序带来增强功能。 测试稳定后,Linux Mint 19.2 将成为 Linux Mint 的第 30 个命名版本,以及基于 Ubuntu 18.04 LTS Bionic Beaver 的 19.x 系列中的第二个版本。并将获得从发布到 2023 年的技术支持。 此次的 beta 版本包含了一些新功能: 改进了升级管理中的内核管理软件管理可以获取“丢失”的 GPG 密钥软件管理可以扫描/删除重复的源降低 Cinnamon 的 RAM 消耗松饼(Muffin)窗口管理优化,使用起来感觉“更平滑”Mint Menu...阅读全文

博文 2019-07-17 16:39:26 debian.cn

OpenSSL 1.1.1 LTS 版本发布,支持 TLS v1.3

OpenSSL 1.1.1 已发布,这是新的长期支持版本(LTS),开发团队承诺至少提供五年支持。自 1.1.0 发布以来,已有超过 200 位个人贡献者提交了近 5000 个 commits。OpenSSL 1.1.1 最重要的变化就是添加对 TLS v1.3 (RFC8446) 的支持。 TLS v1.3 的优势包括: 由于减少了客户端和服务之间所需的往返次数,缩短了连接时间。 在某些情况下,客户端能够立即开始将加密数据发送到服务而无需与服务进行任何往返(称为 0-RTT 或“early data”)。 由于删除了各种过时和不安全的加密算法及握手加密,提高了安全性。 OpenSSL 1.1.1 其他亮点包括: 完全重写 OpenSSL 随机数生成以引入以下功能: The...阅读全文

黑客利用存在 5 年的漏洞 感染服务器并获利

黑客组织利用 Cacti“Network Weathermap”插件中一个存在 5 年之久的漏洞,在 Linux 服务上安装了 Monero 矿工,赚了近 75,000 美元。来自美国安全公司趋势科技的专家表示,他们有证据证明这些攻击与过去发生在 Jenkins 服务上的攻击有关:黑客组织利用 CVE-2017-1000353 漏洞在 Jenkins 设备上安装 Monero 挖矿程序,获得了约 300 万美元。 这次,攻击者利用了 Cacti 的 CVE-2013-2618 漏。Cacti 是一个基于 PHP 的开源网络监视和图形工具,更具体地说,是在其 Network Weathermap 插件中负责可视化网络活动。 就像在以前的攻击一样,黑客利用这个漏洞获得底层服务的代码执行能...阅读全文

Ansible直接通过IP操作机器

如果要了解一两个 ip 的一些简单的情况,比如 ls -l /data | wc -l,以前是要写到 inventory 文件中的, ansible -i hosts all -m shell -a "ls -l /data0/ | wc -l" 也可以这样,一台机最后面要有一个逗号, ansible all -i 192.168.1.1, -m shell -a "ls -l /data0/ | wc -l" 两台机用逗号隔开,并且不能有空格, ansible all -i 192.168.1.1,192.168.1.2 -m shell -a "ls -l /data0/ | wc -l" 参考: http://stackoverflow.com/ 除了上面的 shell 模块,还...阅读全文

博文 2020-09-15 14:40:59 debian.cn

nginx 稳定版 1.16.0 发布 支持动态加载SSL证书

Nginx(发音同 engine X)是一款轻量级的 Web 服务/反向代理服务及电子邮件(IMAP/POP3)代理服务,并在一个 BSD-like 协议下发行,可以在 UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及 Microsoft Windows 等操作系统中运行。 nginx 1.16.0 稳定版已发布,包含来自 1.15.x 主线分支的新功能和错误修复: 针对流模块(stream module)中的 UDP 代理改进随机负载均衡方法(random load balancing method)支持 TLS 1.3(TLS 1.3 early data)动态加载 SSL 证书等 下载地址: http://nginx.org/en...阅读全文

博文 2019-04-24 08:09:29 debian.cn

分布式存储系统 Ceph 10.2.7 发布

Ceph v10.2.7 发布了。Ceph 是加州大学 Santa Cruz 分校的 Sage Weil(DreamHost 的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自 2007 年毕业之后,Sage 开始全职投入到 Ceph 开 发之中,使其能适用于生产环境。Ceph 的主要目标是设计成基于 POSIX 的没有单点故障的分布式文件系统,使数据能错和无缝的复制。 该版本更新日志尚未找到,了解更多请查看 提交记录 或关注 官方博客 。 下载地址 Source code (zip) Source code (tar.gz)...阅读全文

Robolinux 8.8.1 发布,基于 Debian 的 Linux 发行版

Robolinux 8.8.1 发布了,它基于 Debian 8“Jessie”,并配有 Firefox 和 Thunderbird 的最新版本,以及对 MATE 和 Xfce 桌面环境的改进,点此查看详细更新内。 Robolinux 是基于 Debian GNU/Linux 最新稳定发行的用户友好的、直观的操作系统。该项目非常有趣的特性之一是预配置好的 VirtualBox 虚拟机支持套件,可运行 Windows XP 或 Windows 7,从而允许用户在 Robolinux 中无缝安装和运行 Windows 操作系统。 演示及下载地址: https://www.robolinux.org/downloads/ Robolinux 的详细介绍:点击查看 Robolinux 的下载地址...阅读全文

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

如何在docker pull时,配置使用代理服务?

实测有效的一个方案,通过给docker 配置 http_proxy 的方式,配置代理,配置方式如下: 建立空目录: `mkdir /etc/systemd/system/docker.service.d` 创建文件,内如下:`vi /etc/systemd/system/docker.service.d/http-proxy.conf` ``` Environment="HTTP_PROXY=http://proxy.example.com:80/" Environment="HTTPS_PROXY=http://proxy.example.com:80/" Environment="NO_PROXY=localhost,127.0.0.0/8,docker...阅读全文