InfraPub 为您找到相关结果 480

下一代时间同步服务 Chrony 详解

,也可以在一台不同的远程计算机上工作。 Chrony 和 NTPD 精度对比测试 我们可以从 Chrony 的官方网站上可以看到与 NTPD 各维度详细对比: 从其测试结果上看似乎是各维度性能都可以吊打 NTPD。因此 Chrony 的整体评价还是比较高的。 Chrony 相较于 NTPD 服务的优势 更快的同步只需要数分钟而非数小时时间,从而最大程度的减少时间和频率误差,这对于并非全天运行的台式计算机或系统而言非常有用。能够更好的响应时间频率的快速化,这对于具备不稳定时钟的虚拟机或导致时钟频率反复化的节能技术而言非常有用。在初始同步后,它并不会停止时钟,以防对需要系统时间保持单调的程序造成影响。在应对临时非对称延迟时,(例如:大规模下载造成连接饱和时)提供了更好的稳定性。无需对服务器进行...阅读全文

博文 2021-01-04 08:41:14 debian.cn

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

有一个“填充因子(padding factor)”,为文档增长提供空间。 你也许会想,你可以通过不建立数组索引来绕开这个问题。遗憾的是,没有索引,你会遇到其他问题。因为文档会从头到尾扫描,找到一个接近数组尾部的元素需要花更多的时间, 大部分处理这个文档的操作都会慢 。 忘记聚合情况下的阶段排序 在有查询优化器的数据库系统中,你编写的查询是说明你想要什么而不是如何获取它。这就像在餐馆中点餐;你通常只需要点菜,而不必对厨师发出详细的指令。 在 MongoDB 中,你是对厨师发指令。例如,你需要通过$match 和$project 确保管道中的数据尽早减少,排序只在数据减少时发生一次,查找按照你希望的顺序执行。查询优化器省去了不必要的工作,优化阶段顺序,选择连接类型,这会把你宠坏。MongoDB...阅读全文

DPDK Graph Pipeline 框架简介与实现原理

libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻量级项目所用就得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向量数据包处理...阅读全文

博文 2023-02-09 07:13:55 掘金

Git 介绍与使用详解

前言 Git是目前非常流行的协同开发工具,很多开源网站都使用Git作为代码管理仓库(例如 开源中国,GitHub),不管是开发还是产品、设计师,Git都很适合,而且很多IDE默认集成了Git,熟练的使用Git会起到事半功倍的效果,所以今天我为大家分享一下Git的介绍与使用。 1.Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 1.1什么是版本控制? 版本控制是一种记录一个或若干文件内容化,以便将来查阅特定版本修订情况的系统。如果你是位网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你也可以比较文件的化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题...阅读全文

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

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会被收集和处理从而创建监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

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

influxdb内存消耗分析及性能优化【探索篇】

开始写入数据之后,在4h+10m之后,会对上个分片进行全量压缩策略 #应用: 本文设置为80小时。目的是不进行full压缩策略,来避免io过多消耗,后面会介绍由于设置的retention policy为72小时,所以此处大于72即可。 compact-full-write-cold-duration = "80h" #描述: 最大并行压缩数,默认会使用golang的逻辑处理器的一半 #场景: 当进行level1,level2,level3及full策略压缩文件时使用的处理器数量, #当前服务器为16core32物理线程,则会在压缩时默认使用16个处理器 #应用: 本文设置为8。用于减轻压缩策略时,cpu与磁盘io的压力,但相应的会导致压缩周期长。 max-concurrent...阅读全文

博文 2021-10-27 16:06:30 知乎

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

nmap或者port扫描器: # find out if TCP port 25 open or not (echo >/dev/tcp/localhost/25) &>/dev/null && echo "TCP port 25 open" || echo "TCP port 25 close" 你可以 使用循来查找开着的端口: echo "Scanning TCP ports..." for p in {1..1023} do (echo >/dev/tcp/localhost/$p) >/dev/null 2>&1 && echo "$p open" done 输出: Scanning TCP ports... 22 open 53 open 80 open 139 open 445...阅读全文

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

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

三字段,指示包的「版本类型」,姑且称为「仓库」。 打开某源,进入「dists」子目录可见该源中有哪些仓库,即其下诸子目录。 命名形式为「系统发行版名-仓库名」,如 Debian 的「jessie-backports」「stretch-updates」,Ubuntu 的「vivid-updates」「wily-proposed」。无仓库名的即为主仓库。 Debian 的 stable、testing 为链接,指向具体系统发行版,会随时间而。比如,当前 stable 为 jessie,所以 stable-backports 与 jessie-backports 等效。但本人不建义使用 stable、testing,因为下一个 stable 发布后,你的源便自动指向了一个新版本,然而你并未阅读新...阅读全文

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

5G将是全球最智能互联的云计算

2020年前后将进入5G时代,5G将推动对整个产业带来革命性影响,并改我们所有人的工作和生活方式,人类社会全面进入到数字化时代。 云计算和智能互联,正在快速演进,5G将是全球最智能的互联设备之一。在全球范围内,中国率先启动5G试验,在国际上率先发布5G系统在中频段内的频率使用规划。 怀柔5G试验外场对5G系统技术的验证,在技术、频谱利用、密集组网、大规模天线的布设、复杂网络的优化等方面,业界已可以看到5G特定场景的演示,促进5G发展进入新的阶段。 中国率先启动5G试验 2018年将重点研发5G产品 对于5G频谱的研究,专家认为,全球频谱越统一越有利于频谱效率的最大化。毫米波的频率规划,是我国5G推进的重要工作。目前毫米波频段,仍有一些不确定性,建议业界尽早明确一些5G场景,明确中国毫米波...阅读全文

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

Cortex-M33 CPU 开始使用。这将使得 Arm 客户能够向基于 Cortex-M 的 IoT CPU 添加自定义指令,以针对特定市场量身定制芯片。 Dirvin 说到:“例如,有些数学算法是重复的。如果我们要使用一块硅存储片来维护它,那么拥有一条指令将会非常好。但这与 Arm 想要的不符。不过现在使用自定义指令后,我们的合作伙伴将能够针对该市场专门对芯片进行优化。” 为此,许多行业从业者和分析家将 Arm 的这些声明视为对 RISC-V 日益严峻挑战的回应。由于 RISC-V 具有相当吸引人的优势 —— 高度的自由性、轻量级和可扩展性,它已引起 NVIDIA 和 Qualcomm 等技术巨头的广泛关注。 Dirvin 则强调,即使没有 RISC-V 的兴起,Arm 也会推出其政策更。“创新...阅读全文

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

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

励 Debian 做出改,继而改进开发者参与维护的体验。Rails 核心成员纷纷宣布离职继不久之前 Rust 审核团队集体离职事件,近日,又有人发现不少 Rails 核心成员纷纷宣布离职。这还要溯源到去年 4 月,Basecamp 创始人以及 Rails 创建者不允许员工在内部谈论种族等政治话题,这引起了员工很多不满,很多人觉得自己被限制了自由言论。当时,很多核心员工选择离职来表示抗议。随着事情不断的发酵,DHH(Rails 创建者)关闭了自己推特的评论功能。如今 DHH 表示他无缘参加今年的 RailsConf 主题演讲,举办方给出的理由是因为去年他大部分时间都不在线。于是 DHH 就吐槽认为这是无稽之谈,不仅发文列举了他去年为Rails的贡献,还表示这是对政治和形态意识差异的报复。在这...阅读全文

Golang 应用集成 Prometheus 统计数据支持

", Help: "web request duration distribution", Buckets: []float64{0.1, 0.3, 0.5, 0.7, 0.9, 1}, }, []string{"method", "endpoint"}, ) func init() { // 注册监控指标 prometheus.MustRegister(WebRequestTotal) prometheus.MustRegister(WebRequestDuration) } 在适当切入点对指标进行记录更 // 包装 handler function,不侵入业务逻辑 func Monitor(h http.HandlerFunc) http.HandlerFunc { return func(w...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

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

/OpenSUSE Linux 微码更新包 警告 :在某些情况下,微码更新可能会导致引导问题,比如,服务器在引导时被挂起或者自动重置。以下的步骤是在我的机器上运行过的,并且我是一个经验丰富的系统管理员。对于由此引发的任何硬件故障,我不承担任何责任。在做固件更新之前,请充分评估操作风险! 示例 在使用 Intel CPU 的 Debian/Ubuntu Linux 系统上,输入如下的 apt 命令/apt-get 命令: sudo apt-get install intel-microcode 命令执行成功后,需要重启服务器,以激活微代码的更新。重启以后,我们再次执行 dmesg 命令,可以看到输出已经为: [ 0.000000] microcode: microcode updated early to...阅读全文

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

Systemd 及 Service 文件含义解析

/etc/systemd/system/ 目录中的单元文件的优先级总是高于 /usr/lib/systemd/system/ 目录中的同名单元文件。注意,当/usr/lib/ 中的单元文件因软件包升级更时,/etc/ 中自定义的单元文件不会同步更新。此外,你还得执行 systemctl reenable ,手动重新启用该单元。因此,建议使用前面一种利用 *.conf 的方法。 可以使用 journalctl 来查看 systemd 管理服务的启动日志: ``` journalctl -b -0 # 显示本次启动的信息 journalctl -b -1 # 显示上次启动的信息 ``` 参考阅读 ArchLinux 的 Systemd (简体中文) 文档:https...阅读全文

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

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

一家新兴的 SSL 证书提供商,赛门铁克(Symantec)亚太区的白金合作伙伴。随着 Symantec 的 CA 业务被 DigiCert 收购完成,其证书链也从 Symantec 为 DigiCert。现在也开始提供免费 1 年期的 DV SSL 证书。 在线申请网址:https://freessl.org/ 三、AlwaysOnSSL 官方网站:https://alwaysonssl.com/ 点评:AlwaysOnSSL 是一个新的免费和自动认证机构。它由 CertCenter 和 Digicert 运行,免费提供 6 个月的 DV SSL 证书。 在线申请网址:https://alwaysonssl.com/ 四、Comodo 官方网站:https...阅读全文

红帽 2017 峰会 第三天回顾:自动化的未来

同样在于为原本缓慢而僵化的一些进程注入加速创新的催化剂。开源硬件、开放数据、开放政务、开放AI等话题已经经过了相当长时间的探讨与发展,并非什么新鲜话题,然而到今天仍然处于未成熟的快速化期,同样值得关注。 附录:红帽产品线定位图解 Ansible:用户接入点定义在靠近应用层(顶层)的位置,自动化管理 Insights:从各层采集数据,提供预警信息,属于基础支持的定位 OpenShift:一部分在中间件层作为应用容器平台,另一部分在基础层作为Google Cloud、AWS、Microsoft Azure等公有云服务的接入点。反过来看,也可以说这三家公有云是OpenShift的接入点,因为OpenShift Online完全是托管在Google Cloud、AWS以及Azure上的(红帽自己至...阅读全文

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

aptitude 与 apt

起初GNU/Linux系统中只有.tar.gz。用户 必须自己编译他们想使用的每一个程序。在Debian出现后,人们认为有必要在系统 中添加一种机 制用来管理 安装在计算机上的软件包。人们将这套系统称为 dpkg。至此着名的package首次在GNU/Linux上出现。不久之後红帽子也开始着手建立自己的包管理系统 rpm。 GNU/Linux的创造者们很快又陷入了新的窘。他们希望通过一种快捷、实用而且高效的方式来安装软件包。这些软件包可以自动处理相互之间 的依赖关系,并且在升级过程中维护他们的配置文件 。Debian又一次充当了开路先锋的角色。它首创了APT(Advanced Packaging Tool)。这一工具后来被Conectiva 移植到红帽子系统中用于对RPM包的管理。在其他...阅读全文

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

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

,Aptitude也很有用。实用的功能特性包括why命令和why-not命令,前者显示依赖某软件包的其他软件包,后者显示什么软件包与某个指定软件包冲突。此外,Resolver菜单列出了可能解决破损软件包的方法,从破坏性最小的那种方法开始。 6. apt-cache apt-cache搜索已安装软件包数据库,寻找信息。它能显示关于单个软件包、依赖项和冲突等方面的信息,以及其他众多信息。 一个特别有用的命令是apt-cache search,它可搜索数据库中的文本字符串。使用这个命令,你就能找到软件包的具体名称,那样可以安装它,还可以找到想要安装的相关软件包。在Debian中,它必不可少,所以默认情况下已安装。 5. dpkg-reconfigure dpkg-reconfigure可改安装软件包的方法。比如...阅读全文

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

六个开源软件开发的潜规则

玲珑,面面俱到 作为一个开发者,你很可能希望为开源项目解决一个特定的痛点。或许你想要运行在一个目前还不支持的系统上,抑或你很希望改革社区目前使用的安全技术。想要引进新技术,特别是比较有争议的技术,最好的办法就是让人无法拒绝它。你需要透彻地了解底层代码,考虑每个极端情况。在不影响已实现功能的前提下增加新功能。不仅仅是完成就行,还要在特性的完善上下功夫。 糜不有初,鲜克有终 开源社区也有许多玩玩就算的人,但是承诺了就不要轻易失信。不要就因为提交被拒就离开社区。找出原因,修正错误,然后再试一试。当你开发时候,要和整个代码库保持一致,确保即使项目发生化而你的补丁仍然可用。不要把你的代码留给别人修复,要自己修复。这样可以在社区形成良好的风气,每个人都自己改。 这些“潜规则”看上去很简单,但是还是有许...阅读全文

博文 2017-05-20 10:27:11 debian.cn

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

期,并使得更多贡献者乐于投身其中并建立起更具活力的生态系统。 项目态势 CNCF方面已经建立起一个野心勃勃的项目,希望以可视化方式呈现Kubernetes项目中各项贡献的具体内容。K8s DevStats[10]则展示了各大型企业贡献者带来的成果。在本轮版本发布期间,开放问题的数量基本保持不,但fork与项目各独立库数量则上涨了约20%。自上次发布以来,提交者数量略有上升,但整体来看基本保持稳定。Kubernetes目前拥有75000多条评论,仍然是GitHub上最受关注的项目之一。 原文参考这里。相关链接: https://kubernetes.io/docs/reference/workloads-18-19/ https://github.com/kubernetes...阅读全文

博文 2017-12-17 01:00:00 debian.cn

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

解决方案的可扩展性时,我们也从中受益,也可以扩大规模。“解决现实问题2012 年左右,CERN 正在研究如何为大型强子对撞机扩展计算能力,但难点是人员而不是技术。CERN 雇用的员工人数是固定的。“我们必须找到一种方法来扩展计算能力,而不需要大量额外的人来管理。”Bell 说,“OpenStack 为我们提供了一个自动的 API 驱动和软件定义的基础架构。”OpenStack 还帮助 CERN 检查与服务交付相关的问题,然后使其自动化,而无需增加员工。“我们目前在日内瓦和布达佩斯的两个数据中心运行大约 280000 个处理器核心和 7000 台服务器。我们正在使用软件定义的基础架构使一切自动化,这使我们能够在保持员工数量不的同时继续添加更多的服务器。“Bell 说。随着时间的推移,CERN...阅读全文

博文 2021-11-29 13:20:55 腾讯云

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

Kubernetes v1.21 新特性预览

Kubernetes v1.21 下个月就要发布了(v1.21.0 将于 4 月 8 日发布),本文梳理该版本带来的新特性,以便你为下个月的升级做好准备。PodSecurityPolicy 弃用PodSecurityPolicy(PSP)是 Kubernetes 1.8 开始就支持的 Beta 特性,大量应用于容器的安全策略控制。但由于其 API 不够灵活、认证模型不够完善且配置更新繁琐等缺陷,PodSecurityPolicy 将在 v1.21 正式弃用[1],并将在 v1.25 中从代码库中删除。已经使用 PodSecurityPolicy 的用户建议迁移到 Gatekeeper[2]。不可 ConfigMap/Secret 进入稳定版当集群包含大量 ConfigMap 和...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

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

pam_google_authenticator.so 此外,我们还需要注释掉这一行 "@include common-auth”,这样 PAM 就不会提示输入密码,修改后如下: # Standard Un*x authentication. # @include common-auth 接下来,我们需要编辑 SSH 服务器配置文件: vim /etc/ssh/sshd_config 改 ChallengeResponseAuthentication 的值为 yes,以便我们启用键盘交互的认证方式: ChallengeResponseAuthentication yes 接下来,添加以下代码行来启用两个身份验证方案:SSH 密钥和谷歌认证器(需要键盘交互): AuthenticationMethods "publickey,keyboard...阅读全文

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

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

需要租赁托管的服务器来运行网站,他们必须支付足够费用才能获得想要的性能。阿尔瓦雷兹介绍说,科技公司租用的服务器往往超过了实际所需,造成浪费。亚马逊联系到了他,介绍即将推出的新服务,并提供了提前试用。阿尔瓦雷兹回忆说:“一瞬间我明白了,亚马逊提供了一个改我一生的产品,这将改我的人生,以及所有开发者的人生。”这样的评价并不夸张。S3蓬勃发展,时至今日已经在网络上保存了100万亿个数据对象。亚马逊云计算负责对象和块存储的副总裁麦兰·汤姆森·布科维奇(Mai-Lan Tomsen Bukovec)在接受电视媒体采访时介绍说,今天一些企业客户存储的数据多达几百PB(1PB等于1024TB),某些案例下甚至多达1EB(等于1024PB)。有时候,企业在S3上保存的数据超出了必要。上述业内人士金塞拉回...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

Docker 17.06 社区版发布

今天我们发布了Docker CE 17.06,它包含了诸多新特性、优化和bug修复。我们在四月份的DockeCon上公布了Moby项目,Docker CE 17.06是第一个完全构建在它基础上的Docker版本。更日志中能看到完整的更新列表,我们来看看它的一些新特性。 我们也为这篇文章制作了一个视频版本。 多阶段构建 17.06 CE最大的特性是它的多阶段构建(multi-stage builds),它最初在四月的DockerCon被公布,现在已经达到了稳定版本。多阶段构建能从一个Dockerfile中构建出更加简洁、体积更小的Docker镜像。 多阶段构建通过构建过渡镜像并产生输出。这样就能在一个过渡镜像中编译代码,在最终的镜像中只使用它的输出。例如,Java开发者通常使用Apache...阅读全文

博文 2017-06-30 23:08:57 debian.cn

分布式任务调度平台 XXL

任务,”CommandJobHandler”);业务方只需要提供命令行即可; 6、任务状态优化,仅运行状态”NORMAL” 任务关联至 quartz,降低 quartz 底层数据存储与调度压力; 7、任务状态规范:新增任务默认停止状态,任务更新时保持任务状态不; 8、IP 获取逻辑优化,优先遍历网卡来获取可用 IP ; 9、任务新增的 API 服务接口返回任务 ID,方便调用方实用; 10、组件化优化,移除对 spring 的依赖:非 spring 应用选用 “XxlJobExecutor” 、spring 应用选用 “XxlJobSpringExecutor” 作为执行器组件; 11、任务 RollingLog 展示逻辑优化,修复超时任务无法查看的问题; 12、多项 UI 组件升级到最新...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

在TKE上使用Kubecost进行成本管理

的资源。例如,如果您的集群的利用率仅为25%,以资源的最大使用量和 Request 来衡量,则 Allocate idle costs 会按比例增加每个 pod/NS/Deployment 的成本到原来的4倍。 6. **图表选择**: 切换到条形图视图以查看所选窗口的汇总成本,或切换到时间序列视图以查看成本随时间的化。 7. **附加选项**: 查看其他选项以将成本数据导出为 CSV 或查看帮助文档。 ### Assets ![img](https://main.qcloudimg.com/raw/275c22510f157d3b3710aa147eb2f69f.png) Kubecost Assets 视图显示了按集群中单个资源细分的 Kubernetes 集群成本(例如,按节点、磁盘...阅读全文

隐私声明

我们会时常更新本隐私权声明,以反映我们的操作实践、相关服务和法律法规的化。我们会在修订本隐私权声明时更新文首所载的“生效日期”,请您定期查阅。您继续使用本网站,即视为您同意本隐私权声明的更新。 8. 问题与投诉 如果您对本隐私权声明或个人信息保护有任何问题,请与我们联系,我们会尽最大努力在合理时间内回复您。...阅读全文

协议介绍之深入了解 gRPC

HTTP/1.x 做过推送的同学,大概就知道有多么的痛苦,因为 HTTP/1.x 并没有推送机制。所以通常两种做法: Long polling 方式,也就是直接给 server 挂一个连接,等待一段时间(譬如 1 分钟),如果 server 有返回或者超时,则再次重新 poll。 Web-socket,通过 upgrade 机制显式的将这条 HTTP 连接成裸的 TCP,进行双向交互。 相比 Long polling,笔者还是更喜欢 web-socket 一点,毕竟更加高效,只是 web-socket 后面的交互并不是传统意义上面的 HTTP 了。 Hello HTTP/2 虽然 HTTP/1.x 协议可能仍然是当今互联网运用最广泛的协议,但随着 Web 服务规模的不断扩大,HTTP/1.x 越...阅读全文

博文 2017-06-22 11:08:48 debian.cn