InfraPub 为您找到相关结果 509

如何在 Debian 上添加和删除用户

您应该知道如何在一个新鲜的Linux服务器上执行的最基本的任务之一是添加和删除用户。当您创建一个新的系统,你往往只能给出默认root帐户。 虽然运行在root用户提供了大量的功能和灵活性,这也是危险的,可能是破坏性的。添加一个额外的,无特权的用户来执行常见任务几乎总是一个更好的主意。然后,您应为系统上可能有的任何其他用户创建其他帐户。 您仍然可以获取管理员权限,当你需要他们通过一个名为机制sudo 。 在本教程中,您将学习如何创建用户帐户,分配sudo特权,和删除用户。 如何添加用户 如果您作为root用户登录,您可以创建在通过键入任何时候一个新的用户: adduser sammy 如果要在谁被赋予了非root用户登录, sudo特权,因为在证明初始服务器设置导 ,您可以添加通过键入新用...阅读全文

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

深入学习golang — channel

goroutine的创建数量: func Serve(queue chan *Request) { for req := range queue { sem <- 1 go func() { process(req) // Buggy; see explanation below. <-sem }() } } 上面的代码看似简单清晰,但在go中,却有一个问题。Go语言中的循环变量每次迭代中是重用的,更直接的说就是req在所有的子goroutine中是共享的,从变量的作用域角度来说,变量req对于所有的goroutine,是全局的。 这个问题属于语言实现的范畴,在C语言中,你不应该将一个局部变量传递给另外一个线程去处理。有很多解决方法,这里有一个讨论。从个人角度来说,我更倾下面这种方式: func...阅读全文

博文 2021-01-25 12:39:17 博客园

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

(Kubernetes中的节点指服务器)负责管理集群的状态。 它运行Etcd ,它在将工作负载调度到工作节点的组件之间存储集群数据。 两个工人节点 工作节点是运行工作负载 (即容器化应用程序和服务)的服务器。 一旦工作人员分配了工作负载,工作人员将继续运行您的工作负载,即使主计划在调度完成后停止工作也是如此。 通过添加工作人员可以增加群集的容量。 完成本指南后,如果群集中的服务器具有足够的CPU和RAM资源供应用程序使用,您将拥有一个可以运行容器化应用程序的集群。 几乎任何传统的Unix应用程序(包括Web应用程序,数据库,守护程序和命令行工具)都可以进行容器化,并在集群上运行。 群集本身将在每个节点上消耗大约300-500MB的内存和10%的CPU。 设置群集后,您将其部署Web服务器Nginx ,以确保它...阅读全文

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

Debian Jessie、Stretch 下安装配置 PHP7.2

Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.2-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。 由于 PHP7.2 是新出的版本势必有不少的兼容性问题,我们建议等待开发者通知兼容PHP-7.2后,再进行升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站务低峰时段更新,并提前做好备份,以及回退的准备。Debian.cn 使用的是 WordPress 4.9 ,已支持 PHP7.2。 添加软件源 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https...阅读全文

博文 2017-12-16 14:16:25 debian.cn

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

已经发布通告,例如 CloudFlare、Qrator Labs、Arbor Networks、US-CERT,等等 预防和防御类:包括 NTT 在内的多个ISP 已经对 UDP 11211 采取限速措施。 应对建议方面,ISP、网络管理员、企用户可以从很多渠道获得应对建议,例如 这里。我们建议: 各运营商 ISP、云服务厂商,考虑在自己的网络内对UDP 11211 采取限速措施 各开发者和 memcache 管理者,考虑自查 memcache 设定ACL 总体而言,一方面,我们开始担忧1Tbps以上的DDoS攻击案例今后会比较频繁的出现,DDoS攻击开始从 G 时代进入 T 时代(Gbps vs Tbps);另一方面,我们必须指出至少在当前 Memcache DRDoS 还不是DDoS...阅读全文

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

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

近日,据外媒报道,一位在 Debian 项目中服务超过 20 年的开发者 Norbert Preining 在去年 12 月被降级为维护者,这一行为导致他决定离开该项目。Preining 称,Debian 客户经理团队认为他“多年来一直在欺负项目成员”、“不能与社区团队沟通”。在接受采访时,Preining 表示他现在已经加入了 Arch Linux 项目,将在以后的博文中进行更多的解释。Debian 是一款为数极少的纯社区驱动的 Linux 发行版,而不是由商公司或者政府机构所掌控。虽然 Debian 采用了 Linux Kernel (操作系统的核心),但是大部分基础的操作系统工具都来自于 GNU 工程, 因此又称为 Debian GNU/Linux。DAM 认为 Preining...阅读全文

Terraform 学习总结 — Terraform 简介

前言 在 DevOps 实践中,基础设施即代码如何落地是一个绕不开的话题。像 Chef,Puppet 等成熟的配置管理工具,都能够满足一定程度的需求,但有没有更友好的工具能够满足我们绝大多数的需求?笔者认为 Terraform 是一个很有潜力的工具,目前各大云平台也都支持的不错,尤其是使用起来简单明了。本文会简单的介绍一下 Terraform 相关的概念,然后通过一个小 demo 带大家一起进入 Terraform 的世。说明:本文的演示环境为 ubuntu 16.04。 Terraform 是什么? Terraform 是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 "Write, Plan, and create...阅读全文

Debian 11 "bullseye" 发布,带来内核 exFAT 支持

包已安装的情况下,合适的设备可以在使用 USB 端口连接到系统的同时自动设置使用无驱动后端。新的通用 open 命令新增加的 open 命令将作为 xdg-open(默认)或者 run-mailcap 的别名出现,具体实现则由 update-alternatives 系统管理。它旨在作为命令行交互工具,帮助用户使用默认的应用程序打开文件;所使用的程序按照具体情况可以是图形面程序。控制组 v2在 bullseye 中,systemd 默认使用控制组 v2(cgroupv2),它提供了统一的资源控制层级架构。如果有需要,可以使用内核命令行参数重新启用旧有的 cgroups;持久化 systemd 日志在 bullseye 中的 systemd 默认启用了持久日志的功能,日志文件存放于 /var...阅读全文

Docker 核心原理

Jan 20 12:19 user -> 'user:[4026531837]' lrwxrwxrwx 1 root root 0 Jan 20 12:19 uts -> 'uts:[4026531838]' 可以看到进程,文件系统,网络,进程通信,主机名都是不同的 namespace。 网络模式 Docker 虽然可以通过命名空间创建一个隔离的网络环境,但是如果我们的应用需要对外提供服务,不能与外进行通信是没有意义的。Docker 提供了多种网络模式来实现容器和外部的通信。 我们重点介绍一下 docker 默认的网络模式 bridge 守护进程会创建一对对等虚拟设备接口 veth pair,将其中一个接口设置为容器的 eth0 接口(容器的网卡),另一个接口放置在宿主机的命名空间中,以类似...阅读全文

博文 2021-02-25 09:14:23 lxkaka

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

”(procedural details)。当抉择艰难时,我们需要创造出一个能够消弭分歧的机制。这个机制甚至能够在我们失去立场的时候,发挥作用。 在 Allbery 看来,Debian 之前走错了方。在这一层上,Allbery 聚焦在“机制”上。而从 Debian的现存机制上来看,Debian 为项目个人提供了极大的自由。 Debian 把决定权交给了个人开发者,开发者可以按照他们认为合适的方式来进行管理。这种自由被 Debian 章程(consitution)和 Debian policy manual 限制,主要是为了确保开发者和他们创建的软件包都能共存并且和睦相处。 当大家分歧不大的时候,这个机制基本上都是可行(不然 Debian 也不会有效运行这么多年)。而面对一些特殊情况,Debian 社区的机制主要...阅读全文

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

Debian Linux下LNMP环境配置

昨天刚给公司服务器装了LNMP服务器环境,在这里简单记录一下过程备忘。这里我在安装的时候是用的Dotdeb源,仅供参考。 1. 导入Dotdeb源,据说Dotdeb源里的软件版本比较新。 在源中导入Dotdeb前,我们需要先获取GnuPG key并导入: wget http://www.dotdeb.org/dotdeb.gpg cat dotdeb.gpg | apt-key add - 提示OK,表明导入成功。然后我们开始导入Dotdeb 源,源列表的位置在“/etc/apt/sources.list”,我们通过vi工具或nano工具打开sources.list,添加如下两行: deb http://packages.dotdeb.org wheezy all deb-src...阅读全文

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

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

图片来自于 Youtube 关于近期关于放弃 Unity 的决定,Google+用户 Maartin Kozub 在文章中写道: 这个决定并不能简单的用惋惜和悲伤而形容,因为 Canonical 所从事开始的多个项目也宣告了死亡。 我认为当前最大的问题是大部分开源开发者无法深入理解,也不会进而欣赏面对象的编程语言(C++)。他们依然还习惯使用 C 语言来编程一些丑陋的代码,也许有些时候利用个性化定制功能能够让 C 更加接近于 C++,但无疑会增加门槛和降低可读性。所以,为何不直接使用 C++?最典型的例子就是 Wayland。 在另一方面,Canonical 是目前极少数创建优秀和简洁开源 C++代码的公司/社区,就像 Mir 一样能够充分利用各种现代化 C++功能。 Mark...阅读全文

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

不与版本帝争,16 年后 SciPy 1.0 版终发布

近已经达成一些重要的项目目的,技术上方面比如:Windows wheels 和持续集成。组织方面有管理结构、代码准则和路线图。 我们中很多人都有点完美主义,所以不情愿称某东西是 1.0 了,因为这样或许就暗示「已做完」或「我们对此 100% 满意」。虽然很多开源项目都这样,但我们承认自己项目并不完美,总有些边边角角有灰尘的。 虽然我们有如此想法,但对用户来说,SciPy 极为实用,有着高于平均水平的高质量代码和文档,稳定性和后兼容性均很好。 SciPy 的重要里程碑 2001 年:第一版 SciPy 发布; 2005 年:过渡到 NumPy; 2007 年:scikits 的诞生; 2008 年:scipy.spatial 模块以及首个 Cython 代码的增加; 2010 年:进入 6...阅读全文

博文 2017-10-26 13:54:33 debian.cn

专访Docker大牛:Docker背后的真正引擎是Containerd

管理仍然是不容易,我们必须创建自己的工具来管理,如果可以在Docker Swarm中本地完成,这将是非常好的一次改进。 多主机联网目前使用情况还不错,但我仍然发现了一些小问题。不过,最近很多SDN供应商正在将自己的网络堆栈作为Docker插件实施,这对于使用者来说是件好事。 问:关于Docker生态系统的演变,您如何评价Docker决定 CNCF 捐赠 containerd runtime ? Chanwit Kaewkasi:我认为这是个非常棒的举动,Docker背后真正的引擎基本上是Containerd,标准化的 container runtime 将会使所有的人都受益。 多集群管理依然不容易。 问:您希望在下一个Docker发行版中看到什么功能? Chanwit Kaewkasi...阅读全文

博文 2017-11-22 10:50:11 debian.cn

Linux Kernel 5.0将于2018年夏季发布

Linus Torvalds揭示了为什么在2018年夏天将会有一个Linux Kernel 5的理由。他还讨论了对新的Linux Kernel维护者的需求。 在最近结束的布拉格开源峰会上,Linux创始人Linus Torvalds与VMware副总裁进行了座谈,并讨论了Linux内核的相关问题。 Linux内核需要新的维护者 Linux内核已经有26岁,内核维护者比26岁还要老。这就产生了一个问题,因为虽然内核开发有很多年轻的贡献者,但是内核维护者(负责审核内核提交代码的人)是40多岁的人, 甚至50多岁了。部分问题是维护内核的复杂性。 但是Torvalds认为,内核维护者的主要原因是“老”,因为他们需要从疯狂的邮件流入中了解补丁。这需要良好的经验。 第二个原因是内核维护者应该足够长的...阅读全文

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

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

个 SATA 就要迷糊了。其实上面的 SATA 更多是指插槽,而这里的 SATA 是指数据走的通道,目前的新设备普遍都是 SATA3 接口了,但是 SATA3 是下兼容 SATA2 跟 SATA1 的(所以下文我们只讨论SATA3)。 PCI-E 跟 SATA3 简单说就是数据走的“路”。PCI-E 就像是特别宽大的路,数据可以走的特别快,而 SATA3 与之相比更像是一条崎岖的小路,数据走的特别慢。但是CPU内部就那么大一点,修不了特别多的大路,所以PCI-E通道也就仅有那么几条。 通常 SATA 的插槽只能走 SATA3 的通道。而 M.2 的插槽上文我们说了分为 Socket 2 跟 Socket 3。M.2(Socket 2)的固态可以走 SATA3 或者 PCI-E 3.0×2...阅读全文

博文 2019-01-23 13:28:23 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

树莓派4上如何安装 Raspbian Buster

Win32DiskImager 中打开、浏览该文件。单击 “Write”,就可以开始往SD卡中录入系统镜像了。这一步会花费些时间,一般两分钟左右。写入完成后,我们会看到如下所示的 “写入成功” 的提示。 现在您就可以在系统中,安全地弹出 microSD卡 并继续下一步了。 启动树莓派4 将闪存SD卡插入 树莓派4 底部的SD卡插槽中,接入 USB-C 的电源线,然后连接显示器和键盘。我们就可以看到炫丽的树莓派启动画面了。在Pi的第一次启动时,屏幕右上方会显示几个 Raspberry Pi 徽标。 Raspbian的启动速度明显快于 NOOBS,因为 NOOBS 功能更多,更强大,为我们提供更多的选择和安装替代操作系统的窗口。 树莓派启动后,我们就会看到漂亮的壁纸和初始的 Raspberry Pi 设置导。只需按照屏幕...阅读全文

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

三大亮点带你看 Linux 内核 5.6

原因。 同样,Ubuntu 20.04 LTS 将支持 WireGuard。 2、支持 USB4 Linux 5.6 也将支持 USB4。 如果你不了解 USB 4.0 (USB4),你可以阅读这份文档。根据文档,“USB4 将使 USB 的最大带宽增大一倍并支持多并发数据和显示协议multiple simultaneous data and display protocols。” 另外,虽然我们都知道 USB4 基于 Thunderbolt 接口协议,但它将后兼容 USB 2.0、USB 3.0 以及 Thunderbolt 3,这将是一个好消息。 3、使用 LZO/LZ4 压缩 F2FS 数据 Linux 5.6 也将支持使用 LZO/LZ4 算法压缩 F2FS 数据。 换句话说,这只...阅读全文

博文 2020-02-07 11:13:09 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

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

( ) 和 [ ] 可供选择。然而缺少修饰的方括号会在数组和 slice 的类型声明中造成歧义,在解析索引表达式时也会引起小程度的歧义。因此在设计之初他们决定使用小括号,因为小括号似乎更符合 Go 语言的风格,而且看起来问题最少。 为了使小括号正常工作,并且为了后兼容,他们表示不得不在类型参数列表中引入type关键字。最后,他们在参数列表、复合字面量和嵌入类型中发现了额外的解析歧义,而这些歧义需要嵌套更多的小括号来解决。不过即便如此,他们还是决定继续使用小括号,因为当时还有更重要的设计问题需要解决。 现在他们决定重新考虑这个最初的决定。如果仅使用方括号声明类型参数,那么声明数组的方式如下所示: type A [N]E 不过这就无法与泛型的声明进行区分: type A[N] E 但如果能接受额外的...阅读全文

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

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

并到所使用的 LTS 版本。 因此谷歌转了滚动更新发行版,不过它没有选择知名的滚动更新发行版 Arch Linux,而是基于 Debian 测试分支构建了 gLinux Rodete (Rolling Debian Testing)。 选择 Debian 是因为它有着庞大的社区和软件库,还可以使用 Debian 格式的现有内部软件包和工具。而且 Ubuntu 也是基于 Debian,迁移过去更容易顺畅。 Debian 稳定分支也是差不多两年发布一次大更新,但其测试分支是滚动更新的。滚动更新意味着需要尽可能防止新版本对现有工作流程造成破坏,为了管理从源代码构建所有上游软件包的所有这些复杂任务,谷歌构建了一个名为 Sieve 的工作流系统。通过运行一个虚拟化测试套件,确保核心组件和开发者工作流...阅读全文

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

GitHub 发布10月21日系统故障分析报告

Raft 共识机制之上达成共识。Orchestrator 可以实现应用程序无法支持的拓扑,因此必须注意将 Orchestrator 的配置与应用程序级别的期望保持一致。 然而 21 日,在上述网络分区中,Orchestrator 在主数据中心中一直保持活跃,根据 Raft 的共识机制,它开始了一个取消领导选举的过程。美国西海岸数据中心和美国东海岸公有云 Orchestrator 节点能够建立合规数量并开始对群集进行故障转移,以便将写入指美国西海岸数据中心。Orchestrator 继续组织美国西海岸数据库集群拓扑,当连接恢复时,应用层立即开始将写入流量引导到西海岸站点的新当选者。 美国东海岸数据中心的数据库服务器包含一段短暂的写入时间,但尚未复制到美国西海岸的设施。由于两个数据中心中的数据库集群...阅读全文

DNSCrypt简明教程

-proxy/cloaking-rules.txt 这个文件,在后面添加你的DNS,例如:# my customized dns www.one-domain.com x.x.x.x *.your-domain.com x.x.x.x其实我想要方案是匹配域名,然后把这些域名的DNS指另一个DNS,这样会方便些,不过似乎 dnscrypt-proxy 还不支持。还有一个方案就是把 fallback_resolver 改成公司所提供的DNS。更多文章socketserver 源码阅读与分析functools 源码阅读与分析contextlib代码阅读Collections 源码阅读与分析Redis通信协议阅读2016年就要结束了,2017年就要开始啦!unittest 源代码阅读APUEv3 - 重读笔...阅读全文

博文 2021-02-06 19:55:08 知乎

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

谷歌于 1 月下旬曾 USPTO(美国专利及商标局)递交了名为 “Pigweed” 的新商标申请。根据申请内容来看,Pigweed 商标涵盖“计算机操作软件”。当时,人们猜测这是一款新的操作系统商标,但并未有任何相关信息提供。 昨日,谷歌毫无征兆地公布并开源了 Pigweed。与之前的猜想不同,这是一个嵌入式库(或模块)的集合。使用 Pigweed 模块可​​以在 32 位微控制器( 即嵌入单电路芯片中的小型计算机 )上实现更快、更可靠的开发。 Pigweed 提供的模块可满足嵌入式开发人员的广泛需求。从整个生命周期来看,Pigweed 从设置,到开发,再到代码提交,都能够有效提高嵌入式开发的效率。谷歌以上述开发过程为轴,围绕这几个方面分别介绍了 Pigweed 的一些模块。 嵌入式空间...阅读全文

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

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

经过 3 年的开发,17 个 alpha 版本,2 个 beta 版本,超过 7500 个提交,以及来自 350 位不同开发者的贡献,OpenSSL 3.0 终于正式发布了。OpenSSL 1.1.1 以来的主要变化主要版本开发者可以从这里下载 OpenSSL 3.0,并升级你的应用程序使之兼容。OpenSSL 3.0 是一个大版本升级,并不完全后兼容以前的版本。大多数使用 OpenSSL 1.1.1 的应用程序仍然可以正常工作,只是需要重新编译(可能会有关于使用废弃的 API 的编译警告)。还有一些不能完全兼容的应用可能需要进行修改才能正确编译和使用。如果应用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文

如何重启 Kubernetes 中的 Pods

} -n {namespace} -o yaml | kubectl replace --force -f - 在这个命令中,由于没有 yaml 文件,且启动的是 Pod 对象,我们先 get 当前运行的 pod 的 yaml 声明定义,通过管道重定输出到 kubectl replace 命令的标准输入,来达到上一条命令同样的效果。 总结,我们可以通过多种方式来重启对象,最通用的方式是使用 replace 命令,强制替换 Pod 的这个: kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f - 这种方式,也适用于多种其他对象。值得一提的是,重启 Pod 并不会修复运行程序的 bug,想要解决程...阅读全文

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

Saltstack极高危漏洞: 可获取master权限

Salt的安全设置 1. 订阅salt官方的通告,以便接收最新的通知 2. 使用salt acl系统来限制salt-minion的root权限 3. 使用salt acl系统来限制salt-minion可以执行哪些命令 4. 使用外部的pillar管理工具来替代登录到系统中修改文件的方式 5. 将sls文件通过版本控制工具管理起来,并经过评审后在生产环境中执行 6. 如果要将salt-master暴露给外部服务,要用salt-api\ssl并通过验证 7. salt-minion通过event系统和reactor来master通信,而不是直接访问salt-master 8. salt-master运行在非root用户下 9. 禁用部分模块加载到minion上,例如cmd模块 10. 阅读完所有的...阅读全文

博文 2020-05-05 18:32:44 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

如何在 Debian 下配置邮件服务器

户和它们各自的邮箱。创建一个用户是很容易的。 root@mail:~# adduser fourbyte 安装和配置SMTP 服务: postfix 配置文件路径 /etc/postfix/ 执行脚本 /etc/init.d/postfix 日志文件 /var/log/mail.log 端口 TCP/25 SMTP:安装postfix Postfix是广泛使用的SMTP服务器之一,因为它是稳定的、轻量级的、可扩展的、高度可定制的。安装postfix可以使用apt-get的完成。 root@mail:~# apt-get install postfix 在安装过程中,需要指定电子邮件服务器和域名的类型。 由于此邮件服务器就会直接目的地发送电子邮件,我们选择Internet Site。 邮件服...阅读全文

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

深入理解Golang之context

?其实可以想象一颗树,树的每个节点可能携带一组键值对,如果当前节点上无法找到key所对应的值,就会上去父节点里找,直到根节点,具体后面会说到。再来看看context包中的其他关键内容。emptyCtxemptyCtx是一个int类型的变量,但实现了context的接口。emptyCtx没有超时时间,不能取消,也不能存储任何额外信息,所以emptyCtx用来作为context树的根节点。// An emptyCtx is never canceled, has no values, and has no deadline. It is not // struct{}, since vars of this type must have distinct addresses. type...阅读全文

博文 2021-01-27 09:05:27 知乎

三个技巧 大幅减少 Docker 镜像体积

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 debian.cn

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

http-server-close : 在使用长连接时,为了避免客户端超时没有关闭长连接,此功能可以使服务器端关闭长连接 redispatch: 在使用基于cookie定时,一旦后端某一server宕机时,会将会话重新定至某一上游服务器,必须使用 的选项 * 实现访问控制: http-request: 7层过滤 tcp-request content: tcp层过滤,四层过滤 2.4 代理 代理相关的配置可以如下配置段中。 – defaults – frontend – backend – listen “defaults”段用于为所有其它配置段提供默认参数,这配置默认配置参数可由下一个“defaults”所重新设定。 “frontend...阅读全文

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

Python的闭包和装饰器

的。除此之外,闭包还有很多其他功能,比如用于封装等,另外,闭包有效的减少了函数参数的数目,这对并行计算非常有价值,比如可以让每台电脑负责一个函数,然后串起来,实现流水化的作等。 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 目录...阅读全文

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

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

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

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

布。这种分离带来了挑战,包括维护下兼容性。 由于工具和部署选项的性质,移动持续部署面临着一些特定的挑战。Web 部署则更为容易,因为 Facebook 拥有完整的技术栈和工具。为了解决这些挑战,Facebook 已经构建了一些专注于更快的移动开发的工具和库,包括 Buck 、Phabricator、 Infer、 React 以及 Nuclide 。Facebook 的移动部署是以三层来并发运行。 • 构建:合并到移动主分支上的所有代码都会进行构建,这会针对受影响的所有产品(Instagram、Messenger)并且会跨各种芯片架构。 • 静态代码分析:Linters 和静态分析工具的组合,称为 Infer ,用于检查各种问题,包括资源泄漏、未使用的变量、有风险的系统调用和编码准则违规...阅读全文

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

Stackstorm 入门介绍

结果发布到IM中,比如 HipChat、JIRA 或者 Slack 等。 自动修复 - 识别和验证OpenStack计算节点上的硬件故障,正确排空实例并管理员发送关于潜在停机时间的电子邮件,但如果出现任何问题 - 冻结工作流程并呼叫PagerDuty唤醒人员。 持续部署 - 与Jenkins一起构建和测试,配置新的AWS群集,基于NewRelic的应用程序性能数据,打开负载均衡器的一些流量,以及前滚或回滚。 Stackstorm工作原理 主要组件角色: 传感器(Sensors) 用于分别接收或监视事件的入站或出站集成的Python插件。 当来自外部系统的事件发生并由传感器处理时,StackStorm触发器将发射到系统中。 触发器(Triggers)外部事件的StackStorm表示形式...阅读全文

Systemd 及 Service 文件含义解析

。 * Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。 * Type=notify:与 Type=simple 相同,但约定服务会在就绪后 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。 * Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。 修改现存单元文件 要更改由软件包提供的单元文件,先创建名为 /etc/systemd/system/<单元名>.d/ 的目录(如/etc/systemd/system...阅读全文

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

改善 Debian Linux 软件包管理的七款工具

说,你可以用它来设定软件包安装时你提出哪种类型的问题、重置问题的优先级,或者尽管软件包破损仍强行安装。 dpkg-reconfigure可用来配置基于Debian系统的几乎方方面面。由于出现了配置安装系统的其他工具,它的多用途性在丧失,不过dpkg- reconfigure仍可用于配置诸如此类的特性:时区、视频驱动程序、打印机和扫描仪。Ubuntu弃用了dpkg- reconfigure,但是它在其他基于Debian的发行版中仍很有用。 4.netselect-apt 如今,互联网连接的速度已经非常快。然而,一些软件包代码库的速度仍比其他代码库要快;在使用高峰期间,流行的软件包代码库会降低速度。有时候,根本就缺少高速连接。 对于注重速度的那些人来说,netselect-apt为你的位置列出...阅读全文

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

为什么 Django 能持续统治 Python 开发世界

对于 Python 开发者来说,web 开发框架真可谓玲琅满目。然而 Django , 毋庸置疑的成为最受青睐的 web 框架。通过本篇博客,我来为大家讲解下为什么相比 Flask、Pyramid、Tornado、Bottle、Diesel、Pecan、Falcon 这些流行的 Python web 框架,Python 开发者更倾于选择 Django。 再大肆宣扬Django之前,让我们简单了解一下web框架 Web框架是一个代码库,使开发人员更容易构建动态网站、Web应用程序和Web服务。 众所周知的是,每个网站都有一些通用的功能(如处理会话,数据验证等等),一些您每次创建网站时都需要编写的功能。 这使开发任务平淡乏味。 然而,使用Web框架可以让您每次创建网站都需要重新编写通用功能代...阅读全文

博文 2017-07-21 14:15:11 debian.cn

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

成一个三节点的 Kubernetes 集群的创建,可以开始愉快的玩耍了。 K3s 的蛋蛋 如果执行 kubectl get pods --all-namespaces,就会看到其它服务的一些 Pod,比如 Traefik。Traefik 在这里起到是反代理和负载均衡器的作用,它可以让流量从单个入口进入集群后引导到集群中的各个服务。Kubernetes 支持这种机制,但 Kubernetes 本身不提供这个功能,因此 Traefik 是一个不错的选择。...阅读全文

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

nsenter 及 Linux命名空间 简介

, argv[1]); setns clone用于创建新的命令空间,而setns则用来让当前线程(单线程即进程)加入一个命名空间。语法: #define _GNU_SOURCE /* See feature_test_macros(7) */ #include int setns(int fd, int nstype); fd参数是一个指一个命名空间的文件描述符,位于/proc/PID/ns/目录。nstype指定了允许进入的命名空间,一般可设置为0,表示允许进入所有命名空间。 因此,往往该函数的用法为: 调用setns函数:指定该线程的命名空间。调用execvp函数:执行指定路径的程序,创建子进程并替换父进程。 这样,就可以指定命名空间运行新的程序了。代码示例: #define...阅读全文

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

为保护隐私而生 反取证操作系统:Kodachi

用。 学校机房(从 U盘 和 DVD 启动)使用 任何可以(从 U盘 和 DVD )启动使用的计算机上。 安装导: 如何在你的硬盘驱动器上安装 Kodachi Linux: 从你的 USB 或 ISO 映像引导。 在桌面菜单上进入 – >系统 – > Refracta 安装程序 – >使用 su – >输入密码 r@@t00 – >简单安装 – >运行 GParted – >设备 – >创建分区表 – >应用 – >分区 – >新建 – >添加 – >应用所有操作 – >关闭 – >关闭 GParted 窗口 – >选择分区 – >确定 – >继续安装 – >关闭窗口 – > y – >配置主机及用户名!不要在这里更改用户名,否则 Kodachi 脚本会出现错误 – >勾选前 2 个框允许...阅读全文

博文 2021-01-28 17:50:19 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

journalctl 清理journal日志 - 九重霄

下面的逻辑来覆盖默认设置: 主配置文件最先被读取, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖主配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上两位十进制数字的文件名前缀。 如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做法是在 /etc/ 目录中 创建一个指 /dev/null 的同名符号链接...阅读全文

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

Linux系统诊断-内存基础

用(默认),1表示启用。可以理解为oom机制的开关,默认为禁用——表示要让oom触发器正常执行。其他有兴趣的话,可以自行man proc6. 结语如有纰漏欢迎指正。作者:SRE团队技术小编-小凌原文链接 本文为阿里云原创内容,未经允许不得转载javascriptcss3阅读 176发布于 2 月 9 日赞2收藏2分享本作品系原创,采用《署名-非商性使用-禁止演绎 4.0 国际》许可协议阿里云栖号汇集阿里技术精粹-yq.aliyun.com关注专栏...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

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

候,系统会将已经就绪的socket添加到双链表中,然后通过epoll_wait方法检测的时候,其实检查的就是这个双链表,由于链表中都是就绪的数据,所以避免了针对整个客户端socket列表进行遍历的情况,使得整体效率大大提升。 整体的操作流程为: 首先,利用epoll_create在内核中创建一个epoll对象。其实这个epoll对象,就是一个可以存储客户端连接的数据结构。 然后,客户端socket连接上来,会通过epoll_ctl操作将结果添加到epoll对象的红黑树数据结构中。 然后,一旦有socket有事件发生,则会通过回调函数将其添加到ready list双链表中。 最后,epoll_wait会遍历链表来处理已经准备好的socket,然后通过预先设置的水平触发或者边缘触发来进行数...阅读全文

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

Debian Live 项目的剧变

Williams 却坚持认为取代 live-build 很有必要。Learmonth 给 live-build-ng 换了一个争议性也许小一些的名字: live-wrapper 。他说他的目标是为 Debian Live 项目加入新的工具(并且「把 Debian Live 项目引入 Debian 里面」),但是完成这件事还需要很大的努力。 我已经被 ITP 问题所困扰的每个人道歉。我们已经告知大家 live-wrapper 还不足以完全替代 live-build 且开发工作仍在进行以收集反馈。尽管有了这部分的工作,我们收到的反馈缺并不是我们所需要的。 这种对于取代 live-build 的强烈反对或许已经被预知到了。自由软件社区的沟通和交流很关键,所以,计划去替换一个项目的核心很容易引起争议——更何况是...阅读全文

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

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

Debian 项目团队宣布其稳定发行版 Debian 10 (代号 "buster")的第八次更新。本次更新主要是对安全问题进行了修正,同时也对一些严重的问题进行了调整。安全公告已经单独发布,并在可用的地方进行了参考。 需要注意的是,这个点发行版(point release)并不构成 Debian 10 的新版本,只是更新了其中的一些软件包。没有必要扔掉旧的 "buster "介质。安装后,可以使用最新的Debian镜像将软件包升级到当前版本。 那些经常从 security.debian.org 安装更新的人不会需要更新很多软件包,大多数这样的更新都包含在点发布中。新的安装镜像很快就会在常规位置提供。 将现有的安装升级到这个版本可以通过将软件包管理系统指Debian的许多HTTP镜像之一...阅读全文

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

Golang Context 探究

中最常用的方法还是 context.Background、context.TODO,这两个方法都会返回预先初始化好的私有变量 background 和 todo。这两个私有变量都是通过 new(emptyCtx) 语句初始化的,它们是指私有结构体 context.emptyCtx 的指针。 1 2 3 4 5 6 7 func Background() Context { return background } func TODO() Context { return todo } 通过下面代码可以看出 emptyCtx 就是 Context 的实现,只不过没有实际功能。 我们一般用 context.Background 作为根 context; 在不确定使用哪种 context 时用...阅读全文

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