InfraPub 为您找到相关结果 465

系统分析工具 Sysdig 详解

Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具。Sysdig 能从运行的系统中,获取系统状态和行为,做过滤分析,功能上超同类开源工具。Sysdig 可以看做是 strace + tcpdump + lsof + htop + iftop 以及其他系统分析工具的合集 。 此外 Sysdig 还能对容器(如docker、coreOS、LXC)进行监控。 Sysdig 也支持windows平台和mac平台。下面我们以 Linux系统为例,举例说明 Sysdig 的用法,你也可以参考官方文。 网络 查看占用网络带宽最多的进程:sysdig -c topprocs_net显示主机192.168.0.1的网络传输数据 as binary:sysdig...阅读全文

博文 2020-08-09 14:09:05 debian.cn

历数2017年五大Linux痛点

。 ·安装HiDPI和音频的用户在减少 总得看来,在今后的几年里,Linux会按照其生命周期不断的进行升级改进,然而与任何复杂的软件一样,总会有问题。你觉得2017中最常见的Linux技术问题是什么?欢迎在评论中留言与我们进行交流。 作者:JeremyGarcia 文链接:https://opensource.com/article/17/10/top-5-linux-painpoints...阅读全文

博文 2017-11-25 12:27:56 debian.cn

Debian 上安装搭建 Shadowsocks 服务

在使用了一段时间后,决定由 CentOS 转移到 Debian 上,以便在低配置的服务器上网站能更加的稳定,Shadowsocks 服务也有之前的 python 版本转移到了 shadowsocks-libev 版本,因是 libev 的版本是用 C 语言写的,会更加的节省内存,更重要的是该 libev 一直在不断的维护着,更新也很频繁。 搭建环境 本人还是在 Vultr.com 的 VPS 上安装了 Debian 8.0 x86 minimal 系统,在 Debian 8(Jessie) 编译 libev 版本需要开启 debian-backports 来安装 dh-systemd 和 init-system-helpers. 首先要在 debian 的源列表中添加 backports...阅读全文

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

当 Atom 遇见 VSCode:微软将对 GitHub 做的 6 件事

在微软宣布以 75 亿美元的价格收购 GitHub 后,这个在全球拥有超过 2800 万开发者的代码托管平台即将在微软庞大的云计算框架下进行独立运作。 微软 CEO Satya Nadella,CFO Amy Hood ,GitHub 联合创始人兼现任 CEO Chris Wanstrath ,以及即将上任的 GitHub CEO(也是 Xamarin 创始人)Nat Friedman 昨天在短暂的媒体电话会议中分享了有关此次收购和微软对 GitHub 的后续规划的更多细节。 微软在扩展 GitHub 的覆盖面,以及将平台融入微软生态上有着宏伟的规划,但所有的计划会基于以下两点则:GitHub 将保持自主性独立运营,GitHub 向所有开发者开放。 1、三大策略将 GitHub 融入微软...阅读全文

博文 2018-06-06 11:08:17 debian.cn

Debian Linux下LNMP环境配置

-address = 127.0.0.1”这句话在作祟。把地址绑定到了127.0.0.1上,因此远程无法访问到数据库,这里我们把它注释掉就可以了,或者你的服务器是指定ip的话就配置成你服务器的ip地址就可以了。 当然也有可能是你的mysql没有开启远程访问账户的权限,如果是这个因,只需在mysql的user表里添加一条记录即可: grant all PRIVILEGES on thedb.* to user1@'%'identified by 'complex-password'; FLUSH PRIVILEGES; 然后重启一下mysql的服务: service mysql restart 3.安装PHP 使用apt工具安装: apt-get install php5-fpm php5-gd php5...阅读全文

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

Manjaro Linux的两项大胆举措

Manjaro Linux 最近似乎有不少大动作,TechRepublic 和 Linux.com 的获奖作家 Jack Wallen 认为 Manjaro Linux 采取了两项重要举措,这些举措应受到 Linux 社区的赞许。 首先是基于 Manjaro 建立了一家公司 Manjaro GmbH&Co. KG,类比 Ubuntu,Jack 认为 Ubuntu 取得如此成功的因之一便是它背后有公司 Canonical 的支持。背靠商业大树的重要性不言而喻,Canonical 能够成功引导企业业务,让发行版能够持续稳定运营,这其中最重要的一点可能是为其提供研发与推广资金。 Manjaro 也一样,拥有一家商业公司来运作,那么至少在操作系统持续稳定运营上有了更好的保障,并且基于 Arch...阅读全文

博文 2019-10-05 16:24:38 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

成功运作一个开源项目的15个要点

名称也是如此(开源项目的产品通常与项目共享名称,但有些项目会生产多个产品)。声明项目的品牌为商标,并考虑注册商标。制定商标使用指南,以便采用者知道如何使用此品牌。这是一个与开源软件基金会合作可以增值的领域。基金会可以代表社区持有和捍卫项目的商标。这可以避免任何特定的个人或组织劫持开源项目的名称。 13、管理知识产权和版权 为项目作出贡献的代码、文档和其他工件都是知识产权。谁是这些知识产权的拥有者呢?作者保留所有权还是指派给了另一个实体?确保所有的贡献者理解贡献者的权利和责任。考虑让贡献者签署开发者产地证书(DCO)或贡献者许可证协议(CLA)。确保版权声明包含在源代码和通知中。 请注意,项目本身不可能作为持有版权的法律实体。这是另一个开源基金会可以提供有价值的服务的地方。 14、选择OSI...阅读全文

博文 2017-11-08 09:58:28 debian.cn

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

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,强调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这三种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是由于程序的设计不合理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种因无法获得所需的资源,导致一直无法执行...阅读全文

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

Java Annotations详解

对舍弃的因加以说明。 @Override @Override被用在方法前,用来说明覆盖了父类中的方法。假如一个方法被@Override修饰,但实际上它并没有覆盖任何方法,则编译器会提示一个错误。 @Override并不是必须的,即覆盖父类方法时,也可以不在子类方法前面添加@Override。但是还是推荐使用@Override,因为这样做是有好处的,至少可以较少一些不必要的错误。如覆盖方法的方法名不对,并没有实现覆盖;或者有人修改了父类中的方法名,导致的子类中的覆盖失效,如果有@Override,编译器就会自动提示错误,从而避免了错误。 @SuppressWarnings 使用@SuppressWarnings能够是编译器对指定的方法放弃提示警告。如方法中引用了已经被舍弃...阅读全文

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

Ceph 12.2.0 正式版本发布, 代号 Luminous

。 BlueStore支持Ceph存储的所有的完整的数据和元数据校验。 BlueStore内嵌支持使用zlib,snappy或LZ4进行压缩。(Ceph还支持zstd进行RGW压缩,但由于性能因,不为BlueStore推荐使用zstd)。 EC池现在完全支持覆盖,允许它们与RBD和CephFS一起使用。 ceph-mgr: ceph-mgr是一个新的后台进程,这是任何Ceph部署的必须部分。虽然当ceph-mgr停止时,IO可以继续, 但是度量不会刷新,并且某些与度量相关的请求(例如,ceph df)可能会被阻止。我们建议您多部署ceph-mgr的几个实例来实现可靠性。 ceph-mgr守护进程daemon包括基于REST的API管理。注:API仍然是实验性质的,目前有一些限制,但未来会成为API管理的基础...阅读全文

博文 2017-08-31 13:36:49 debian.cn

树莓派 9 周年:你不知道的树莓派冷知识

作为最成功的微型计算机,开源的树莓派(Raspberry Pi)在技术圈和学术界一直广受编程爱好者的好评,各路大神基于树莓派制作的新奇设备层出不穷,围绕这款微型计算机已经形成了一种独特的 DIY 文化,相关的开源软件生态也十分丰富。 ​树莓派最初是剑桥大学计算机系的一个实验性项目,创始人 Eben Upton 召集了一群教师、学者和计算机爱好者,希望设计出一种能激励儿童参与编程的小型计算机。这个计算机的灵感来自 1981 年 Acorn 公司的 BBC Micro 计算机。第一台树莓派 ARM 型机安装在一个与 USB 记忆棒大小相同的盒子里,它的一端是 USB 端口,另一端是HDMI 端口。2012 年 2 月 29 日,首批树莓派正式发售,定价为 35 美元。 根据树莓派官方统计的数...阅读全文

博文 2021-03-11 17:03:55 diablo4

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

部依赖调整为开源库。 对于需要集成治理能力融入微服务体系的 Kitex,他们基于其扩展性,对内外部代码做了拆分,把 Kitex 的核心代码迁移到开源库,内部库封装一层壳保证内部用户无感知升级,而集成内部治理特性的模块则作为 Kitex 的扩展保留在内部库。字节跳动基础架构团队表示,未来也会持续把已经在内部经过稳定性验证的新特性,迁移到开源库。 谈到 CloudWeGo 的未来规划,字节跳动基础架构团队表示:“CloudWeGo 不仅仅是一个开源项目,它也是一个真实的超大规模企业级实践项目。通过开源,我们希望 CloudWeGo 能丰富云生社区的 Golang 工具体系,为更多开发者和企业搭建云生化的大规模分布式系统,提供一种现代的、资源高效的的技术方案。” 未来他们会进一步推动...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

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

定自己的策略,在遵循开发者成员委员会规定的基本则下,可以自行增加新成员。 Ubuntu贡献开发人员是一种中间身份,他还没有为成为其他开发者身份做好准备,但表达了成为Ubuntu成员的决心。 所有这些身份都可以通过类似的方法取得:创建一个Wiki页面列举你过去所做出的贡献;从与你一起工作过的现有成员那里收集证明;将你自己添加到下一次委员会会议的议事日程中,并准时参加会议。委员会成员将会查看你的Wiki页面,并根据你在会议(以及平时的开发者邮件列表)上的作答情况,以及其他人对你的意见,审核你是否能通过。 最重要的委员会成员是由社区选举产生的,而其他一般的角色是由社区委员会任命的。这些治理主体包括Canonical员工,但并没有想象的那么多人:开发者成员委员会总共有8人,其中2人是...阅读全文

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

使用 MongoDB 之前应该知道的 14 件事

MongoDB 服务器都很重要。尤其是,除非有非常好的理由要使用mapReduce、group 或 $where,否则你应该 在配置文件中设置 javascriptEnabled:false,禁用 JavaScript。因为标准 MongoDB 的数据文件是不加密的,另外, 使用专门的用户运行 MongoDB 也是一个明智的做法,对数据文件的完全访问仅限于那个用户,这样就可以使用操作系统自带的文件访问控制了。 没有设计一个模式 对于模式,MongoDB 没有强制要求。这不是说它不需要模式。如果你真想保存文档而又没有一致的模式,那么你可以非常快速、简单地保存它们,但是 检索会十分麻烦 。 “MongoDB 模式设计的六大经验则 ”是一篇值得一读的经典文章,而第三方工具(如 Studio 3T)提供的类似...阅读全文

Apache Kafka发布 3.0 正式版

Streams 应用程序使用在 Kafka 代理中定义的默认复制因子,因此在它们转移到生产时不需要设置此配置值。请注意,新的默认值需要 Kafka Brokers 2.5 或更高版本。KIP-732:弃用 eos-alpha 并用 eos-v2 替换 eos-beta在 3.0 中不推荐使用的另一个 Streams 配置值是exactly_once作为属性的值processing.guarantee。该值exactly_once对应于 Exactly Once Semantics (EOS) 的始实现,可用于连接到 Kafka 集群版本 0.11.0 或更高版本的任何 Streams 应用程序。此EOS的第一实现已经通过流第二实施EOS的,这是由值表示取代exactly_once_beta在...阅读全文

博文 2021-09-26 14:13:03 joseph

如何写好技术文档 — 来自十多年的文档经验总结

齐全的API都是设计良好的API,虽然这个感觉并不完全正确,但这两者确实是强相关的,所以在很多人眼里,文档的完善度也成为衡量一个产品专业度的指标。 - 避免被重复的问题打扰: 有些问题你只需要写在文档里,这样有人来问你的时候你就可以让他直接去看文档了,而不是又给他解释一遍。 ## 为什么大多数人都不喜欢写文档?## 关于文档的重要性,每个技术人或多或少都知道一些,但很多人还是没有写文档的习惯,为什么? 除了上文中提到的文档的收益滞后性外,还有以下几点因: - 很多工程师习惯将写代码和写作割裂开,不仅仅是在工作上,而且在思想上就认为它们是完全不相关的两项工作,这就导致好多人重代码不重文档。 - 也有很多工程师认为自己不善写作,索性就不写了。 这实际是个偷懒的借口,写文档不需要华丽的辞藻、生动...阅读全文

博文 2021-07-30 16:15:13 joseph

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

多,有 100 多个系统,很多业务概念。 老大说:不要好高骛远,我建议你结合当前的工作,一步步学习,以点带面。 刚进公司的时候,我不是很有自信,因为知道自己技术可能比很多大牛差距很大。同时,自己也是一个不太会表达的人(来的老大也说过,我的软能力不行),整体上在初期感觉相对较闷。 日常工作就会把自己占得很满,怎么去学习?我的技术不行,就想去学代码,框架,支付宝的代码全部是开源的,所以我可以很简单通过 eclipse 直接查看框架的源码,渐渐的,比很多人都了解框架,了解技术。我还会去狂公司的论坛,公司的 doc,这上面有框架设计相关的内容。所以,很多时候机会是很多的,关键是你想不想去去。 所以,不要好高骛远,脚踏实地,时刻保持饥饿感,积少成多。 开放心态,视野决定格局 12 年妻子怀孕,于是转...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

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

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

Gitlab CI 配置文件 .gitlab

/gitlab-ce 上面这个例子将会为所有的分支执行job,但master分支除外。 Job variables 在job中是可以使用关键字variables来定义job变量。它的运行理跟global-level是一样的,但是它允许设置特殊的job变量。 当设置了job级别的关键字variables,它会覆盖全局YAML和预定义中的job变量。想要关闭全局变量可以在job中设置一个空数组: job_name: variables: [] Job变量的优先级关系可查看variables文档说明。 tags tags可以从允许运行此项目的所有Runners中选择特定的Runners来执行jobs。 在注册Runner的过程中,我们可以设置Runner的标签,比如ruby,postgres...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

RabbitMQ 高可用实现镜像队列

数据也是在三个节点之间同步,但 Queue 的实际存储只会在一个节点。我们发送消息到指定 Queue,其实是发送消息到指定节点下的 Queue。如下所示,消息发送至队列 testQueue,无论发送者通过哪个 RMQ 节点执行发送,其最终的执行都会是在 MQ03 节点执行消息的存储。 说到这儿,可能有的小伙伴就要问了?说好的,RabbitMQ 集群提供高可用性呢?分析一下,RabbitMQ集群搭建完成后,如果不进行任何高可用配置,会有哪些问题呢? 单点故障会导致消息丢失:如果 MQ03 节点故障,那么 MQ03 中的消息就会丢失无法最大化的利用 RMQ 提升执行效率:既然每次发送到队列 testQueue 的消息都会在 MQ03 节点存储,那么何必搭建集群。 引入 RabbitMQ 的镜像...阅读全文

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

“Debian 章程有毒” - OSCHINA

,Debian 邮件列表出现了一封标题为“Leaderless Debian”的公开信,文章表示,这年的3月3日-10日是候选人提名阶段,然而,截至公开信发出,还没有一位符合资格的 Debian 开发者提交申请。 此前的 Debian 领导人 Chris Lamb 一直被寄予厚望,他已经连任了两年,但是今年他公开表示因为一些 Debian 相关的,以及一些私人的因不参与竞选。由此,Debian 不得不根据章程延长提名时间,直至有人提交申请为止。 当然,最后还是有人跳了出来参加竞选。这里要指出的是,这一尴尬事件非常直观地反映出一个事实 —— DPL 并不吃香。 准确来说,在 Debian 章程的制约下,DPL 是一个没有绝对权利的虚席。 首先,DPL 并不接触具体业务,他可以任命某人执行专门的任务,而这...阅读全文

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

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

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

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

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

://mirror.xtom.com.hk/sury/php/apt.gpg 注意:这里我们使用了 Sury 的一个镜像网站,以便快速访问。Sury 镜像的始地址为: https://packages.sury.org/php/ ,在美国访问比较慢。 安装 apt-transport-https apt-get install apt-transport-https 添加 sury 软件镜像源 echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list 更新软件源缓存: apt-get update 安装软件 安装 PHP7.2: apt install -y...阅读全文

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

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

去当个活雷锋了。但是,不可避免地,这样的活雷锋是当不了多久的。一般其下场会因为滥用被 SingleHop 给关闭账户。 值得注意的是,如果你申请了这个 SSL 证书,就要有 SSL 证书随时可能被吊销的觉悟。 详情始末的参考网址:https://www.lowendtalk.com/discussion/comment/2306096/#Comment_2306096 在线申请网址:https://en.assl.space/ 尾声: 自从 Let’s encrypt 开始提供免费DV SSL后,SSL 证书市场就已经开始洗牌了。 值得一提的是 StarCom 本是一家以色列的证书商,提供免费和收费的 SSL 证书,后被国内公司 360 收购。曾在 CA 市场也有一席之地,StartCom...阅读全文

Java 12 / JDK 12 正式发布

取“半年发布一次版本”的模式。 可访问 http://openjdk.java.net/projects/jdk/13/ 查看 JDK 13 的相关信息。 讨论 留意到不少开发者对 Raw String Literals 特性情有独钟,该特性类似于 JavaScript ES6 语法中的模板字符串,使用它基本可以告别丑陋的字符串拼接。特性详见 http://openjdk.java.net/jeps/326。 该特性计划于 JDK 12 发布,可惜最后还是被取消了,详见:http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html 可能是因为业界呼声太高,最近委员会又把这个特性拿出来重新讨论了:https...阅读全文

博文 2019-03-20 12:46:27 debian.cn

Redis 6.0.0 GA已正式发布

辨率得到了改进,以使其永远不会比当前的“ HZ”值更糟,不管客户端连接的数量是多少。 6. RDB文件现在可以更快地加载。根据文件的实际组成(较大或较小的值),您可以期望获得20/30%的改进。现在,当有许多客户端连接时,INFO也更快,这是一个长期存在的问题,现在终于消失了。 7. 我们有一个新命令STRALGO,它实现了复杂的字符串算法。到目前为止,唯一实现的方法是LCS(最长的公共子序列),LCS是一种重要算法,用于比较冠状病毒的RNA(通常比较其他生物的DNA和RNA)。冠状病毒这件事太大,Redis内部需要保留一些痕迹。 文参考 Redis 6.0.0 GA is out!...阅读全文

博文 2020-05-01 09:15:09 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

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

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

Systemd 及 Service 文件含义解析

/httpd.service.d/),然后放入 *.conf文件,其中可以添加或重置参数。这里设置的参数优先级高于来的单元文件。 例如,如果想添加一个额外的依赖,创建这么一个文件即可: /etc/systemd/system/.d/customdependency.conf ``` [Unit] Requires=<新依赖> After=<新依赖> ``` 然后运行以下命令使更改生效: ``` # systemctl daemon-reload # systemctl restart <单元> ``` 此外,把旧的单元文件从 /usr/lib/systemd/system/ 复制到/etc/systemd/system/,然后进行修改,也可以达到同样效果。 `systemctl enable <单元>` 在...阅读全文

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

2017 热门开源自动化测试框架优缺点对比

此跨平台框架。如果想要添加新的关键字(通过 RF 测试库 API ),需要具备 Java / Python / C 语言的基础知识。 2. JUnit JUnit 是一款针对 Java 应用的单元测试框架,用于编写和运行可重复的测试。 优点: 纯 Java 编写。 支持测试驱动开发(TDD)。 允许创建自己的单元测试用例套件。 能很好地与其他工具(如 Maven )和 IDE(如 IntelliJ )集成。 长时间发展,有自己庞大的用户群体,可以很容易找到文档。 缺点: 如果需要 mocking 能力,则需要额外添加 Mockito(或其他模拟库)。 因 JUnit 中的方法名称受 Java 约定限制等因,非技术人员很难读懂测试结果。 如果你正在为你的 Java 应用编写单元测试,那这可能...阅读全文

博文 2017-11-15 08:52:47 debian.cn

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

的软件来根本就没有。该仓库正因此而设,但欠官方维护,且可能在系统正式发布之后过一段时间才有内容。此仓库处于第二优先顺序,而上述几个仓库处于第一优先顺序。安装第二优先顺序的包必须特别指明,见 apt-get(8) aptitude(8) 的 --target-release 选项。 提示:并非所有版本都设有上述全部仓库,请打开源中 dists 目录查看。 后续字段,指示包许可类型。 后续字段排名不分先后,最终结果取其并集。按包本身的许可及所直接依赖的包的许可划分。打开某仓库,可见几个子目录。 Debian 最多有三种 「main」,本身是自由软件,且所有依赖的包也都是自由软件,此类可称纯自由软件,见 https://www.debian.org/distrib/packages《Debian...阅读全文

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

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

过多,以至于无法持续。 这个 CD 系统的关键组件是一种控制方法,即谁将接收变更,以及用于部署和测量的自动化工具。在第一步中,经过一系列自动化测试后,变更就从内部推送到 Facebook 员工。在这一阶段发现的任何回归,都会被认为这一进程受阻或者停止。下一步涉及到“ canary deployment ”(金丝雀部署),只推送至生产环境的 2% 。依靠连续的监测来检测问题。如果一切顺利,这些变更将 100% 部署到生产环境中。名为 Flytrap 的工具收集用户报告,并发送任何异常情况的告警。 Facebook 中的 Web 和移动产品遵循两条不同的路径,生移动变更的部署频率低于 Web 。这两个都由名为 Gatekeeper 的系统控制。除此之外,Gatekeeper 还分离出了部署和发...阅读全文

博文 2017-10-31 14:05:20 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

如何校验 Debian 软件包的 MD5

生成MD5和。 all――指令debsums忽视磁盘上和,使用deb文件中存在的和,或者如果没有的话,就用它生成一个。 keep――指令debsums把提取/生成的和写入到/var/lib/dpkg/info/package.md5sums文件。 nocheck――意味着提取/生成的和没有对照已安装软件包来进行校验。 如果你看一下目录/var/lib/dpkg/info/的内容,就会看到各个文件的md5sum,如下所示: $ cd /var/lib/dpkg/info $ ls *.md5sums 列出软件包的所有MD5和: a11y-profile-manager-indicator.md5sums account-plugin-facebook.md5sums account...阅读全文

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

打破IP协议重塑互联网 华为能做到吗

的 IP 报头允许终端用户指定要在数据包上执行的自定义功能。 文章以智能家居为例,描述了新 IP 网络下的应用场景: 运动传感器检测出房间出现异常活动时,会通知相应房间的安全摄像头通过智能家居网络采集信息,然后,安全摄像头将收集到的像信息通过互联网发送到主人的智能手机上进行判断。如果只是误报,主人可以向安全摄像头发送信息要求停止信息收集。由于房子里的所有设备都连接在同一个家庭网络上,所以运动传感器可以直接将通知发送到安全摄像头,并带有它的域内地址;并且由于新的 IP 协议向源地址中添加了一个地址段(4.3.2.1),摄像头数据能够直接传送至用户的智能手机中。 不难看出,在该场景中,新 IP与传统 IP 相比有两方面优势:一是智能家居网络采用短地址空间进行批量通信,减少了分组开销,提高了通信...阅读全文

博文 2020-03-31 06:40:15 debian.cn

Apollo 分布式配置中心详解

据库等。 配置需要治理 权限控制,由于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制,不同环境、集群配置管理,同一份程序在不同的环境(开发,测试,生产)、不同的集群(如不同的数据中心)经常需要有不同的配置,所以需要有完善的环境、集群配置管理。 Apollo 配置中心基本使用 Apollo 基础模型 用户在配置中心对配置进行修改并发布;配置中心通知 Apollo 客户端有配置更新;Apollo 客户端从配置中心拉取最新的配置、更新本地配置并通知到应用。 界面概览 上是 Apollo 配置中心中一个项目的配置首页,在页面左上方的环境列表模块展示了所有的环境和集群,用户可以随时切换。页面中央展示了两个 namespace(application 和...阅读全文

博文 2020-04-12 12:16:26 debian.cn

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

/Native 已支持用于开发 iOS 应用,这也将是 Kotlin/Native 0.4 的特性之一。虽然对 iOS 开发的支持仍处于早期阶段,但确实已经实现了,这是在所有平台上使用 Kotlin 进行开发的重要一步。 官方还特意展示了利用 Kotlin/Native 开发的两款应用(Spinner app (GitHub)、KotlinConf app (GitHub)),它们都可以运行于 iOS 和 Android 平台。Android 和 iOS 平台共享了不少代码,其中包括大多数形处理、声音播放和用户输入响应代码。 两款应用都已开源,你可以将它们作为模板,仅使用 Kotlin 构建自己的跨平台移动应用。点此可了解其中一款应用。 IDE 对 Kotlin/Native 的支持 Kotlin...阅读全文

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

最全的 DevOps 工具集合

本文最初发布于 Better Programming 博客,经作者授权由 InfoQ 中文站翻译并分享。 随着 DevOps 的出现频率越来越高,很多企业都在蠢蠢欲动,想要设计和开发 DevOps 平台。工欲善其事必先利其器,本文为大家总结了 DevOps 各个阶段可以选择的工具,也许 DevOps 平台的技术选型在这一篇文章中就可以完成。 DevOps 的目标是持续改进,因此技术选型也是分阶段的。 DevOps 技术类别 规划工具 在规划阶段最重要的是要制定共同的目标、保证透明度和赋权。目前业内比较常用的规划工具主要包括 GitLab、TaskTop、CollabNet VersionOne、Pivotal Tracker、Trello 和 Azure Boards。 GitLab...阅读全文

博文 2021-05-26 14:35:21 博客园

Hadoop 核心 - HDFS 分布式文件系统详解

> 作用: 将hdfs上的文件从路径移动到目标路径(移动之后文件删除),该命令不能跨文件系统 hdfs dfs -mv /dir1/bigdata.txt /dir2 rm 格式: hdfs dfs -rm [-r] 【-skipTrash】 URI 【URI 。。。】 作用: 删除参数指定的文件,参数可以有多个。 此命令只删除文件和非空目录。 如果指定-skipTrash选项,那么在回收站可用的情况下,该选项将跳过回收站而直接删除文件; 否则,在回收站可用时,在HDFS Shell 中执行此命令,会将文件暂时放到回收站中。 hdfs dfs -rm -r /dir1 cp 格式: hdfs dfs -cp URI [URI ...] 作用: 将文件拷贝到目标路径中。如果...阅读全文

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

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

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

Linux 容器 vs 虚拟机 — 谁更胜一筹

拟机有着更好的灵活性,可以供您选择您的操作系统,并在您认为合适的情况下进行升级。相比之下,运行已配置应用程序容器在主机的操作系统升级方面是隔离的。 Linux 容器 vs 虚拟机 – 用例场景 我最喜欢使用容器的因之一就是使用 Linux 库版本。例如,假设您需要 Python 的特定版本来开发应用程序。然后,当你在运行应用程序的盒子上更新时,突然发现 Python 版本发生了变化,导致应用程序无法正常工作。 使用容器的另一个好处是你可以把一个应用程序放到一个容器中,然后在任何支持你正在运行的容器类型的操作系统上运行它。当你想要一个运行在不同 Linux 发行版应用程序时。通过使用容器,可以在各种不同的发行版上运行类似的应用程序环境。容器提供了可移植性。 容器对于快速的跨发行版部署是更可行...阅读全文

博文 2017-11-25 10:23:56 debian.cn

nsenter 及 Linux命名空间 简介

,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 56:7b:98:07:30:bc brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.134.93/27 brd 192.168.134.95 scope global eth0 valid_lft forever preferred_lft forever 通过内网 IP 地址,我们得知已成功进入容器内部。 理 namespace namespace 是 Linux 中一些进程的属性的作用域,使用命名空间,可以隔离不同的进程。 Linux在不断的添加命名空间,目前有: mount:挂载命名空间,使...阅读全文

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

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

的社区聚会分享你的想法,或者使用以下渠道: 在 StackOverflow 上发表问题或者回答问题 在 K8sPort 上加入社区门户网站得到支持 关注我们的 Twitter 账号 ( @Kubernetesio)获取最新咨询 在 Slack 上和社区互动 分享你和 Kubernetes 的故事 非常感谢社区广大的贡献者和支持者,感谢你们让这次和所有的发布成为可能。 文链接:Kubernetes 1.7: Security Hardening, Stateful Application Updates and Extensibility(翻译:钟最龙)【中文转自DockOne.io】...阅读全文

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

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

非常活跃的社区,有80,000个StackOverflow问题和数不清的博客来自开发人员和高级用户。 有一些流行网站使用Django,包括 Bitbucket, Pinterest, Instagram, 以及 The Onion。 Django的人气不断飙升,可能仍然是Python开发人员最受欢迎的选择。 您之前的项目是否用过Django? 你真的认为Django是Python开发人员最好的框架吗? 一如既往,您的意见对于所有读者都至关重要,请在下面的评论栏中分享您的看法。 文出处: manmohan 译文出处:开源中国 Django“自备军需”(Batteries-Included) 目录...阅读全文

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

TLS1.3 正式版发布 — 特性与开启方式科普

。TLS1.2具有很强的可配置性,因此一些有安全漏洞的站点为兼容老版本的浏览器而没有关闭那些旧的属性。 TLS1.3信奉“少即是多”哲学,取消了对一些老旧而衰弱的加密方式的支持。这意味着你无法打开那些潜在的漏洞。TLS1.2中有的大量特性都被删除了,其中大部分特性与那些著名的攻击有关,这些特性包括: RSA 密钥传输 —— 不支持前向安全性 CBC 模式密码 —— 易受BEAST和Lucky 13攻击 RC4 流密码 —— 在HTTPS中使用并不安全 SHA-1 哈希函数 —— 建议以SHA-2取而代之 任意 Diffie-Hellman 组 —— CVE-2016-0701漏洞 输出密码——易受 FREAK 和 LogJam攻击 TLS1.3 消除了旧版本中糟糕的加密方式,同时降低了旧的攻击方式对其...阅读全文

博文 2018-08-14 14:40:05 debian.cn

Docker 快速入门之 Dockerfile

, CMD, ENTRYPOINT 等指令的用户以及用户组。默认为 root 用户。语法: USER [:] 3.12 WORKDIR WORKDIR 指令用于设置 RUN, CMD, ENTRYPOINT, COPY, ADD 等指令的工作目录。语法: WORKDIR /path/to/workdir 4 总结 本文从一个具体的例子出发,讲述了如何利用 Dockerfile 构建镜像,然后解释了 Dockerfile 文件中的指令的语法,有关更多内容可访问官方文档。 5 参考资料 Dockerfile reference 本文转载自 Locez.com,在文基础上,略有增删。...阅读全文

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

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

Prometheus Operator, 使用的是生的 Prometheus, 则需要修改 Prometheus 配置文件的 configmap 或 secret, 添加 scrape config, 示例如下: 如果在使用 Prometheus Operator, 则可以增加如下 Probe CRD, Prometheus Operator 会自动将其转换并 merge 到 Prometheus 中. apiVersion: monitoring.coreos.com/v1 kind: Probe metadata: name: kubernetes-apiserver spec: interval: 60s module: http_2xx prober: path: /probe url...阅读全文

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