InfraPub 为您找到相关结果 204

西部数据的Zonefs将登陆Linux 5.6内核

SMR HDD和其他分区式存储设备提出的优化方案。它在传统的块设备之外提供了另一种映射,将分区式存储设备上面的每一个区都映射成一个单独的文件,这带来的好处就是应用程序无需修改太多的代码即可利用上分区式存储设备的优点,很多原本要自己做的控制都被集成在Zonefs里面了,不用开发者来动手了,这大大减少了使用分区式存储设备的迁移工作量。 Linux 5.6内核已经发布了第三个发布选版,预计将于近期发布正式版,这版内核包括有针对新硬件的支持,被 Phoronix 称为是近几年最激动人心的Linux内核更新。...阅读全文

Debian告知用户其系统在没有商业固件的情况下可能无法工作

Debian 11 “Bullseye “将于8月中旬发布,今天上午发布的是Debian Bullseye安装程序的第三个选版本。本次安装程序的更新为用户提供了更多的文件,部分技术以外的内容受到格外的关注,因为开发团队希望让用户知道将这套系统运行在现代显卡和类似产品的风险,除非加载不被认为是自由软件的固件,否则这些产品往往无法使用。​对于许多现代图形处理器,包括AMD的图形处理器,甚至是NVIDIA最近几代GPU的Nouveau驱动程序经常会出现这样的情况:不仅3D硬件加速不工作,甚至显示模式设置也可能失败,导致空白屏幕或以次优的分辨率驱动未加速的显示器。特别是对于较新的GPU和现代显示器来说,如果没有固件文件,这些开源驱动程序等于说是没有用的,而可公开重新发行的固件文件只有二进制文件因...阅读全文

如何在Debian和Ubuntu下重新打包Deb文件

本文将会为 Ubuntu、Linux Mint 和 Debian GUN/Linux 用户讲述,如何在它们基于Debian的Linux操作系统上轻松的解压和重新打包.deb文件。 有时你在生活中会碰到这样的问题,你想要修改.deb文件的部分内容,然后重新打包。下面的例子是刚发生在我身上的真实经历。一位Linux开发者为一个软件构建了一个Debian包(.deb),我也成功地将它安装在我的装载Ubuntu的电脑上。 当我试图从一个Git库中检索一些文件时,它总是卡顿,很显然,该软件并没有正常工作。我知道安装的文件在哪里(/opt目录),所以,我搜查了代码并适当地将部分问题修复。之后,当程序试图检索需要的包时不再卡顿。 所以长话短说,我要将.deb文件解包,替换上我的补丁文件,然后再重新打包...阅读全文

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

WebAssembly时代 Rust也想成为Web语言

-bindgen 的高级功能包括: 导入 JavaScript 结构、函数和对象以在 WebAssembly 中调用。开发人员可以调用结构中的方法和访问属性。 将 Rust 结构和函数导出到 JavaScript。可以导出一个 Rust struct,它会变成一个 JavaScript class,之后就可以传递结构而不是整型。 目前,WebAssembly 仅支持四种类型:两种整型和两种浮点型。但 JavaScript 和 Rust 开发人员经常使用更丰富的类型,例如 Rust 开发人员使用 Result 类型进行错误处理,这样,使用 wasm-bindgen 的时,JavaScript 可以使用字符串或 Rust 函数调用 Rust API 来捕获 JavaScript 异常。通过消除...阅读全文

博文 2018-04-10 12:38:26 debian.cn

Go 1.8 正式发布 标准库有显著变化和性能提升

今天Go 团队很高兴地宣布Go 1.8发布了。现已提供下载。整个标准库有了显著的性能提升和变化。该版本主要的更新内容如下: Go 1.7中为64位x86引入的编译器后端现在用于所有体系结构,这些体系结构将会有显著的性能改进。例如,我们的基准程序所需的CPU时间在32位ARM系统上减少了20-30%。在此版本中,64位x86系统还有一些性能改进,编译器和链接器更快了,编译时间应该比Go 1.7提高约15%。但是在这一领域还有很长的路要走:我们希望在未来版本中实现更快的编译速度。 垃圾收集暂停时间明显更短,通常在100微秒以下,有时甚至低至10微秒。 HTTP服务器添加对 HTTP/2 Push的支持,允许服务器抢先发送响应到客户端。这对于通过消除往返行程来最小化网络延迟非常有用。HTTP服...阅读全文

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

K8S中Pod的四个阶段及状态分析

载镜像的时间,这可能需要花些时间。正常终止(PodSucceeded):pod中的所有的容器已经正常的自行退出,并且k8s永远不会自动重启这些容器,一般会是在部署job的时会出现。异常停止(PodEailed):Pod 中的所有容器都已终止了,并且至少有一个容器是因为失败终止。也就是说,容器以非0状态退出或者被系统终止。未知状态(PodUnkonwn):出于某种原因,无法获得Pod的状态,通常是由于与Pod主机通信时出错。 一个 pod 的创建,通常会伴随着各种事件的产生,k8s中事件的种类共分为4种: Added EventType = "ADDED"Modified EventType = "MODIFIED"Deleted EventType = "DELETED"Error...阅读全文

博文 2020-07-15 13:11:45 debian.cn

Go 语言发布 2.x 计划,或将不完全向后兼容

Go 语言官博发文展示了 Go 2 计划,征询社区和用户的意见。 先简单回顾 Go 语言发展历程: 2007 年 9 月 25 日,Rob Pike、Robert Griesemer 和 Ken Thompson 讨论构建一种新的编程语言,Rob 建议命名为 “Go” 。 随后,Russ Cox 和 Lance Taylor 加入 Go 语言设计团队。2009 年 11 月 10 日,Go 语言开源。 在开源社区的帮助下,Go 做了一系列改进,于 2011 年 10 月 5 日正式提出 Go 1 计划。2012 年 3 月 28 日 Go 1.0 正式发布。 Go 语言从酝酿到发布经历了五年,Go 1.x 开发也已持续了五年,目前更新到了 1.9 版本(正式版计划 8 月发布),也是时讨...阅读全文

博文 2017-07-22 19:50:05 debian.cn

PCIe 6.0完成0.5版本:明年正式版 总带宽256GB/s

前向纠错(FEC)和相关机制,以改进带宽效率。 今年的PCI-SIG开发者大会将于6月初举行,届时会有超过25家组织成员对PCIe 6.0规范进行面对面讨论,更多细节也会对外公布。 大家可能会感到疑惑:PCIe规范更新换代如此迅速,我该买哪个版本的产品最好?是不是现在入手PCIe 4.0的很快就会过时呢? 其实大可不必有此担忧,因为任何科技都是在不断发展演进的,永远都会有更好的出现,自己有需要的时就上。...阅读全文

博文 2020-02-22 22:20:38 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

SVN切换分支用法汇总

常;Step 2:检查定时同步是否被禁用;Step 3:查看是否有锁定冲突。3. 非版本库URL地址不能使用svn switch在切换分支时,如果选定的URL地址不在源码的SVN版本控制中,就不能使用svn switch,而是需要使用svn checkout命令来创建一个新的代码副本。这里需要提醒的是,SVN是针对版本控制库来操作的,所有URL地址必须与版本控制库相关联。五、SVN切换分支的注意事项在使用SVN进行分支切换的过程中,还有一些需要注意的地方,下面我们来看一下这些事项:1. 切换分支前先保存修改在切换分支的过程中,我们需要先将工作副本的修改保存下来。因为在切换分支的时,SVN会删除当前工作副本并重新检出新的代码版本,如果我们在工作副本中有未提交的修改,这些修改将会全部丢失。所以...阅读全文

博文 2023-06-09 14:22:35 infras

Python的闭包和装饰器

意,可以形象的把它理解为一个封闭的包裹,这个包裹就是一个函数,当然还有函数内部对应的逻辑,包裹里面的东西就是自由变量,自由变量可以在随着包裹到处游荡。当然还得有个前提,这个包裹是被创建出来的。 在通过Python的语言介绍一下,一个闭包就是你调用了一个函数A,这个函数A返回了一个函数B给你。这个返回的函数B就叫做闭包。你在调用函数A的时传递的参数就是自由变量。 举个例子: def func(name): def inner_func(age): print 'name:', name, 'age:', age return inner_func bb = func('the5fire') bb(26) # >>> name: the5fire age: 26 这里面调用func的时就产生...阅读全文

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

Docker 快速入门之 Dockerfile

, LABEL, EXPOSE, ENV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ARG, ONBUILD, SHELL等指令,这里只选择常用的几个进行讲解,可结合上面的示例进行理解。其它的请自行查阅官方文档。 3.1 FROM FROM 指令用于指定要操作的基础镜像,因为在我们构建我们自己的镜像的时需要一个基础镜像。 语法: FROM [AS ] FROM [:] [AS ] 其中 [AS ] 为指定一个名称,在一个 Dockerfile 中多次使用 FROM 时如有需要,可用 COPY --from= 语法进行复制。 3.2 RUN RUN 指令...阅读全文

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

Debian 10 Buster 正式版即将发布

Debian 10 Buster 即将发布。第一个发布选版已经发布,我们预期可以在接下来几周内,会见到最终版。如果你期待对 Debian 10 Buster 的新版本有所期待,那么让我告诉你这个版本里面会有什么。 Debian 10 Buster 发布计划 Debian 10 Buster 的发布日期并没有确定。为什么这样呢?不像其他分发版,Debian 并不基于时间发布。相反地它主要关注于修复 release-critical bug。发布版重要 Bug 要么是严重的安全问题(CVE),要么是一些其他阻止 Debian 发布的严重问题。 Debian 在它的软件归档中分为三个部分,叫做 main、contrib 和 non-free。在这三者之中,Debian 开发者和发布管理者最关心...阅读全文

博文 2019-04-29 11:04:15 debian.cn

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

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

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

“Debian 章程有毒” - OSCHINA

Debian 章程最初制定的时,尽管感觉到了不妥,但我没有发声。我很清楚,这份有毒的章程正在缓慢且坚定地引导 Debian 走向病态。 在2021年11月的一次访谈中,Joey 直言 “Debian 章程有毒”。在 Debian 章程的框架下,Joey 感到紧张,因为这些章程正在拖延着所有的决策。 同样是在2014年,同样是因为这场旷日持久的 syetemd 论战,当年的 Debian 技术委员会成员 Colin Watson 和 Russ Allbery 先后在 Debian 邮件列表上宣布了辞职声明。在 Russ Allbery 的辞职信中,他提到了 Joey: Finally, I've been thinking hard about Debian project governance in...阅读全文

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

Golang 操作 Kafka 样例

broker-0、broker-1等…… Topic:消息的主题,可以理解为消息的分类,kafka的数据就保存在topic。在每个broker上 都可以创建多个topic。实际应用中通常是一个业务线建一个topic。 Partition:Topic的分区,每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞 吐量。同一个topic在不同的分区的数据是不重复的,partition的表现形式就是一个一个的⽂件夹! Replication:每一个分区都有多个副本,副本的作用是做备胎。当主分区(Leader)故障的 时会选择一个备胎(Follower)上位,成为Leader。在kafka中默认副本的最大数量是10 个,且副本的数量不能大于Broker的数量,follower和leader绝对...阅读全文

博文 2023-01-10 13:46:09 掘金

谷歌公开了内部管理Infra层的两个工具的Paper

同点:不再关注于给生产环境推送单独的变更,而是关注于想要达到的状态。不再维护一步一步的工作流,而是让服务所有者使用配置来描述他们想要基础架构达到的样子:运行什么job,负载均衡器的搭建,数据库schema的位置等等。 基于这些信息,Prodspec和Annealing将这些配置转化成统一的结构,随后被执行。执行是安全并且持续性的:自动化系统重复地比较用户模型所表达的预期状态和生产环境的状态,并且在安全的时自动触发reconciliation。服务所有者不再需要将配置变更手动推送到生产环境里。 因为我们从2015年左右就开始开发Prodspec和Annealing,基于intent的执行(intent-based actuation)这一简单明了的理念如今已经成了实际的标准。Google生产...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Debian瞻前 微软顾后:安全改进是否会产生负面影响

关于添加TLS 1.2的博文中都没有提到PCI。它表示,它想要删除“弃用旧的安全协议”的障碍,并致力于“一流的加密”。 但是,如果更好的安全性是真正的目标,为什么微软忽略增加其他现代功能?为了公平起见,Windows Server 2008的TLS支持不是过于差劲。由于ECDHE支持,它至少具有PFS(完全正向保密)密码。 有时,强行优化一个老系统可能会带来更多安全和生态上的落差。因为它使企业和用户有借口坚持早就该被替换或升级的系统。 这也是为什么去年Chrome把整个Diffie-Hellman密码类都移除掉的部分原因。尽管它可以只保留支持更强的2048位参数,直接取消全部更为简单安全。 Debian放出的仅支持TLS1.2的消息可能不是最终决定,但这种胆识确实值得赞许。与此同时,在...阅读全文

博文 2017-08-11 09:54:18 debian.cn

百度开源项目 ECharts 首进 Apache 孵化器

近日全球著名开源社区 Apache 基金会,宣布“百度开源的 ECharts 项目全票通过进入 Apache 孵化器”。这是百度第一个进入国际顶级开源社区的项目,也标志着百度开源正式进入开源发展的快车道。 ECharts 成为 Apache 孵化器项目之前,已经是国内可视化生态领域的领军者,近年内连续被开源中国评选为“年度最受欢迎的中国开源软件”,并广泛被各行业企业以及事业单位、科研院所应用。涉及行业包含金融、教育、医疗、物流、气监测等众多领域,其中甚至包括阿里巴巴、腾讯、华为、联想、小米、国家电网、中国石化等。 ECharts 负责人祖明介绍到:“ ECharts 作为拥有丰富的可视化图表类型和深度交互能力的开源可视化库,配置便捷容易上手,同时上千的配置项和不同层面的扩展机制带来了灵活...阅读全文

博文 2018-03-09 08:46:07 debian.cn

故意泼脏水?AMD官方回应Zen安全漏洞

在漏洞,这件事也显得很诡异。 国外权威硬件媒体AnandTech在报道此事的时,也首先提出了一系列质疑: CTS-Labs只给了AMD 24小时的时间知晓问题所在,而行业标准都是在漏洞发现后,提前联系涉事公司,并且要等90天才会对外公开,以便修复解决,而且初期不会披露漏洞技术细节。 在告知AMD和公开之前,CTS-Labs首先联系了一些媒体,向他们通报情况。 CTS-Labs 2017年才刚刚成立,资质尚浅,这只是他们的第一份公开安全报告,也未公开自己的任何客户。 CTS-Labs并没有自己的官方网站,公布此次漏洞却专门建立了一个名为AMDFlaws.com的网站,还是2月22日刚刚注册的。 从网站布局看,很像是已经提前准备了很久,并未考虑AMD的回应。 CTS-Labs还雇佣了一个公关公...阅读全文

HTTPS 证书有效期被提议缩短至13个月

的证书颁发机构带来巨大压力。 Hollebeek 称: 将证书寿命迅速缩短到一年,甚至更少,对于许多依赖数字证书保护系统的公司来说,这将带来巨大的成本。这些费用不会换来更加安全的改进,并且这项提案对从事非法活动或冒充合法公司的非法分子不会有任何影响。最主要的一点是,减少证书寿命的任何好处都是属于理论性的,在短期内要付诸实际的话,产生的风险和成本也将难以预测。 该提案于今年早些时在谷歌员工 Ryan Sleevi 的一次会议上提出,目前仍处于草案阶段,还没有关于何时进行表决的消息。...阅读全文

博文 2019-08-14 14:13:58 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

Django 采用新的项目治理模式

创建一个新角色“Merger”,他可以 commit,但只能合并来自其他人的 pr。合并不能决定主动将内容添加到 Django,也没有任何特殊的决策特权。 此外还会创建“Releaser”角色,他可以访问 Django 的发行版本并执行相关的机制,例如在关键文件中增加版本号。 另一方面,在有需要的情况下,技术委员会将保留为最终决策机构,并且还将负责就 Django 未来技术方向的想法和建议进行调查,并确定发布时间表。 但是,技术委员会的成员资格将不再仅限于 committer,技术委员会也不再由 committer 选举产生。凡是向 Django 技术贡献过的人都有资格竞选技术委员会委员,并由 Django 软件基金会的个人成员评选。选举的潜在选人从此前的大约 50 位(committer...阅读全文

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

10年来最重要创新 ARM发布AMRv9指令集:IPC性能大涨30%

,ARM会增加更多高级功能,比如VRS可变帧率渲染、RT光线追踪及其他高级渲染技术等。在ARMv9中,最重要的一项挑战其实是数据安全,这一次ARM推出了全新的CCA机密计算体系架构,基于之前的TrustZone安全技术,但引入了动态域技术,它对操作系统及管理程序来说是完全不透明的,不会被系统或者软件提权攻击,而且依然可以接受管理及调度。总之,ARM今天公布的ARMv9指令集极具创新,是未来10年3000多亿ARM芯片的基础,不过现在具体的细节还很少,只是一个初步的路线图,今年夏天还会公布更多详细内容。至于ARMv9处理器的商业化,预计会在2022年早些时进入市场。...阅读全文

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

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

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

Golang 之禅: 如何写优质代码

。 明确处理错误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫子句将成功路径保持在左侧。 并发权留给调用者 让调用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时会停止 goroutines 拥有资源、锁、变量与内存等,释放这些资源的可靠方法是停止 goroutine。 避免包级别的状态 要完成明确和...阅读全文

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

不可变基础设施 (immutable infrastructure) - 云原生定义解析

(对于大中型机,甚至重启都是一种奢侈的)。所以,在当时不可变基础设施的设想是难以实现的,开发人员总是需要在服务器上对运行环境做一下持续的更改,如:系统升级,配置修改,补丁等。在许多手动修改之后,服务器的不同配置的重要性或必要性变得不清楚,因此更新或更改任何配置可能会产生意想不到的副作用(这就导致了 Martin Fowler所说的snowflake server “Phoenix Server”,2012)。可变基础设施通常会导致以下问题。在灾难发生的时,难以重新构建服务。持续过多的手工操作,缺乏记录,会导致很难由标准初始化后的服务器来重新构建起等效的服务。在服务运行过程中,持续的修改服务器,就犹如程序中的可变变量的值发生变化而引入的状态不一致的并发风险。这些对于服务器的修改,同样会引入中间...阅读全文

使用 Go 语言的三个原因

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

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

Ubuntu 17.04(Zesty Zapus)正式版发布

今天,2017 年 4 月 13 日,Canonical 官方发布了 Ubuntu 17.04(Zesty Zapus)的最终版。自从去年十月发布 Ubuntu 16.10(Yakkety Yak)起,它已经开发了将近 6 个月。 如果直到今天,你一直在你的电脑上使用 Ubuntu 16.10,那么是时升级到 Ubuntu 17.04 了,它是一个强大的发行版,“内外兼修”。它由最新的稳定的 Linux 4.10 内核驱动,并使用最新的基于 X.org 服务器 1.19.3 和 Mesa 17.0.3 的图形 Stack 进行配备。 上面提到的三个新技术,是那些使用 AMD 的 Radeon 显卡来玩游戏的人们需要立刻升级到 Ubuntu 17.04(Zesty Zapus)的唯一原因...阅读全文

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

Debian 25 岁生日快乐!精彩仍在继续

根据这两个名字在美国英语的发音而读作 /'dɛbiːjən/。 作为一个大的系统组织框架,Debian 旗下有多种不同操作系统核心的分支计划,主要为采用 Linux 内核的 Debian GNU/Linux 系统,其他还有采用 GNU Hurd 内核的 Debian GNU/Hurd 系统、采用 FreeBSD 核心的 Debian GNU/kFreeBSD 系统等。现在大家说 Debian 的时,默认就是 Debian GNU/Linux。 25 年前,当 Ian Murdock 在 comp.os.linux.development 邮件列表中宣布 “即将完成全新的 Linux 发行版, [...] Debian Linux 发行版”时,没有人会想到"Debian Linux...阅读全文

博文 2018-08-17 00:01:33 debian.cn

Debian GNU/Linux 诞生 27 周年

心的 Debian GNU/kFreeBSD 系统等。现在大家说 Debian 的时,默认就是 Debian GNU/Linux。 Debian GNU/Linux 被全球数百万计算机用户使用,并在十多种架构上得到支持,在生活中的方方面面为我们提供服务。从你附近机场的内部运作到你的汽车娱乐系统,从托管你喜欢的网站的云服务器到与它们通信的物联网设备,Debian 都是他们背后的支持。 今天,Debian 项目是一个庞大而蓬勃发展的组织,拥有由志愿者组成的无数自组织团队。虽然它通常看起来很混乱,但该项目由两个主要的组织文件维持:Debian 社会契约(Debian Social Contract),用以提供改善社会的愿景,以及 Debian 自由软件指南(Debian Free...阅读全文

博文 2020-08-17 08:32:32 debian.cn

几种常用的方法论、思维方式

,无论你有多大的聪明才智,也无论你如何努力进取,总会有一个你胜任不了的职位在等待着你,并且你一定会达到那个位置。这就是著名的彼得原理。 吉尔伯特法则 吉尔伯特法则是由吉尔伯特提出的一条管理定律,指出“工作危机最确凿的信号,是没有人跟你说该怎样做。” 它告诉我们一个道理:作为下属,当有人教训和指点的时都是福气,都意味着关心。怕就怕没有人说你什么,也没有人教你怎么做。这等于说你没人管了,游离于纪律、规章的制约之外,看似自由,其实危机四伏。 沃尔森法则 沃尔森法则是美国企业家沃尔森提出的法则。主旨为把信息和情报放在第一位,金钱就会滚滚而来。你能得到多少,往往取决于你能知道多少。 要在变幻莫测的市场竞争中立于不败之地,你就必须准确快速地获悉各种情报:市场有什么新动向?竞争对手有什么新举措?……在获得...阅读全文

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

"Linux 内核 “社区” 对待安全的优先级并不高,虽然经历了 2000 年代的多次大规模漏洞利用事件但并没有让 Linus Torvalds 本人改变 "A bug is bug" 的哲学,由于 Linux 内核的安全问题逐渐影响到了 Android 和 IoT 设备,一次 华盛顿邮报的曝光促使了 KSPP(Linux 内核自防护项目)的成立。 KSPP 是由 Linux 基金会旗下的 CII(基础架构联盟)管理,其吸纳了来自诸多大厂商(Google, RedHat, Intel, ARM 等)的工程师进行联合工作,可惜的是两年的时间过去了,KSPP 大多时只是在重复的抄袭 PaX/Grsecurity 的各种特性以获得各自雇主那里的 KPI 和 credit,各种混乱的代码合并到了...阅读全文

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

如何在一个U盘上安装多个Linux发行版

U 盘上安装多个 Linux 发行版的方式呢?我们将在本教程中看到如何做到这一点。 如何创建有多个 Linux 发行版的可启动 USB 我们有一个工具正好可以做到在单个 U 盘上保留多个 Linux 发行版。你所需要做的只是选择要安装的发行版。在本教程中,我们将介绍如何在 U 盘中安装多个 Linux 发行版用于现场会话live session。 要确保你有一个足够大的 U 盘,以便在它上面安装多个 Linux 发行版,一个 8 GB 的 U 盘应该足够用于三四个 Linux 发行版。 步骤 1 MultiBootUSB 是一个自由、开源的跨平台应用程序,允许你创建具有多个 Linux 发行版的 U 盘。它还支持在任何时卸载任何发行版,以便你回收驱动器上的空间用于另一个发行版。 下载...阅读全文

博文 2017-10-18 13:42:20 debian.cn

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

缓存功能,保证存储在客户端内存的数据,在收到来自服务器的失效通知时才失效。 另外,当客户端和服务器的连接中断时,客户端无法接收到数据失效通知,这可能会导致服务出现问题。针对这种情况,一般的做法是重新建立客户端和服务器之间的连接,并更新客户端当前的缓存。antirez 表示可以一直保持连接是最好的情况,但为了降低风险,Redis 服务器在与客户端断开连接时,会将失效通知发送给其他客户端。 这项名为”Client side caching” 的功能尚未正式确定名字,最后可能会被成为”Tracking”。Redis 作者还表示在 Redis 6 选版发布之前,这些功能都会进行调整,希望社区能积极反馈意见。 由于 Client side caching 功能需要使用 RESP3 协议来支持实现...阅读全文

Linux 上如何禁用 USB 存储设备

程序了,从而导致磁盘不可用。 但是这个方法有一个小问题,那就是当系统内核更新的时,usb-storage 模块会再次出现在它的默认位置。 方法 3:将 USB 存储器纳入黑名单 我们也可以通过 /etc/modprobe.d/blacklist.conf 文件将 usb-storage 纳入黑名单。这个文件在 RHEL/CentOS 6 是现成就有的,但在 7 上可能需要自己创建。 要将 USB 存储列入黑名单,请使用 vim 打开/创建上述文件: $ sudo vim /etc/modprobe.d/blacklist.conf 并输入以下行将 USB 纳入黑名单: blacklist usb-storage 保存文件并退出。usb-storage 就在就会被系统阻止加载,但这种方法有一...阅读全文

博文 2017-12-18 22:52:58 debian.cn

提问的智慧(精简版)

遇到问题,当然应该大胆提问!但绝对不是随便截个图丢给其他人,等待解决方案。原文请见 提问的智慧 (How To Ask Questions The Smart Way) 。这篇文章对于社区提问给出了很多建议,现作要点精简如下。请你做到完成了 RTFM (Read The Fucking Manual) 和 STFW (Search The Fucking Web) 两个步骤。通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时也正在读着。这些答复意味着回答者认为你需要的信息非常容易获得;你自己去搜索这些信息比灌给你,能让你学到更多。按发生时间先后列出问题症状问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步...阅读全文

博文 2023-10-07 15:02:42 infras

Debian Live 项目的剧变

Learmonth 要求为他的包换一个不同的名字的时,他得到了一个「有趣」的回复: 应该注意到, live-build 不是一个 Debian 项目,它是一个声称自己是官方 Debian 项目的外部项目,这是一个需要我们解决的问题。 这不是命名空间的问题,我们要将以目前维护的 live-config 和 live-boot 包为基础,把它们加入到 Debian 的本地项目。如果迫不得已的话,这将会有很多分支,但是我希望它不要发生,这样的话我们就可以把这些包整合到 Debian 中并继续以一种协作的方式去开发。 live-build 已经被 debian-cd 放弃,live-build-ng 将会取代它。至少在一个精简的 Debian 环境中,live-build 会被放弃。我们(开发团队)正在与...阅读全文

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

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

,Mason会做兼容性测试与性能优化的工作。 本文主要介绍了Facebook是怎么使用Linux和Btrfs的。 Linux.com:Btrfs已经开发了很长时间,现在是时推出了吗?我知道有些Linux发行版已经把它作为默认的文件系统,有的没有。 Chris Mason:众多发行版中SUSE确实在企业服务器版使用Btrfs作为默认文件系统,因为SUSE花了大量的人力和物力在做Btrfs的技术支持,我也很感激;Red Hat并没有这么做。一个发行版是否采用Btrfs是人们特别关心的特性,而且大家希望能在这个特性上构建新的东西。 Linux.com:Btrfs最有价值的地方是什么?如果我没记错的话,Facebook也在使用Btrfs。 Chris Mason:在Facebook内部,我们有...阅读全文

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

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

起运维人员挖矿导致百度损失 2.7 万的事件,同样是运维人员在“涉险”,为什么是运维人员呢? “运维”人员在企业的价值,他们自己的调侃是:当企业没有发生技术故障的时,大家感觉不到运维人员的存在。当企业发生故障的时,大家感觉到运维人员确实没有存在的必要。 但调侃归调侃,这反映了技术运维人员在企业中面临的尴尬处境,但实际上,运维人员对于一家企业运营维护的保障,确实是很重要的。他们的职责包括服务器的部署、配置、维护;互联网平台的部署、升级、迁移、数据备份恢复;监控服务器,平台的运行,系统优化等,可以说,他们掌握了企业的后门,一旦运维部门发生危险,公司有可能陷入瘫痪状态,因此,一直以来,运维人员也拥有很多访问权限,而这却变成了运维人员不惜“涉险”的一个原因之一。 于是,如何对运维人员进行权限管理...阅读全文

博文 2020-03-17 20:42:41 debian.cn

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

IP,这是造成IP泄露的直接原因,如下图所示。 问题转移到kubelet, 为什么kubelet会传入一个空的CNI_NETNS环境变量参数给CNI插件? 随后跟踪kubelet的运行日志,发现不少Job Pod创建和销毁的时,生成了一个额外的Sandbox容器。Sandbox容器是k8s pod中的Infra容器,它是Pod中第一个创建出来的容器,用于创建Pod的网络名称空间和初始化Pod网络,例如调用CNI分配Pod IP,下发策略路由等。它执行一个名为pause的进程,这个进程绝大部分时间处于Sleep状态,对系统资源消耗极低。奇怪的是,当任务容器busybox运行结束后,kubelet为Pod又创建了一个新的Sandbox容器,创建过程中自然又进行了一次CNI ADD调用,再次申请了...阅读全文

Git 介绍与使用详解

没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时就不需要联网了,因为版本都是在自己的电脑上。举个例子,要浏览项目的历史,Git 不需外连到服务器去获取历史,然后再显示出来——它只需直接从本地数据库中读取。 你能立即看到项目历史。 如果你想查看当前版本与一个月前的版本之间引入的修改,Git 会查找到一个月前的文件做一次本地的差异计算,而不是由远程服务器处理或从远程服务器拉回旧版本文件再来本地处理。 2.安装、配置Git 2.1GUI可视化界面推荐 1.GitForWindows https://gitforwindows.org/ 自带GIT BASH和GIT GUI 2.TortoiseGit https://tortoisegit.org/download/ 3...阅读全文

博文 2017-02-25 09:00:27 程序员

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

中去拿线程堆栈的过程,那么我们打印的日志的时,为啥会进行这个操作呢? 首先观察消息日志文件,和一般的日志不同,这里还会打印方法名称,即当前日志时在哪个方法下打印出来的。那么日志框架它是通过线程 stack 去获取到方法名称的,如果配置了 %L,即打印日志所在代码行的情况也是同理。 [2019-10-07 11:50:38 251 INFO ] [PoolDrainDataThreadPool-3] dummy.es.transport.batchAddDocument() - A => {"@timestamp":"2019-10-07T03:50:38.251Z","ipv4":"10.0.49.96:14160;10.0.49.85:14159;10.0.49.85...阅读全文

博文 2022-03-11 10:05:09 博客园

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

Facebook 高速发展的 2007 年到 2016 年,他们一天部署 3 次代码,cherry-pick 集齐成千上万个 commit;现在使用类似持续交付的方法,每个 commit 能自动部署到 production。公司里有很多员工、很多用户的好处:新代码让公司所有员工先用上,因为员工数足够多,能很快发现问题;然后让 2% 的访问量用上新代码,最后慢慢增加到 100% 的访问量。 不久前有篇关于缩短 Facebook 发布流程的文章,阐述了将代码投入生产的灵活方法。这篇文章着重讲述了他们在一年之内如何从“ cherry-picking ”升级到“ push-from-master ”策略。早些时, Facebook 也分享了他们部署过程的细节。作者 Chuck Rossi 是...阅读全文

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

3个 Linux 命令让你看起来很忙:摸鱼的技巧

注:我当然是开玩笑的。如果你真的需要被评估看起来有多忙,那么你们公司存在很严重的文化问题。为了忙碌而忙碌的文化是一种有毒的文化,几乎可以肯定这种文化对公司和员工都没有帮助。 也就是说,让我们找点乐子,用一些老式的无意义数据和代码片段组成的面板填充我们的屏幕(好吧,这些数据可能有一定的意义,但是没有上下文)。虽然有很多花哨的 GUI,但是我们为什么不直接使用标准的 linux 终端呢?为了更老派的外观,可以考虑使用 Cool Retro Term:一个酷酷的复古终端。下面我会用 Cool Retro Term,因为它看起来确实 100% 酷。 Genact 我们要看的第一个工具是 Genact。Genact 只是简单地回放你选择的一个序列,在你出去喝茶休息的时慢慢地、无限期地“编译”你的代码...阅读全文

博文 2019-09-28 15:48:43 debian.cn

开源硬件是趋势,Arm 却走了一条与众不同的路

Android 从来都不存在一样,Arm 也希望 RISC-V 不存在。” Riordan 如此说道。 2019 年可能是 Arm 的转折点。这家英国公司对客户(主要是半导体公司)的微处理器 IP 许可进行了一系列重大更改,目的是提供更好的访问以及更灵活的芯片设计选项。今年早些时,Arm 推出了 Arm 灵活访问权限(Arm Flexible Access)—— 通过它客户可以以较低的费用访问公司的广泛技术组合,而没有购买完整许可证的义务。 在本周于圣何塞举行的 Arm TechCon 年度技术会议上,Arm 首席执行官 Simon Segars 宣布将自定义指令(Custom Instructions)添加到以 IoT 为重点的 Cortex-M 处理器系列中,并从 2020 年上半年的 Arm...阅读全文

博文 2019-10-17 22:39:43 debian.cn

Prometheus 常用 PromQL 语句样例

[4h], 3600)时间获取 Unix 时间,以秒为单位: time()获取最后一次成功运行的批处理作业的年龄: time() - my_batch_job_last_success_timestamp_seconds查找一小时内没有成功的批处理作业: time() - my_batch_job_last_success_timestamp_seconds > 3600缺失数据处理当输入向量为空时,创建一个一个输出序列: absent(my_metric_name)当输入的范围向量5分钟内都是空的时,创建一个空的输出序列: absent_over_time(my_metric_name[5m])标签操作用 - 分隔符连接两个标签的值: label_join(my_metric_name...阅读全文

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

7 个月猛涨 12 亿美元,开源技术服务商成北欧最新独角兽 - OSCHINA

OpenXuantie 的多操作系统(AliOS、FreeRTOS、RT-Thread、Linux、Android 等)的... 28 10 阿里发布自研 CPU 芯片倚天 710 10 月19 日,2021 云栖大会现场,阿里巴巴旗下半导体公司平头哥发布自研云芯片倚天 710。该芯片是业界性能最强的 ARM 服务器芯片,性能超过业界标杆 20%,能效比提升 50% 以上。倚天 710 是阿里云推进「一云多芯」策略的重要一步,也是阿里第一颗为云而生的 CPU 芯片,将在阿里云数据中心部署应用。 和 2019 年发布的 AI... 31 5 GitLab 正式在纳斯达克上市,市值接近 150 亿美元 GitLab 周四正式在在纳斯达克上市,股票代码为 "GTLB"。据了解,GitLab 周三晚些时将其 IPO...阅读全文

博文 2021-10-21 20:04:43 中文开源技术交流社区

C++ 夺冠!成为 TIOBE 2022 年度编程语言

在上个月预想的 C++、C、Python 三种选语言中,C++ 脱颖而出,成为 TIOBE 2022 年度编程语言的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度编程语言的称号,TIOBE 官方也进行了总结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语言。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语言标准。第一个标准被称之为 C++11,它于 2011 年发布,这是自 1998 年以来,C++ 第一次发生的重大变化...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

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

Twitter公司今天在一份新闻稿中宣布,该公司已经接受了埃隆·马斯克以440亿美元收购该公司的提议。最终结果是马斯克以每股54.20美元的价格收购了该公司,这与他本月早些时提出的初始报价中的价格相同。 Twitter是最著名的社交媒体平台之一,现在正式成为埃隆-马斯克不断扩张的商业帝国的一部分。 新闻稿声明指出: "根据协议条款,在拟议的交易完成后,Twitter股东将为他们拥有的每一股Twitter普通股获得54.20美元的现金。该收购价格比2022年4月1日Twitter的收盘价溢价38%,这也是马斯克先生披露他在Twitter约9%的股份之前的最后一个交易日。" 正如我们在过去几天里广泛报道的那样,这个传奇故事始于4月初,当时马斯克披露了他在Twitter...阅读全文