InfraPub 为您找到相关结果 501

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

type关键字,那么歧义就会消失: type A[type N] E 此外,使用小括号时产生的歧义似乎不会出现在方括号中。下面是一些使用方括号但不需要额外嵌套小括号的例子: using () using [] func f((T(int)) func f(T[int]) struct{ (T(int)) } struct{ T[int] } interface{ (T(int)) } interface{ T[int] } [](T(int)){} []T[int]{} 为了更好地理解以及进行测试,他们表示将开始对原型实现进行修改,让泛型能使用小括号或方括号(注意不能同时混用,只能使用其中一种)。这些修改将首先提到 dev.go2go 分支,最终会出现在 Go playground 上...阅读全文

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

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

有手动创建或导入的镜像来改变这一点,仅作为缓存条目存储的镜像不会被复制。 CLI 覆盖默认项目 由于不得不经常使用 lxc 项目切换来在项目之间切换客户端,因此与多个项目进行互可能会很繁琐。当想要在特定项目中执行的操作是一个简单的操作(如启动容器)时尤其如此。 LXD 3.8 现在在整个命令行客户端都有一个 –project 选项,它允许覆盖特定操作的项目。 ZFS 压缩支持 迁移协议提供了 ZFS 压缩支持。 此外还有大量 bug 修复与其它功能,详情查看 发布公告 。 下载地址:https://linuxcontainers.org/lxd/downloads/ Debian社区网站内容即将同步至腾讯云+社区,邀请大家点击链接,一同入驻。...阅读全文

博文 2018-12-14 10:29:14 debian.cn

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

策略要求一致,并且通常建议软件包不应依赖于其他软件包的实验性或不受支持的(在 Debian 中)功能。软件包可能会包括对 systemd 以外的其他 init 系统的支持,并且可能包括其使用的任何 systemd 特定接口的替代物。维护人员使用其常规的程序来确定要引入的补丁。Debian 致力于使用对 init 系统做出不同选择的衍生产品。和我们与下游的所有互一样,相关的维护人员将与下游一起工作,以找出哪些变化适合加入到 Debian 中,哪些变化应该完全保留在派生工具中。...阅读全文

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

深入了解Docker背后的namespace技术

容器中创建namespace,不要让他影响到你,我选择提供一个容器预加载所有依赖项的方法。我使用 --net host标志,这样可以在容器内看到host的网络接口。也需要提供--privilged标签,以保证拥有正确的权限去通过容器创建新的namespace。 以下是Dockerfile内的内容: FROM debian:jessie RUN apt-get update && apt-get install -y \ gcc \ vim \ emacs COPY containers/ /containers/ WORKDIR /containers CMD ["bash"] 我会使用C语言来解释这个例子,因为它比Go语言更容去解释底层的细节。 NET Namespace network...阅读全文

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

PostgreSQL 13 正式版发布

PostgreSQL 原生类型。此外,UUID v4 生成函数 gen_random_uuid() 现在无需安装任何扩展即可使用。 PostgreSQL 分区系统更加灵活,因为分区表完全支持逻辑复制和 BEFORE 行级触发器。 PostgreSQL 13 中的FETCH FIRST语法现已扩展为可包含WITH TIES子句。 指定时,WITH TIES包括基于ORDER BY子句的结果集中最后一行相匹配的任何其他行。 安全性增强 在之前的版本中,新扩展只能由数据库超级用户安装。为了更容利用 PostgreSQL 的扩展性,PostgreSQL 13 增加了“可信扩展”的概念——允许数据库用户安装超级用户标记为“可信”的扩展。某些内置扩展默认被标记为“可信”,包括pgcrypto, tablefunc和...阅读全文

博文 2020-10-04 20:07:23 debian.cn

Debian、Ubuntu安装源配置文件说明

」。 Debian 多媒体源 一些多媒体软件因牵涉到版权问题,包括硬件解码器,Debian 官方并未收录,有一网站专门填补该空缺,见 http://www.deb-multimedia.org。 最后忠告:不要同时启用多个源,同一仓库的源启用一个即可,否则容引起混乱。以下实例便是列有多套而仅启用一套。...阅读全文

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

什么是线程安全,以及并发需要知道的几个概念

里等待,直到售货员把衣服给你后才算购物成功,这就相当于同步的过程。 不过,如果是在网上购物的话,我们只需下单并完成支付,对我们来说整个购物过程就算完成了。网上的商家接到订单会帮我们加紧安排送货,这段时间我们可以去做其他的事,比如去外面打个篮球之类的。等送货上门并签收商品就完事了,这个过程就相当于异步。 并发和并行并发和并行的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。 严格意义上来说,并行的多任务是真实的同时执行,而并发更多的情况是任务之间替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。 最直接的例子的就是我们的计算机系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实并行的...阅读全文

博文 2018-12-31 20:44:06 debian.cn

提前尝鲜,从 Debian 10 升级到 Debian 11

本指南解释了从 Debian 10 升级到 Debian 11 的步骤。 Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。 代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结状态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就可以从 Debian 10 安装或升级到 Debian 11。 以下是方法。 前提条件 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。特别是如果你正在升级一服务器。 对你的系统进行备份,包括所有重要的数据和文件。 尝试禁用/删除你可能在一段时间内添加的任何外部仓库...阅读全文

博文 2021-08-16 12:16:21 Debian升级

互联网协议正在发生变化

,全新打造的 “握手”机制允许应用程序数据从头开始流动(经常被称为 ‘0RTT’)。新的设计依赖于短暂密钥换,从而排除了静态密钥。 这引起了一些网络运营商和供应商的担心 —— 尤其是那些需要清晰地知道那些连接内部发生了什么的人。 例如,假设一个对可视性有监管要求的银行数据中心,通过在网络中嗅探通讯包并且使用他们的服务器上的静态密钥解密它,它们可以记录合法通讯和识别有害通讯,无论是来自外部的攻击,还是员工从内部去泄露数据。 TLS 1.3 并不支持那些窃听通讯的特定技术,因为那也是 一种针对短暂密钥防范的攻击形式。然而,因为他们有使用更现代化的加密协议和监视他们的网络的监管要求,这些使网络运营商处境很尴尬。 关于是否规定要求静态密钥、替代方式是否有效、并且为了相对较少的网络环境而减弱整个互联网...阅读全文

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

很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。由于我知道如何掌握“所有”的程序语言,总是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工程师,其实也没搞明白。 今天我有动力了,想来统一回答一下这个搁置已久的“初级问题”。类似的话题貌似曾经写过,然而现在我想把它重新写一遍。因为在跟很多人流之后,我对自己头脑中的(未转化为语言的)想法,有了更精准的表达。 如果你存在以下的种种困惑,那么这篇文章也许会对你有所帮助: 你是编程初学者,不知道该选择什么程序语言来入门。 你是资深的程序员或者团队领导,对新出现的种种语言感到困惑,不知道该“投资”哪种语言。 你的团队为使用哪种程序语言争...阅读全文

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

使用 Go 语言的三个原因

定不是提供这些安全保障的第一个主流语言,Java(1995)可能是该冠军的竞争者。关键是,世界对不安全的编程语言没有胃口,所以人们默认认为,Go 是内存安全的。 开发人员生产力 从 20 世纪 70 年代末,开发人员的时间变得比硬件所耗费的时间更昂贵了。开发人员的生产力是一个不断扩展的话题,但它归结为这一点:你花了多少时间做有用的工作,又有多少时间等待编译器或者失望地迷失在外部代码库中。 有个笑话说 Go 是在等待 C ++ 程序编译 时开发的。快速编译是 Go 的一个重要功能,也是吸引新开发人员的关键工具。虽然编译速度仍然是一个 永久的战场 ,但公地说,在其他语言中需要几分钟的编译,在 Go 中只需要几秒钟。 Go 程序员意识到生产力的更根本的问题是代码是 为了读而写的 ,所以将 代码的...阅读全文

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

Docker更名Moby,也是无奈之举

有开源协作机制转移到Moby项目当中。” 有些人认为这可能代表着Docker已经被改名为Moby。但事实上,对于Docker CE或者EE版本的用户而言,此次变更不会造成任何影响。Moby仅适用于此前利用Docker代码开发特定容器软件的企业及个人。 为了根据GitHub上的表情符号对此次变更引起的混乱进行量化,截至本文发稿之时,Hykes发表的帖子共获得73个赞、461个踩与377个困惑表情。另外还有18个开心表情、69个欢呼表情与16个心形表情。 在这条pull请求的样讨论当中,Hykes承认相关沟通工作本可以处理得更好。他进行了详尽的说明以息人们对于Hacker News之上公布的更名决定的强烈不满。他解释称,“看起来pull请求中的解释还不够明确,对此我深表抱歉。”...阅读全文

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

观点:DDR内存即将谢幕 HBM 3/4内存才是未来

这一年来有关国内公司进军内存产业的消息甚嚣尘上,紫光公司凭借原有的英飞凌、奇梦达基础在DDR3内存上已经作出了突破,小批量生产了DDR3内存,下半年还会推出更主流的DDR4内存芯片,正在努力追赶国际主流水。但是放眼整个内存市场,DDR5内存很快就要来了,更可怕的是未来即便是DDR5内存也很可能被更新的技术淘汰。 业界已经有人提出了DDR内存将死的看法,未来需要高带宽的产品将转向HBM内存,2020年会有HBM 3内存,2024年则会有HBM 4内存,届时带宽可达8TB/s,单插槽容量可达512GB。 对于HBM内存,DIY玩家可以说也是相当熟悉了,AMD在2015年的Fury系列显卡上首次商用第一代HBM技术,超高的带宽、超低的面积占用彻底改变了当时的显卡设计,随后NVIDIA在...阅读全文

Solus Linux 正在打造“现代化的 Linux 发行版”,不依赖 GNU

件/用户选择等)只有UEFI,没有其它传统引导方式完全开源,包括引导程序/重建脚本针对较重的工作负载进行了认真的优化第三方应用程序仅依赖于容器,没有兼容性漏洞仅支持 Wayland完全无状态的管理工具和补丁上游…… 同时,对 Linux 的“不良”参与者不会容忍。例如,将不会容忍 NVIDIA 在其 GPU 上缺乏对 Wayland 加速的支持,NVIDIA 专有驱动程序将被发行版列入黑名单。 Ikey Doherty 是 Solus OS 的作者,这是 Linux 发行版的后起之秀,拥有自己的环境和软件库。系统使用自身开发的 Budgie 桌面环境,遵循极简主义,观感扁化且现代。其“最早”基于 Debian,不过于 2013 年停止该项目,后来不基于任何发行版重头开发了一个独立的...阅读全文

博文 2020-07-12 09:08:23 debian.cn

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中都存在这个问题,所以go 1.9之前的解决方案是额外绑定一个锁,封装成一个新的struct或者单独使用锁都可以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

第8个LTS版本 Ubuntu 20.04 将带来哪些新特性?

存驱动、数码相机和 MP3 播放器中使用最为充分,你时用这些电子产品的时候,多半就使用到了 exFAT 技术。 另一方面,在 19.10 版本中引入的 ZFS 作为根目录的支持会进一步得到改进,但是,它将保持实验状态。 关于 ZFS 的争论近期也因为 Linus Torvalds 的参与而白热化,他在某个论坛上讨论关于内核的相关问题时,提到了 ZFS 并表明了自己的态度,在 Oracle 对 ZFS 的代码进行重新授权以使其能更友好地被引入到 Linux 内核主线之前,他不会推荐使用 ZFS,同时,即便抛开许可证的原因,Linus 也觉得 ZFS 的综合性能并不特别强。随后有人公开宣称 Linus 不懂 ZFS。 此外,20.04 其它增强功能包括: GNOME 从 v3.34 升级到...阅读全文

博文 2020-01-27 09:36:30 debian.cn

2017年的Linux内核防护依然脆弱

Linux 主线影响了 PaX/Grsecurity 的正常开发,这也是 PaX/Grsecurity 关闭公开访问 test patch 的主要原因之一,最近由 Qualys 曝光的 Stack clash 是一个古老的漏洞利用面的工程化,这威胁到了几乎所有类 UNIX 系统(包括 GNU/Linux)的安全,当 Linux 内核 x86 的 maintainer 之一 Andy Lutomirski 问及 PaX/Grsecurity 是如何修复时 Linus 直接回复了 Grsecurity 是垃圾,有趣的是当 PaX/Grsecurity 的作者之一 Spender 曝光了一些内核最近的 silent fix 以后 Linus 居然 “邀请”PaX team/Spender 直接贡献代码...阅读全文

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

Debian下编译安装Golang

1.4.3版本。 执行./make.bash。 一般教程(比如本文前面首次编译错误小节)是用./all.bash,其实没必要。./all.bash是编译并测试,而./make.bash只是编译。前者大约5分钟,后者大约2分钟。对我们这种Go语言的使用者而非开发者来说,显然后者就够了。 进入GOROOT目录,执行./make.bash。 结束后,可以检查版本。 $ go version go version devel +f8187ce Mon Nov 7 02:55:52 2016 +0000 linux/amd64 咦?怎么版本怪怪的! 这是因为master的HEAD,通常是一个开发中的提,是最新不稳定版本。 如果想要稳定版怎么办? 和编译1.4.3版本类似,checkout过去再编译。比如,我...阅读全文

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

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

将逐渐减少参与 Debian 的维护和相关活动,并解释这样做的原因。Stapelberg 表示他在 Debian 上投入了十年以上的时间,但在此过程中,Stapelberg 也逐渐发现并认识到了 Debian 在许多方面的不足。他发现 Debian 整个开发评估流程都非常迟钝。举例来说,补丁的评估没有截至日期,有时候他会收到通知说几年前递的补丁现在合并了。而且 Debian 的一些维护者出于个人喜好拒绝合作,维护者给予的个人自由度太高对 Debian 构成了严重影响。Debian bug 跟踪器 debbugs 源自 1994 年,只有 Debian 和 GNU 项目使用。Stapelberg 抱怨了 Debian 糟糕的开发流程,对此感到十分不满,为此,他撰写了长文,并希望自己的文章能激...阅读全文

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

如何使用 journalctl 清理 journal 日志

(kmsg),默认值为"no"。 此选项可以被内核引导选项 "systemd.journald.forward_to_kmsg" 覆盖。 ForwardToConsole= 表示是否将接收到的日志消息转发给系统控制,默认值为"no"。 如果设为"yes",那么可以通过下面的 TTYPath= 指定转发目标。 此选项可以被内核引导选项 "systemd.journald.forward_to_console" 覆盖。 ForwardToWall= 表示是否将接收到的日志消息作为警告信息发送给所有已登录用户,默认值为"yes"。 此选项可以被内核引导选项 "systemd.journald.forward_to_wall" 覆盖。 MaxLevelStore=, MaxLevelSyslog...阅读全文

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

六大算法之三:动态规划【转载】

])}; t = g(x1[j1:j2]); // 由子问题的最优解求解整个问题的最优解的方案 print(x1[j1]); for(i=2; i<=n-1; i=i+1) { t = t-xi-1[ji]; for(j=1; j>=f(i); j=j+1) if(t=xi[ji]) break;} 下面通过几个典型例子,从简单到难帮助我们理解动态规划。 1、斐波那契数列 斐波那契数列大家都很熟悉,而且知道用递归可以很容的做出来 if(n == 0){ return 0; }else if(n == 1){ return 1; }else{ return solutionFibonacci(n-1)+solutionFibonacci(n-2); } 如果用动态规划,就是把结果存到一个数组中...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Jono Bacon: GPL 没落了吗?

、Digital Ocean 等等等等,探索着在开源领域中赚钱的法子。他们探索过分发模式、服务模式,核心开源模式等等。现在可以确定的是,传统的商业软件赚钱的方式已经不再适用开源软件;因此,你得选择一个能够支持你的公司的经营方式的开源协议。在赚钱和免费提供你的技术之间找到衡在很多情况下是很困难的一件事。 这就是我们看到那些变化的原因。尽管 GPL 是一个开源协议,但是它根本上是个自由软件协议,作为自由软件协议,它的管理以及支持是由自由软件基金会提供的。 我喜欢自由软件基金会的作品,但是他们已经把观点局限于软件必须 100% 绝对自由。对于自由软件基金会没有多少可以妥协的余地,甚至很多出名的开源项目(比如很多 Linux 发行版)仅仅是因为一丁点二进制固件就被认为是 “非自由” 软件。 对于商业来说,最复杂...阅读全文

博文 2017-08-04 08:03:43 debian.cn

你应该选择Cinnamon作为Linux桌面环境的十个理由

混乱的使用感受。 6. Cinnamon面板。Cinnamon面板作为一款工具栏非常用,其中提供用于启动程序的菜单、基本系统托盘与应用选择器。右键点击程序图标,选择“Add to panel”即可将应用添加至程序启动栏中。大家还可以将启动图标添加到桌面中以及Cinnamon的“Favorites”启动栏内。另外,进入“Edit”模式即可对各图标进行重新排序。 7. 灵活性。有时候,我们很难找到已经被最小化或者隐藏运行的应用。而Cinnamon提供了我最喜爱的功能之一,即直接拖动运行中的应用按钮,并在选择栏中进行重新排列。这意味着我能更轻松地找到对应窗口。 Cinnamon桌面还提供一套非常漂亮的弹出菜单,右击即可呼出。其中包含的常用任务包括桌面设置、添加桌面部件选项以及其他多种桌面操作任务...阅读全文

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

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

WordPress 本质上并没大家认为的那么危险,而且开发者也在努力工作,以确保危险漏洞能被快速修复。但不幸的是,WordPress 的成功使其成为众矢之的:如果你能攻破一个 WordPress 安装,那么可能会有数以百万计的网站向你 “开放”。而且即使 WordPress 是安全的,也并不是所有的主题和插件都会有同样级别的开发重视程度。 有些人攻击 WordPress 是为了挑战或造成恶意的损害,这些行为都很容被发现。最糟糕的罪魁祸首是那种潜入内容的行为,它们会将钓鱼网站深入到文件夹结构,或使用你的服务器发送垃圾邮件。一旦你安装的 WordPress 被破解,可能需要删除所有内容并从头重新安装。 庆幸的是,有很多简单的方案来提升安全性。下面提到的安全修复方案都不会超过几分钟。 1. 切...阅读全文

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

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

如果你运行Debian或它的衍生版本之一(比如Linux Mint或Ubuntu),迟早会遇到apt-get和dpkg,它们是主要的软件包管理命令。然而,这些只是最常见的Debian软件包工具。这些年来,Debian实际上陆续推出了几十款让安装和配置软件包更容的脚本和工具。 许多这样的脚本和工具可以帮助你创建软件包。而且,它们常常包括你在桌面工具中根本找不到的功能特性。 下面是Debian中七款最实用的软件包管理工具。大多数工具还应该出现在Debian衍生版中: 7. Aptitude 众所周知,Aptitude是一款基于文本的软件包管理工具。桌面工具可能更符合现代用户的期望,不过Aptitude仍然很有用,所以常常默认情况下安装。 如果你试图修复阻止安装或删除其他任何内容的破损软件包...阅读全文

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

Chrome浏览器中新增反恶意软件广告功能

向用户。 谷歌指出,这些(误导性UI元素)包含伪装成播放键或其它网站控制的第三方站点的链接,或者是网站上的透明覆盖图,抓取所有的点击和开放的新页签或窗口。 在谷歌上注册了站点的网站所有人将会在谷歌控制的“滥用体验报告”部分收到关于这种误导性质的UI元素的警告信息。谷歌表示从明年1月份开始,没有处理这些报告的网站所有人将会通过Chrome内置弹出消息拦截器经由这些误导性元素触发重定向。...阅读全文

博文 2017-11-18 09:00:06 debian.cn

全民HTTPS时代:盘点免费SSL证书那些事儿

://www.comodo.com/ 点评:在 Let’s Encrypt 没有问世之前,Comodo 的市场占有率是第一位。随着 Let’s Encrypt 的盛行,Comodo 在 DV SSL 市场占有率逐渐下降,但依然是 SSL 的龙头企业。目前 Comodo 也提供免费 90 天的免费 DV SSL 证书。 在线申请网址1:https://secure.instantssl.com/products/SSLIdASignup1a 在线申请网址2:https://www.100tb.com/ 备注:100TB 免费提供 1 年期的 Comodo 证书,前提是需要注册为会员后才能在后申请。100TB 的规定是,发行的证书只能在他们家的产品上使用,否则会有被吊销的风险。申请时,请自备 CSR(Certificate...阅读全文

如何在 Debian 中安装 DHCP 服务器

255.255.255.0 { option routers 192.168.10.1; option subnet-mask 255.255.255.0; option domain-search "tecmint.lan"; option domain-name-servers 192.168.10.1; range 192.168.10.10 192.168.10.100; range 192.168.10.110 192.168.10.200; } 步骤 3:在 DHCP 客户端上配置静态地址 6、 要给特定的客户机分配一个固定的(静态)的 IP,你需要显式将这机器的 MAC 地址以及静态分配的地址添加到下面这部分。 host centos-node { hardware ethernet 00:f0...阅读全文

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

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

API 中的一种特殊的 ephemeralcontainers 处理器进行创建的,而不是直接添加到 pod.spec 段,因此无法使用 kubectl edit 来添加一个临时容器。 与常规容器一样,将临时容器添加到 Pod 后,将不能更改或删除临时容器。 为什么我们需要Ephemeral 容器? 我们知道容器的优点是它们通过使用不变方法提供所有必需的依赖项来运行隔离的进程。通过仅将所需的依赖项添加到镜像中,容器可以降低攻击面并提供更快的启动和部署。使用“distroless”方法构建容器镜像(基于scratch),通过仅包含已编译的应用程序二进制文件,将容器镜像提升到了一个新的水。与普通的容器镜像不同,它们不基于任何种类的Linux发行版,因此不包含任何其他可通过kubectl exec执行...阅读全文

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

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

可以及时地发现问题并解决问题。 开源除了源代码开放外,开发的过程也是透明的,因此,你可以检查供应商是否遵循 ISO27001,云安全原则等基准行业标准开发流程。 4、更多的用户导向 开源能使顾客和用户直接看到并参与到产品开发中来,这比闭源软件开发更能了解客户的需求。供应商可能只关注产品的某一特定方面,而一个社区能致力于开发出更多的功能,能创造出对用户更有价值的产品。 5、更好的支持 专有供应商是在产品遇到问题时,唯一可以给你提供帮助的一方。如果他们无法提供你所需要的服务,或者需要对额外的服务收费,那事情就麻烦了。而软件一旦开源,如果供应商无法提供相应的服务或支持,可以有其他人来填补空白,这就是自由市场的优势,能保证你得到最好的服务。 6、更有利的许可 典型的软件许可充斥这一些不公条例,它通...阅读全文

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

Prometheus 常用 PromQL 语句样例

选给定标签的序列: my_metric_name{label1="value1", label2="value2"}更复杂的标签匹配器: my_metric_name{label1!="value1", label2=~"regex1", label3!~"regex2"}匹配器: =: 等于 !=: 不等于 =~: 正则匹配 !~: 正则不匹配 Counter 的增长速率过去5分钟每秒均增长速率: rate(http_requests_total[5m])1分钟时间窗口中最后两个样本计算的每秒增长速率: irate(http_requests_total[1m]过去1小时增加的绝对数值: increase(http_requests_total[1h])多个序列聚合对所有序列进行求和...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

展。去年我们与华为、中国移动宣布了一个开源项目,后来有中国电信和中国联通的加入;再后来又有国际运营商 AT&T、Orange 和中国一些企业共同联手合作,希望能够建立世界上最大的开源的电信类基础设施。由此可以看到现在中国也有一些高质量的开源项目。” 最后,Jim 寄语 LC3 活动: “我们之所以举办 LC3 大会是希望全世界顶尖的开发者和中国的企业、顶尖开发者共聚一堂,分享最佳实践,我们相信未来中国会有更多的自主的开源的项目。 届时,Linux 创始人 Linus Torvalds 将来到中国,和中国开源的开发者进行流,希望能够推动中国的开源项目不断地发展和扩展。 大会还邀请到开源项目和技术方面的有 OpenStack 项目执行董事、Kubernetes 项目负责人...阅读全文

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

Kubernetes 1.7:安全加固、有状态应用更新等

谢庞大的开放社区让这次发布成为可能。仅仅在三年时间内就完成了超过5万次提,这还只是 Kubernetes 主要仓库的数量。 其他对于 Kubernetes 贡献到相关的仓库的扩展,提升了项目整体的稳定性。是速度让 Kubernetes 成为史上发展最快的开源项目之一。 世界的每一个角落都能发现 Kubernetes 的采用案例。从社区收集到的近期案例有: GolfNow,一个 NBC Sports Group 成员,在把应用迁移到 Kubernetes 后,获得了更好的资源利用率,基础设施的开销砍掉一半。 Bitmovin,一个视频基础设施解决方案提供商,向我们展示了他们在云环境和就地部署环境中如何实施多阶段金丝雀部署。 Ocado,世界最大的在线超市,使用 Kubernetes 为他们的...阅读全文

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

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

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

Docker 快速入门之 Dockerfile

用于执行命令,并且是在新的一层上执行,并把执行后的结果提,也就是生成新的一层。基于这个问题,我们在使用 RUN 指令时应该尽可能的把要执行的命令一次写完,以减少最后生成的镜像的层数。语法: RUN RUN ["executable", "param1", "param2"] 3.3 CMD CMD 指令用于给容器启动时指定一个用于执行的命令,例如上例中的 nginx 启动命令。 语法: CMD ["executable","param1","param2"] CMD ["param1","param2"] ### 用于给 ENTRYPOINT 指令提供默认参数 CMD command param1 param2 3.4 LABEL LABEL 指令用于为镜像指定标签,可...阅读全文

博文 2017-12-16 13:50:31 debian.cn

图解 Debian 系统通用安装教程

并记牢,超级管理员账户啊。 建立新用户,这个只是个昵称,不是登录时的用户名,可以根据自己喜好填。 这玩意就是登录时的用户名了,设置时要多注意,并且一定要记住(其实记不住也没事,还有root呢)。 设置用户密码。 接下来该磁盘分区了,我用的虚拟机,但是方法上都一样的。 有空闲分区的话推荐使用安装程序进行自动分区,当然也可以手动分区。自动分区的话如果是新手推荐“将所有文件放在同一个分区中”,有经验的就根据自己喜好调整吧。 手动分区的话一定要记住挂载/根目录,否则会报错。Swap分区(换分区)推荐大小为物理内存的两倍,比如我的实际内存为2G,swap给上4G就行了。 完成调整后保存分区表即可。需要注意的是需要记住挂载 根目录/ 的分区号,方便后面安装grub, 选是。 对于软件安装,教程既然写的...阅读全文

博文 2017-07-13 12:52:56 debian.cn

Python的闭包和装饰器

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

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

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

十个增加 Linux Shell 脚本趣味的小工具

-Windows 系统发送消息 smbclient可以和 SMB/CIFS服务器通信。它可以向MS-Windows系统的指定用户发送消息: smbclient -M WinXPPro < 或者 echo "${Message}" | smbclient -M salesguy2 10. Bash Socket 编程 你可以在bash中开启一个socket链接,并且传输数据。Bash有两个特殊的设备文件: /dev/tcp/host/port - 如果hostname,和port是合法的话,bash会尝试开启一个TCP连接。 /dev/udp/host/port - 如果hostname和port是合法的话,bash会开启一个UDP连接。 你可以利用这个技术来测试一主机的端口是否是开启的,而不需要使用...阅读全文

博文 2018-04-09 09:38:50 debian.cn

处理器架构消亡史

扩展到完整的64位体系架构。于是,Alpha架构应运而生。Alpha于1992年末推出,是专为高端式机,工作站和服务器设计的微处理器架构,这也使得他们成为首批实现64位体系架构的企业之一。Alpha对于产业的贡献或许不是有多少产品采用了这种架构,而是他在理论上为产业的发展提供了一种新思路。有人认为,Alpha,MIPS两种RISC架构都比较早的考虑了64位、和引入了很多超前的微架构设计概念,以至于影响了以后英特尔在微架构(uops)、超线程方面的发展,这些在英特尔处理器微架构设计隐约能看到Alpha架构的一些影子。除此之外,艾康电脑公司于1983年开始的开发项目——ARM也是值得一提的架构。1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。由于这项目非常重要,艾康电脑甚至于...阅读全文

Debian 10使用 Wine 安装配置微信、QQ与TIM

法)能够显示中文了。你说还有中文不能显示,还有方框,那确实是会有的。但笔者水有限,也不懂怎么解决了。。 追求精致的读者,可以在终端中输入regedit打开wine的注册表,追踪[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]键值作更细致的尝试,比如其他注册表的值,比如把相关的字体复制过去。 wine安装exe软件 参考:deepin wiki中wine安装,在终端中执行 wine uninstaller 会弹出如下窗口 点击界面的Install可以浏览目录的exe文件安装。注意上面界面找不到你要的东西,则在File of types中下拉选择,可以显示更多安装包。 点击下面方框...阅读全文

Debian 9.3上安装和配置 Observium 监控平台

Observium是一个免费的开源网络管理和监控工具,可用于监控所有的网络设备。 它是用PHP编写的,使用SNMP从连接的设备收集数据并使用Web界面监视它们。 Observium支持大量的网络硬件和操作系统,包括Linux,Windows,FreeBSD,思科,戴尔,NetApp等等。 Observium提供了一个功能强大,简单用的界面来监视网络的健康和状态。 在本教程中,我们将解释如何在Debian 9服务器上安装和配置Observium。配置需求: 一个新的Debian 9服务器安装在您的系统上。 在您的服务器上设置一个根密码。 入门 首先运行以下命令,将系统更新到最新的稳定版本: apt-get update -y apt-get upgrade -y 系统更新后,重新启动系统以...阅读全文

博文 2017-12-30 11:35:21 debian.cn

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

最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负责跟第三方渠道SDK打道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内部根本没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

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

aptitude 与 apt

看上去不错。这个游戏是不是已经安装了?最新版本是多少?它属于哪一类软件,universe还是main?apt-cache policy torcs好吧,现在我要来安装它!apt-get install torcs在控制下我应该调用什么命令来运行这个游戏呢?在这个例子中,直接用torcs就行了,但并不是每次都这么简单。我们可一通过查找哪些文件被安 装到了 “/usr/bin”文件夹下来确定二进制文件名。对于游戏软件,这些二进制文件将被安装到“/usr/games”下面。对于系统管理工具相应的文件夹是“/usr/sbin”。dpkg -L torcs|grep /usr/games/这个命令的前面一部分显示软件包“torcs”安装的所有文件(您自己试试看)。通过命令的第二部分,我们告诉系统只显...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

RabbitMQ 高可用实现镜像队列

列中某个节点宕掉的后果: 当slave宕掉了,除了与slave相连的客户端连接全部断开之外,没有其他影响。 当master宕掉时,会有以下连锁反应: 与master相连的客户端连接全部断开;选举最老的slave节点为master。若此时所有slave处于未同步状态,则未同步部分消息丢失;新的master节点requeue所有unack消息,在此我向大家推荐一个架构学习流圈:830478757 帮助突破瓶颈 提升思维能力,因为这个新节点无法区分这些unack消息是否已经到达客户端,亦或是ack消息丢失在老的master的链路上,亦或者是丢在master组播ack消息到所有slave的链路上。所以处于消息可靠性的考虑,requeue所有unack的消息。此时客户端可能有重复消息;如果客户端连着...阅读全文

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

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

了解决一小群人的问题而开发的。或者说,也许一开始的确是因此而开发,但是随便谁都能参与改良和开发的这个特点使得这个软件往更大的方向发展,最后的成品可能是连当初的开发者都未曾想到的。所以最后你拿到手的软件功能和应用范围都是非常广泛的。Debian 自然也采取了这个方法。 我们是从一个非常基础的系统开始做起的。当初,系统只有驱动器和最简单的 Unix,以及我们加的编译器和调试器(因为这是用户感兴趣的重点)。然后我们基本就是在任其发展:比如用户喜欢业余无线电,所以他们就开发了相关软件包然后放到系统里。虽说我对业余无线电基本是一无所知,但是懂的人可以参与进来和我们一起搭建系统。Debian 还带了快速运动跟中资源包,因为我们的系统是分散式的,所以一个个任务都会给不同的人去做最后在拼凑起来。我可以很自...阅读全文

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

分布式运行时 Dapr 知多少

API:POST/PUT http://localhost:/v1.0/bindings/输出到Kafka特定队列上。 5. Actors Dapr中的Actor模型,和Orleans的Virtual Actor一脉相传,之前写过一篇文章Orleans 知多少 | .NET Core 分布式框架介绍过。简单来讲:Actor模型 = 状态 + 行为 + 消息。一个应用/服务由多个Actor组成,每个Actor都是一个独立的运行单元,拥有隔离的运行空间,在隔离的空间内,其有独立的状态和行为,不被外界干预,Actor之间通过消息进行互,而同一时刻,每个Actor只能被单个线程执行,这样既有效避免了数据共享和并发问题,又确保了应用的伸缩性。 Actor模型大大简化了并发编程的复杂...阅读全文

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

deploy nginx --port 80 --target-port 80 --type NodePort 服务是另一种类型的Kubernetes对象,它向内部和外部客户端公开集群内部服务。 它们还能够对多个pod进行负载均衡请求,并且是Kubernetes中不可或缺的组件,经常与其他组件互。 运行以下命令: kubectl get services 这将输出类似于以下内容的文本: OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 1d nginx NodePort 10.109.228.209 80:nginx_port/TCP 40m 从上面输出的第三行,您可以检...阅读全文

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