Bash Shell 中的 PROMPT_COMMAND
; echo $y; }? 于是msg=$(history 1 | { read x y; echo $y; });,$msg 变量总是表示当前执行的命令? 上面是我的理解,结果是明显的,就是 $msg 变量保存的是 bash 最后执行的命令。 但还是觉得讲不明白,history 1 和管道结合还是感觉没太理解。 如果那个高手看到了,麻烦指点下到底怎么理解它。...阅读全文
; echo $y; }? 于是msg=$(history 1 | { read x y; echo $y; });,$msg 变量总是表示当前执行的命令? 上面是我的理解,结果是明显的,就是 $msg 变量保存的是 bash 最后执行的命令。 但还是觉得讲不明白,history 1 和管道结合还是感觉没太理解。 如果那个高手看到了,麻烦指点下到底怎么理解它。...阅读全文
中提供了一个内置选项,可通过启用它来显示网页完整 URL。 具体操作方式如下: 使用 Chrome 83 Canary 或更高版本;前往 chrome://flags 页面;加载 chrome://flags/#omnibox-context-menu-show-full-urls; 选择启用,然后重新启动浏览器;重新启动 Chrome 后,访问任意网站,在 Omnibox 中选择域,然后右键单击并选中 “Show URL” 选项,最后单击网页上的任何其他区域以恢复 URL 的默认状态。 不得不说这个设计看起来有点“蛋疼”,这效果和双击地址栏没多大差别吧?还是等Chrome 83 发布后看看效果。...阅读全文
流量,也可以处理服务间的东西向流量。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,Apache APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。 这次发布的0.9版本,带来了很多新特性: 支持使用 Tengine 来运行 APISIX增加了对开发人员更友好的高级调试模式配合 redis,实现集群内限流限速功能新增 URI 重定向插件使用全新的 jsonschema,性能提升一个数量级启用 HTTP2 并支持设置 ssl_protocols 加入 Apache APISIX 如果你希望使用修改任意配置都无需重启的 web 服务器,如果你希望使用代码简洁、云原生友好的微服务网关,那么 Apache APISIX 就是你不二的选择。 你可以加入...阅读全文
.1000MB.bin 东京(日本) http://hnd-jp-ping.vultr.com/vultr.com.1000MB.bin 注意:一个支付方式,比如一个paypal,或者一张信用卡,那就只能注册一个账号,而且只能给这个账号付款,你如果用不同的邮箱去注册多个账号,然后用这个paypal去付款,最后的结果是这个paypal付过款的所有在vultr的关联账号会被官方通杀,不退款!...阅读全文
,但Javascript在函数Function对象中建立了原型对象prototype,并以Function对象为主线,从上至下,在内部构建了一条原型链。 简单来说就是建立了变量查找机制,当访问一个对象的属性时,先查找对象本身是否存在,如果不存在就去该对象所在的原型连上去找,直到Object对象为止,如果都没有找到该属性才会返回undefined。 因此我们经常会利用函数的原型机制来实现JS继承。关于函数原型链可参考博客:JS原型对象和原型链 2、函数作用域 函数作用域就是变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。在JS中没有会块级作用域,只有函数作用域,因此JS中还存在着另外一种怪异现象,那就是变量提升。关于作用域的介绍请参考博客:函数的作用域和作用域链 3、函数指针...阅读全文
:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70 Port:
解在 Docker + Wasm 背景下的 Wasm container 有什么好处以及如何运行一个服务 WordPress 的 php.wasm 镜像。动手示例让我们开始吧! 在动手示例中,我们将使用编译为 Wasm 的 PHP 解释器。 我们会:构建一个 Wasm 容器。比较 Wasm 和原生二进制文件。比较传统容器和 Wasm 容器。展示 Wasm 的可移植性前期准备如果想在本地重现这些示例,你需要使用以下部分或全部内容来准备你的环境:WASI SDK - 从构建 C 代码构建 WebAssembly 应用程序PHP - 为了比较而运行本机 PHP 二进制文件WasmEdge Runtime - 运行 WebAssembly 应用程序Docker Desktop + Wasm (本文写...阅读全文
除了 ConnectTimeout 参数外,我们还可以在外部包装一层, 当 ssh 执行超时时,自动 kill 掉超时的 ssh 链接,样例如下: $ cat /tmp/ip`; do echo -n ++++++++++++++ $i\ ; timeout -s 9 3s ssh -o ConnectTimeout=2s -o ConnectionAttempts=1 $i md5sum /etc/resolv.conf ; done 这里 timeout 的含义是,如果3s没有返回,就发送signal 9,结束进程。...阅读全文
去年 5 月曾经写了一篇文章介绍了下 [Lex Fridman 大佬的日常生活安排](https://zhuanlan.zhihu.com/p/371254789) ,后续我也根据他的方法对自己的日常生活做了一系列规范和改进。这一年整体实行下来,效果还是非常显著的,本文的最后会对我的一些实践以及借助的工具做一些分享。...阅读全文
PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js VS PHP,哪一方可以赢得这场战争取决于你构建的网站类型。比方说,如果你想构建一个实时的聊天应用程序,那么选择 Node.js 是明智的,因为它可以轻松处理大量的客户端请求。但是,这并不意味着PHP 不可以,请看完 Node.js VS PHP 后再决定用谁构建你的网站。 1.性能: 在性能方面,Node.js 显然赢了这一局。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间...阅读全文
微代码就是由 Intel/AMD 提供的 CPU 固件。Linux 的内核可以在引导时更新 CPU 固件,而无需 BIOS 更新。处理器的微码保存在内存中,在每次启动系统时,内核可以更新这个微码。这些来自 Intel/AMD 的微码的更新可以去修复 bug 或者使用补丁来防范 bug。 如果你是一个 Linux 系统管理方面的新手,如何在 Linux 上使用命令行方式去安装或者更新 Intel/AMD CPU 的微码固件呢? 如何查看当前的微码状态 以 root 用户运行下列命令: # dmesg | grep microcode 输出如下: 注意,你的 CPU 有可能出现没有可用的微码更新的情况。这时它的输出可能是如下这样的: [ 0.952699] microcode: sig...阅读全文
PromQL 是 Prometheus 提供的一个函数式的表达式语言,可以使用户实时地查找和聚合时间序列数据。表达式计算结果可以在图表中展示,也可以在 Prometheus表达式浏览器中以表格形式展示,或者作为数据源,以 HTTP API 的方式提供给外部系统使用。PromQL 虽然以 QL 结尾,但是它不是类似 SQL 的语言,因为在时间序列上执行计算类型时,SQL 语言相对缺乏表达能力。而 PromQL 语言表达能力非常丰富,可以使用标签进行任意聚合,还可以使用标签将不同的标签连接到一起进行算术运算操作。内置了时间和数学等很多函数可以使用 选择序列选择指定指标名称的序列最新样本: my_metric_name选择指定指标名称序列5分钟的样本范围: my_metric_name[5m]筛...阅读全文
# graceful stop. Normally, Systemd sendsSIGTERM signal right after the # ExecStop, which would kill httpd. We aresending useless SIGCONT here to give # httpd time to finish. KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.target ``` 这个文件由三个部分组成:Unit、Service、Install。 [Unit] 主要是为了解决依赖关系。常见的添加 Requires、After,如果这个依赖是可选的,那么是 Wants、After。依赖关系通常被用...阅读全文
义一个 cache filter, 另外cache-rule也需要添加。 可以为多个代理添加,并单独设置某个代理的缓存是否开启。 如果定义了多个 filter,需要把 cache filter 放在最后。 cache-rule syntax: cache-rule name [key KEY] [ttl TTL] [if|unless condition] default: none context: backend, listen 定义缓存规则。可以同时定义多个,但是需要注意顺序,匹配则会停止测试。 acl pathA path /a.html filter cache cache-rule all ttl 3600 cache-rule path01 ttl 60 if pathA...阅读全文
包列表是最新的。apt-get install packagename——安装一个新软件包(参见下文的 aptitude )apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)apt-get –purge remove packagename——卸载一个已安装的软件包(删除配置文件)dpkg –force-all –purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用 ,就可以用这个,不过有点冒险。apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间 的话,可以让这个命令来删除你已经删掉的软件apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用...阅读全文
)列表是一个不错的开始。打包前需要考虑:自己是否有足够的知识和能力来维护这个包?在可预见的一段日子里是否有充足的时间和精力来进行 更新和修复 Bug?如果答案都是肯定的,那么就动手把它打包好,期间遇到问题则找人咨询指导。 4. 当经过反复检查和测试,觉得软件包已经比较完善时,寻找一位 Debian Developer 帮你检查和上传软件包,这位 DD 此时便是你的 sponsor。 当找到一位愿意帮忙的 DD 后,他会对你的软件包进行彻底的检查,指出(可能)存在的问题并请你修改。这时要做的就是参考他的意见修改软件包,并把结果再发给他,这是一个极好的学习 机会。如此反复若干次后软件包最终会符合 Debian 的标准,之后 sponsor 便会将其上传到 Debian 仓库。需要说明的是,经由...阅读全文
数。从而达到“写资源”合理利用的效果。然而,free命令所展示的buffer和cache 有点狭义的意思——free展示的buffer表示 块设备所占用的缓存 、free展示的cache表示普通文件占用的the page cache(缓存页) 。总之,buffer和cache使用的内存都是用来加速Linux读写性能,如果有新的进程需要内存,系统会将buffer和cache占用的内存回收,并重新分配给进程使用。2.4 其他内存概念RSS & VSZ & PSS & USSRSS(Resident Set Size):进程实际使用的物理内存大小,包括sharedMem。VSZ(Virtual Memory Size):进程所有能够访问到的内存大小,包括因为缺页中断,被swap出去的内存大小,以及...阅读全文
参考这些命令,来更好地管理自己的代码仓库。1. svn switchsvn switch URL [PATH] 该命令的作用是将工作副本切换到URL的版本。如果指定了PATH,则该命令会将PATH指定的目录切换到URL的版本。如果省略PATH,则该命令将当前工作目录切换到URL的版本。2. svn checkoutsvn checkout URL [PATH] 该命令的作用是将URL指定的版本库checkout到PATH指定的本地目录。如果省略PATH,则该命令会在当前目录下创建一个与URL同名的本地目录,并在其中checkout版本库。3. svn listsvn list URL 该命令的作用是查看URL指定的版本库中的文件和目录。4. svn movesvn move old_URL...阅读全文
导语 | kafka3.0的版本已经试推行去zk的kafka架构了,如果去掉了zk,那么在kafka新的版本当中使用什么技术来代替了zk的位置呢,接下来我们一起来一探究竟,了解kafka的内置共识机制和raft算法。一、Kafka简介Kafka是一款开源的消息引擎系统。一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer,以及一个ZooKeeper集群,如上图所示。其中ZooKeeper是Kafka用来负责集群元数据的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息。(一)Kafka核心组件producer:消息生产者,就是向broker...阅读全文
每次项目进度都很紧张、项目发版时间总是一延再延、每个版本bug数量堆积成山、测试期间各种bug总是层出不穷、临近上线发现严重bug,如果项目经理总是被这些问题围绕,那么项目总结迫在眉睫。项目经理如何进行项目总结才能让项目顺利进行,让领导一看就喜欢,今天把经验分享给大家,帮助你做好项目总结。总结的思维模式想写好一份项目总结,总结人员必须具备一定的结构化思维,对问题、数据进行结构分析,且能够通过结构化思维表达出来。结构化思维具备以下四个特点。结论:问题比较多的时候,要进行抽象归纳,做到抓大放小,先解决当前最主要的问题。总结的目的✤对项目进行复盘,发现项目中存在的问题,针对问题找到根本原因并提出解决方案;✤提高项目质量,让项目“健康”前行;✤通过数据衡量当前版本的质量,对项目整体情况进行评估...阅读全文
。 在 2019 年,将会发生从 CI 管道到 DevOps 装配线的转变。DevOps 装配线专注于自动化和连接多个团队执行的活动,例如开发人员的 CI,运维人员的基础架构配置和配置管理,测试人员的测试自动化,SecOps 的安全补丁,发布负责人的语义版本控制和部署到多种环境,等等。 下图展示了单个应用程序或服务的典型装配线: 自动化将成为主要焦点 关于 DevOps,我们谈论了很多自动化方面的内容。如果可能的话,零接触(zero-touch)自动化就是未来的发展方向。这并不是说你一定要自动化一切,只是说如果有必要,你就应该能够做到。了解 DevOps 周期的六个“C”,并确保在这些阶段之间应用自动化,这才是关键,这将是 2019 年的主要目标。 测试人员要学习编码 DevOps 对知道如何编...阅读全文
代码、撰写文档、修正错误。所有的这些不受待见的任务在一个健康的社区中都是必要的。 为什么要在优雅地写代码前做这些呢?这是一种信任,更重要的是,不要只关注自己开发的功能,而是要关注整个社区的动向。 博闻强识,敦善不怠 当你在某个社区中建立起自己的声望,那么很有必要全面了解该项目和代码。不要停留于任务状态上,而是要去钻研项目本身,理解那些超出你擅长范围之外的知识。不要只把自己的理解局限于开发者,这样会让你着眼于让你的代码有更大的影响,而不只是你那一亩三分地。 打个比方,你已经完成了一个网络模块的测试版本。你测试了一下,觉得不错。然后你把它开放到社区,想要更多的人测试。结果发现,当它以特定的方式部署时,有可能会破坏安全设置,还可能导致主存储泄露。如果你将代码视为一个整体时问题就可以迎刃而解,而不是...阅读全文
合用来做大数据分析的底层存储服务,并不适合用来做网盘等应用,因为修改不方便,延迟大,网络开销大,成本太高。 4. HDFS 的命令行使用 如果没有配置 hadoop 的环境变量,则在 hadoop 的安装目录下的bin目录中执行以下命令,如已配置 hadoop 环境变量,则可在任意目录下执行 help 格式: hdfs dfs -help 操作命令 作用: 查看某一个操作命令的参数信息 ls 格式:hdfs dfs -ls URI 作用:类似于Linux的ls命令,显示文件列表 lsr 格式 : hdfs dfs -lsr URI 作用 : 在整个目录下递归执行ls, 与UNIX中的ls-R类似 mkdir 格式 : hdfs dfs -mkdir [-p]
TiDB 3.1.0 GA 版本现已发布,该版本的更新集中在 Bug 修复。具体的更新有如下内容: 兼容性变化 TiDB支持 TiDB 在启动服务时,在开启 report-status 配置项情况下,如果发现 HTTP 监听端口不可用,则直接退出启动 #16291ToolsBackup & Restore (BR)BR 不支持在 3.1 GA 版本之前的 TiKV 集群上进行恢复 #233 新功能 TiDB支持在 explain format = "dot" 中展示 coprocessor 任务的信息 #16125通过 disable-error-stack 配置项减少日志的冗余 stack 信息 #16182Placement Driver (PD)优化热点 Region 调度...阅读全文
这两天开源配置管理工具 saltstack 爆出了CVSS得分为10分的漏洞。如果你对CVSS的评分没有概念,那么前几年震惊互联网的 openssl心脏滴血漏洞,CVSS base评分是5.0,由此可知这次爆出来的 saltsatck 漏洞是多么严重。 漏洞信息: 该漏洞是 F-secure 研究人员在3月份发现的,目前该漏洞已经在最新版本中修复。本次极高危漏洞,是由两个不同的漏洞引起的,一个是身份验证绕过漏洞 CVE-2020-11651,一个是目录遍历漏洞没有过滤掉不受信任的输入 CVE-2020-11652,从而导致攻击者可以不受限制的访问 salt-master 的整个文件系统。 攻击者获取salt-master的权限后,便可以控制整个被salt-master管理的数据中心的各主机...阅读全文
经过 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 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文
工作负载。 测试环境以及测试机器配置: 首先通过使用 Java 2D 基准测试对 Java 图形管道的性能进行压测,可以看到文本渲染性能一直稳步提升,直到第 12 版达到最高点,然后逐渐下降为目前 13 和 14 的水平,与 OpenJDK 8 比较相似。 而在 Java 2D 的图像渲染性能方面,它们的水平基本保持一致,但是 OpenJDK 14 以微弱的的性能优势成为了最好性能的那个。 这里还测试了使用矢量图形的渲染效果,水平基本保持一致。 通过进行非常基本的 Java SciMark 微基准测试,可以看到 OpenJDK 8 目前为止是最快的,并且自 OpenJDK 9 至 14 以来,性能基本上持平。OpenJDK 的运行速度约为 OpenJDK 8 的 88%。 通过使用 Java...阅读全文
可能有问题。自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的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文
dnscrypt-proxy到这里还不行,因为你没有配置使用该DNS。如果你使用的是NetworkManager,那么就编辑文件 /etc/NetworkManager/conf.d/rc-manager.conf :[main] rc-manager=resolvconf然后编辑 /etc/resolvconf.conf:# Configuration for resolvconf(8) # See resolvconf.conf(5) for details resolv_conf=/etc/resolv.conf # If you run a local name server, you should uncomment the below line and # configure your...阅读全文
Linux上的中文输入法,基本上都比较原始,仿佛还停留在上个世纪。唯有搜狗还行。 简介 2013年12月,搜狗与Ubuntu Kylin团队开始合作开发“搜狗输入法Linux版”。经过五个月的合作,于2014年4月17日,正式发布了1.0版本。2015年10月16日更新至2.0版本。 搜狗输入法Linux版基于开源小企鹅输入法框架、开源Qimpanel面板以及搜狗输入法引擎开发。目前,我最看重的功能有: 智能输入,动态调频,动态组词 可自由导入的细胞词库 模糊音输入,智能纠错 方便的中英文切换 长词联想 逗号句号翻页 皮肤替换 添加源安装 由于Debian官方是不支持搜狗输入法的,因此纯命令行操作,要先添加源。 如果没有apt-add-repository,先用sudo apt-get...阅读全文
-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...阅读全文
骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。如果程序有诊断选项(如 -v --verbose --debug LOG_LEVEL=DEBUG 的详情指令),试着选择这些能在记录中增加调试信息的选项。记住,多不等于好。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。如果你的说明很长,在开头简述问题,接下来再按时间顺序详述会有所帮助。描述目标而不是过程如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。😒 BAD | 我怎样才能从某绘图程序的颜色选择器中取得十六进制的 RGB 值?😊 GOOD| 我正试着...阅读全文
本教程介绍如何在一个 U 盘上安装多个 Linux 发行版。这样,你可以在单个 U 盘上享受多个现场版live Linux 发行版了。 我喜欢通过 U 盘尝试不同的 Linux 发行版。它让我可以在真实的硬件上测试操作系统,而不是虚拟化的环境中。此外,我可以将 USB 插入任何系统(比如 Windows 系统),做任何我想要的事情,以及享受相同的 Linux 体验。而且,如果我的系统出现问题,我可以使用 U 盘恢复! 创建单个可启动的现场版 Linux USB 很简单,你只需下载一个 ISO 文件并将其刻录到 U 盘。但是,如果你想尝试多个 Linux 发行版呢?你可以使用多个 U 盘,也可以覆盖同一个 U 盘以尝试其他 Linux 发行版。但这两种方法都不是很方便。 那么,有没有在单个...阅读全文
。CI_COMMIT_REG_NAME就是一个很好的例子,它的值表示用于构建项目的分支或tag名称。除了在.gitlab-ci.yml中设置变量外,还有可以通过GitLab的界面上设置私有变量。 更多关于variables。 cache Gitlab Runner v0.7.0 开始引入。 cache用来指定需要在job之间缓存的文件或目录。只能使用该项目工作空间内的路径。 从GitLab 9.0开始,pipelines和job就默认开启了缓存 如果cache定义在jobs的作用域之外,那么它就是全局缓存,所有jobs都可以使用该缓存。 缓存binaries和.config中的所有文件: rspec: script: test cache: paths: - binaries/ - .config 缓存git中没有被跟踪的文件...阅读全文
如,一组开发人员可能只能访问名为 dev 的命名空间,并且无法访问 production 命名空间。 将不同团队限制在不同命名空间的能力对于避免重复工作或资源冲突可能很有价值。还可以针对命名空间配置 LimitRange 对象,以定义部署在命名空间中的容器的标准大小。ResourceQuotas 还可用于限制命名空间内所有容器的总资源消耗。可以对命名空间使用网络策略来限制 pod 之间的流量。使用就绪和存活探针Readiness(就绪)和 Liveness(存活)探针本质上都是健康检查的类型。这些是在 K8s 中使用的另一个非常重要的概念。就绪探针确保仅当 pod 准备好为请求提供服务时,才会将对 pod 的请求定向到它。如果它还没有准备好,那么请求将被定向到其他地方。为每个容器定义就绪探针...阅读全文
Prometheus已成为cloud-native世界中的默认监控应用程序和系统。对于真是使用案例,Prometheus应该是高可用的,这是有挑战的。一旦在高可用性模式下运行Prometheus,就会遇到很多问题,例如数据重复,为重复数据实现single pane等。为了解决此问题,Cortex诞生了。Cortex是一个CNCF sandbox project,旨在为使用Prometheus 收集的指标提供长期存储和全局指标视图。首先让我们看一下Cortex的主要目标,然后看一下它为Prometheus解决的一些问题。水平可伸缩性– Cortex可以分成多个微服务,每个微服务都可以独立地水平伸缩。例如,如果许多Prometheus实例正在向Cortex发送数据,则可以扩展Ingester微...阅读全文
Linux Mint 18.2 Sonya beta 发布。 本次更新对 Linux Mint 的本地和第三方应用程序该来了改进,包括 Blueberry、Xed、Xplayper、Xreader、Pix、Xviewer、更新管理器、以及软件源码配置工具。 如果你已经安装了 Linux Mint 18.1 或 18.0,那将可以通过 Update Manager 直接进行升级。不过就算你不打算将更新至 18.2,官方也将对所有旧版系统提供安全补丁,直至 2021 。 更多内容请参阅 发行说明 。 下载地址: Mate: 64-bit Cinnamon: 64-bit...阅读全文
如果要了解一两个 ip 的一些简单的情况,比如 ls -l /data | wc -l,以前是要写到 inventory 文件中的, ansible -i hosts all -m shell -a "ls -l /data0/ | wc -l" 也可以这样,一台机器最后面要有一个逗号, ansible all -i 192.168.1.1, -m shell -a "ls -l /data0/ | wc -l" 两台机器用逗号隔开,并且不能有空格, ansible all -i 192.168.1.1,192.168.1.2 -m shell -a "ls -l /data0/ | wc -l" 参考: http://stackoverflow.com/ 除了上面的 shell 模块,还...阅读全文
start Raise network interfaces. ``` **解决方案** 编辑文件: `sudo vim /etc/network/interfaces` 将原来的: ``` auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp ``` 改为: ``` auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet dhcp ``` 重启查验结果。 ...阅读全文
律动 BlockBeats 消息,5 月 25 日,据官方消息,牛油果 Enumivo 团队宣布推出新项目 EVO Chain,旨在复制一条 ETH2。官方表示,将在区块高度 12,520,000 至 12,800,000 区间内进行代币空投。 用户需要在此区间内,向 0x3fEa51dAab1672d3385f6AF02980e1462cA0687b 地址发送 0 ETH,成功后便可获得 4 EVO,同时团队将获得 1 EVO。单一地址发送交易次数不限,EVO 总量 1 亿枚。 团队同时表示,对 DPoS 已经失望,此前发行于 EOS 链上的项目将会迁移至 EVO Chain 上。...阅读全文
如果你在 dmesg 日志中发现了该错误,对应的 xfs 分区不能被挂载和使用, ``` "XFS Filesystem has duplicate UUID", ``` 临时解决办法是,在 mount 命令中使用 nouuid 挂载选项, ``` # mount -o ro,nouuid /dev/nvme0n1p1 /mnt ``` 临时解决办法在你机器重启后将失效,持久的办法应该是使用 xfs_admin 命令行工具生成新的 UUID,然后将新的UUID配置到 /etc/fstab 中, ``` # xfs_admin -U generate /dev/nvme0n1p1 Clearing log and setting UUID...阅读全文
在Ubuntu / Debian中,如果您想要禁用图形界面启动,可以通过设置系统默认的运行级别来实现。 Ubuntu使用systemd管理系统服务,运行级别被称为目标(targets)。 图形界面通常在graphical.target运行级别运行,而文本模式界面通常在multi-user.target运行级别运行。 要禁用图形界面启动,您可以设置系统默认启动到multi-user.target。 执行以下命令来设置默认的运行级别: ``` sudo systemctl set-default multi-user.target ``` 需要重启生效...阅读全文
Debian 项目领导人选举公布了结果:Sam Hartman 当选。一共有五人参选:Joerg Jaspert、Jonathan Carter、Sam Hartman、Martin Michlmayr 和 Simon Richter。 社区开发者投票采用的是孔多塞投票法。Sam Hartman 是在 2000 年加入 Debian 社区,曾担任 MIT Kerberos Consortium 的首席技术专家、担任互联网任务工程组安全部分的负责人。 他表示对 Debian 项目最重要的是让它变得有趣,让开发者享受向社区做出贡献的经历,倾听开发者的担忧,欢迎新的贡献者。...阅读全文
Falco 是云原生的容器运行时(Runtime)安全项目,主要有 Sysdig 为主开发,为 CNCF 项目,近日 Sysdig 宣布将底层的内核模块、eBPF 探针和库贡献给 CNCF。 Falco 可以轻松使用内核事件,并使用 Kubernetes 和其他云本机中的信息补充和丰富事件。Falco 具有一组专门为 Kubernetes,Linux 和云原生构建的安全规则。如果系统中违反了规则,Falco 将发送警报,通知到用户。...阅读全文
不过在这段时间内,开发团队还需要修复已知的BUG,各种崩溃和内存泄漏问题,整合所有最新的安全补丁,处理Debian GNU/Linux 8 "Jessie"系列版本的推送和流畅升级问题。 Niels Thykier在今天更新的邮件列表中写道:“我们计划在2017年6月17日发布。如果你想要为此进行庆祝,请考虑参加一场Debian版本发布排队或者自己举办一个。用户可以访问https://wiki.debian.org/ReleasePartyStretch查看更多信息。”...阅读全文
请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。 101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。 只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。 102 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 2xx 成功 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。 200 请求已成功,请求所希望的响应头或数据体将随此响应返回。 201 请求已经被实现...阅读全文
核2.6.13或更高版本 Python 2.4或更高版本 如何在Linux中安装Pyinotify 首先检查系统上安装的内核和Python版本,如下所示: # uname -r # python -V 一旦满足依赖关系,我们将使用pip来安装pynotify 。 在大多数Linux发行版中,如果您使用从python.org下载的Python 2> = 2.7.9或Python 3> = 3.4二进制文件, Pip已经安装,否则安装如下: # apt-get install python-pip 现在,像这样安装pyinotify: # pip install pyinotify 它将从默认存储库安装可用版本,如果您希望具有最新的稳定版本的pyinotify ,请考虑将其克隆为git仓库,如图...阅读全文
改系统变量: echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf 保存并执行 sysctl -p 生效。执行, sysctl net.ipv4.tcp_available_congestion_control 如果结果是这样 root@debian:~# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno 就开启了。 然后执行下面的命令,看到有...阅读全文
Linux Mint 19.1 开发代号“Tessa”终于正式发布了 。新版本仍然基于 Ubuntu 18.04 LTS,并将支持到 2023 年。外观上最大的改进是加入了 Cinnamon 4.0 桌面版,并保留了切换到现代桌面布局或传统的选项。Linux Mint 19.1 的最终发布仅在发布测试版之后两周。 其他一些不错的功能包括可查看主线内核的支持状态,这可以让您知道是否应该使用当前内核或是否应该升级它。此外,新版本还有一个按钮允许您快速删除旧内核,以便您可以清除启动分区中不需要的部分。 Mint 19.1 released 正如您对任何新操作系统的期望一样,Mint 19.1 附带了一系列来自不同摄影师的全新壁纸,可让您精心设置。此外,如果你不喜欢 Mint 上的默认配色方案...阅读全文
Cloudpods是一个开源的多云混合云管理平台。Cloudpods首先是一个私有云云平台,具备将计算节点使用开源QEMU/KVM虚拟化技术虚拟出虚拟机,实现私有云的功能。其次,Cloudpods能够纳管其他的云平台,包括主流私有云和公有云,实现云管的功能。 Cloudpods的目标是帮助用户基于本地基础设置以及已有云基础设置,构建一个统一融合的云上之云,达到降低复杂度,提高管理效率的效果。Cloudpods从3.0开始全面拥抱Kubernetes,基于Kubernetes部署运行云平台的服务组件,采用Kubernetes Operator,基于Kubernetes集群自动化部署服务,实现了云平台的服务的容器化分布式部署。本文总结了Cloudpods在过去3年云平台底层容器化改造的经...阅读全文