Git 2.26 发布:传输协议 V2 成默认协议
name-rev 功能。其他各种性能改进。 Bug 修复 Windows 的 Git 现在可以克隆到当前用户可以写入的目录中,即使他们甚至没有权限读取父目录。通过 Git GUI 要求输入密码时,现在可以正确处理非 ASCII 字符。git update-git-for-windows -y 现在可以完全自动化 更多详细信息可参见发布公告。...阅读全文
name-rev 功能。其他各种性能改进。 Bug 修复 Windows 的 Git 现在可以克隆到当前用户可以写入的目录中,即使他们甚至没有权限读取父目录。通过 Git GUI 要求输入密码时,现在可以正确处理非 ASCII 字符。git update-git-for-windows -y 现在可以完全自动化 更多详细信息可参见发布公告。...阅读全文
2009 年正式发布的 Windows 7 操作系统,已于 2020 年 1 月 14 日终止面向公众的技术支持。即便如此,自由软件基金会(FSF)还是做好了下一步行动的准备。为了接管 Windows 7 源码,该组织已于上周向微软邮寄了一枚空硬盘。至于软件巨头将如何回应,目前暂不得而知。 自由软件基金会称: 鉴于其拥有所有必要的合法权利与措施,微软有权选择是否开源 Windows —— 只待该公司一声问候,我们可随时为其提供力所能及的帮助。 尽管微软不大可能开放 Windows 7 的源码,但自由软件基金会表示将该操作系统的钥匙交由开源社区的提议,已经收到了热烈的反响。 过去几周,我们已经向其传达了这样的信息 —— 全世界成千上万的人希望 Windows 开源 —— 而我们将为其提供相应...阅读全文
10 月 31 日消息,Intel 宣布,已经为广泛部署傲腾数据中心用、非易失性内存条(Optane DC persistent memory)做好了准备。 目前,Beta 项目已经启动,参与的 OEM(原始设备制造商,如华为、联想等)和 CSP 伙伴(云服务伙伴,如谷歌、阿里巴巴、亚马逊、微软等)可以更早地向客户接入由傲腾非易失性内存条驱动的系统, 从而为 2019 年上半年批量上线奠定基础。 傲腾非易失性内存基于 3D Xpoint 技术,和目前的傲腾 SSD 共享存储芯片,从而弥补了传统 DDR4 内存不具备的数据永固和大容量特性, 单条最大 512GB,可配合 Xeon Scalable 处理器使用。 特别的,Intel 此次为傲腾 DC 非易市内存提供应用模式和内存模式,前者可理...阅读全文
在 Linux Kernel 5.10 代码中已经增加了对 EXT4 文件系统的更新,其中包括在 DAX/DIO 模式下大幅改进文件覆盖的效率。尤其是在运行英特尔 Optane DCPMM 存储的情况下,并行写入尤其是随机覆盖性能可以提升 10 倍以上,常规操作也能提升 2 倍以上。但是您必须使用 EXT4 iommap 代码(例如在DAX / DIO模式下),并且此更改不会影响 EXT4 的常规操作。 另一项针对 EXT4 的重大改变是由谷歌 Harshad Shirwadkar 提交的 “fast commits”。fast commits 模式和在有序模式(挂载选项 data=ordered)运行的 EXT4 用户有关,在保持最小增量的情况下与 JBD2 日志共享的快速提交空间中重新...阅读全文
/ppa-name #添加ppa源sudo add-apt-repository -r ppa:user/ppa-name #删除ppa源 注意,任何人都可以上传软件包到ppa,所有尽量避免使用ppa,如果必须使用,应选用可以信任的,有固定团队维护的ppa。 dpkg工具管理deb格式软件包 使用PPA源安装软件包 目录...阅读全文
) CONFIG_LIBNL32=y # IEEE 802.11n (High Throughput) support CONFIG_IEEE80211N=y 之后使用 make && make install 命令进行编译。系统将在 /usr/local/bin 目录下生成两个文件名为 hostapd、hostapd_cli 的可执行文件。 2.3 使用命令 cp hostapd.conf /etc/hostapd/ 将 hostapd 配置文件复制到 /etc/hostapd/ 文件夹下,并将相关字段修改为如下内容: interface=wlan1 driver=nl80211 ssid=CMSS hw_mode=g channel=7 macaddr_acl=0 auth_algs=3...阅读全文
Debian 团队宣布 Debian 9 Stretch 在发布时将不太可能会支持 Secure Boot。Debian 9 的代码在今年 2 月冻结,之后开发者的精力转向解决 bug 等问题上。 UEFI Secure Boot 是微软在 Designed for Windows 8 认证时要求 OEM 的产品必须支持,它的设计目的是防止恶意程序潜入到引导进程,用户如果想要在机器上安装替代操作系统,那么该操作系统需要获得微软的有效签名。Debian 团队称,shim 得到了微软签名,但 dak 没有。 开发者表示,虽然 Stretch 在发布时可能不会支持 Secure Boot,但在 Stretch 生命周期内引入 Secure Boot 支持仍然是可能的。...阅读全文
随着热辅助磁记录(HAMR)技术的成熟,希捷也终于拿出了 16TB 的 3.5 英寸 Exos HAMR 硬盘驱动器。目前该产品已在全面测试阶段,且较西部数据(WD)的微波辅助磁记录(MAMR)技术有更大的优势。HAMR 可借助激光对下方盘片进行加热,使磁头更易于记录、从而实现更高的存储密度。 希捷表示,HAMR 磁头的可靠性,已经超越了“行业标准”。 目前希捷正在对 16-TB HAMR 驱动器进行一系列的基准和集成测试,例如检查它们是否能够对控制器的命令做出了适当的响应。该制造商指出,客户无需做出任何特殊的改动,即可直接像传统 3.5" 硬盘驱动器那样使用 HAMR 驱动器。 如果一切顺利,希捷有望在 2020 年提供容量高达 20 TB 的 HAMR 硬盘驱动器产品。...阅读全文
在本教程中,我们将使用 Gogs 在 Debian 9 上按步骤指导您安装和配置您的私有 Git 服务器。这篇教程中涵盖了如何在 Debian Stretch 上安装 Go 语言、PostgreSQL 和安装并且配置 Nginx 网页服务器作为 Go 应用的反向代理的细节内容。 步骤 4 - 使用 Gogs 安装 Git 服务 使用 git 用户登录并且使用 go 命令从 GitHub 下载 Gogs, su - git go get -u github.com/gogits/gogs 此命令将在 $GOPATH/src 目录下载 Gogs 的所有源代码。 切换至 $GOPATH/src/github.com/gogits/gogs 目录,并且使用下列命令搭建 Gogs。 cd...阅读全文
今天我们发布了Docker CE 17.06,它包含了诸多新特性、优化和bug修复。我们在四月份的DockeCon上公布了Moby项目,Docker CE 17.06是第一个完全构建在它基础上的Docker版本。变更日志中能看到完整的更新列表,我们来看看它的一些新特性。 我们也为这篇文章制作了一个视频版本。 多阶段构建 17.06 CE最大的特性是它的多阶段构建(multi-stage builds),它最初在四月的DockerCon被公布,现在已经达到了稳定版本。多阶段构建能从一个Dockerfile中构建出更加简洁、体积更小的Docker镜像。 多阶段构建通过构建过渡镜像并产生输出。这样就能在一个过渡镜像中编译代码,在最终的镜像中只使用它的输出。例如,Java开发者通常使用Apache...阅读全文
Docker CE 19.03 和 EE 3.0 都已经发布,19.03 主要内容包括无需 root 权限、支持 GPU 的增强功能和 CLI 插件更新等等,19.03 现在是允许非 root 用户运行守护程序,启用 Rootless 模式可以防止攻击者夺取主机的 root 权限,即使 Docker 存在漏洞或设置错误。 更新内容如下: Builder 增加了内联缓存支持 –cache-from docker/engine#215允许输出配置 moby/moby#38898固定的 GCR 变通令牌缓存 docker/engine#212下载错误时调用 stopprogress docker/engine#215Buildkit 现在使用 systemd 的 resolv.conf...阅读全文
今天,Debian开发者兼Ububtu成员Julian Andres Klode宣布,他计划在2017年1月1日关闭对APT资源库的SHA-1支持。业界反对SHA-1(安全散列算法)加密已有多时,其被普遍用于签发数字内容、证书吊销列表(CRL)和数字证书。但到2017年1月1日的时候,事情可能会对浏览互联网的老用户产生影响。 需要指出的是,SHA-1加密也被用于签发基于Debian的操作系统的高级包工具(APT)资源库,比如热门的Ubuntu和Linux Mint。 这些经过SHA-1签名的资源,将于明年年初自动被Ubuntu 16.04 LTS(Xenial Xerus)和Ubuntu 16.10(Yakkety Yak)给拒绝。 Julian Andres Klode在邮件公告中称...阅读全文
,意味着树莓派 4 能够支持高动态范围(HDR)的 4K p60 HEVC 视频解码、并同时带动两台 4K 显示器。同时,这是消费者首次能够选择 1GB / 2GB / 4GB 运存,且起售价维持 35 美元(240 RMB)不变。 本次升级后,你可以将树莓派 4 当做一台完整的台式电脑来使用,因为官方提供了一整套的桌面配件。套件中包括了主板、机箱、USB 键鼠、电源、两根 HDMI 线、32GB Micro SD 存储卡、以及初学者指南,可帮助您充分发挥设备的潜力,价格为 105 英镑(919 RMB)。 显然,随着树莓派 4 带来的最新改进,树莓派基金会有望帮助人们解决更多的问题。下面是树莓派 4 的详细规格: 处理器:博通 BCM2711,四核 Cortex-A72、64 位 SoC、主...阅读全文
:#influxdb部分配置文件 #描述:内存快照的冷冻写入周期,默认10m #场景: 当创建新的shard分片开始接受数据之后,上个shard分片进入冷冻期, #冷冻期的shard分片不再接收写入的请求,10分钟之后,会将内存里冷冻shard的cache进行落盘操作 #应用: 本文设置为30分钟。个人认为时间越短,会越快释放上个shard的内存cache cache-snapshot-write-cold-duration = "30m" #描述: 使用全量策略压缩冷冻期分片的周期,默认4h #场景: 当shard进入冷冻期后,会经过4h,开始进行全量压缩策略,进一步减少shard落盘数据占用的空间 #与cache-snapshot-write-cold-duration配合使用 #可以从日志中看到,新分片...阅读全文
的超大容量版本,应用了世界第一的128层堆叠4D TLC NAND闪存颗粒,单颗容量1Tb(128GB),相比于上一代的512Gb颗粒只需一半数量的闪存芯片就可以达成同等容量,同样数量闪存芯片则容量轻松翻番。 PE8111现有最大容量为16TB,E1.L接口形态,同时正在开发32TB版本。 它特别针对OCP(开放计算项目)存储平台而优化,持续读写速度最高3.4GB/s、3.0GB/s,随机读写速度最高700K IOPS、100K IOPS。 SK海力士表示,PE8010、PE8030 SSD已经向客户出样,PE8111下半年出样。...阅读全文
Docker v1.13.0 正式版发布了。需要注意的是,在 Docker 1.13 中,与在 Docker 1.12 中引入的实验版本相比,管理插件 api 发生了变化。在升级到 Docker 1.13 之前,必须卸载使用 Docker 1.12 安装的插件。可通过 docker plugin rm 命令卸载插件。 如果已经升级到 Docker 1.13 而不卸载先前安装的插件,则当 Docker 守护程序启动时,可能会看到此消息 Error starting daemon: json: cannot unmarshal string into Go value of type types.PluginEnv 要手动删除所有插件并解决此问题,请执行以下步骤: 从 /var/lib...阅读全文
谈及linux内存,很多时候,我们会关注free,top等基础命令。当系统遇到异常情况时,内存问题的根因追溯,现场诊断时,缺乏深层次的debug能力。本篇幅不做深层讨论,能把当前系统的问题描述清楚,是每个SRE应该具备的最基础能力。free========2.1 free命令原理free是通过查看 /proc/meminfo 来获取内存的使用情况。但是 /proc/meminfo 这个文件又是怎么来的?我们先了解下 /proc 目录:/proc 是一个虚拟文件系统,该目录下的所有文件都是伪文件,该类文件只存在于内存中,并不占用空间——使用 du -sh 即可验证,该模具路下的磁盘占用都是0。/proc 下的所有文件都是内核调用proc_create() 接口来创建的虚拟条目。/proc 中...阅读全文
=shanghai,dc=op Manager Password PASS Display Name LDAP attribute uid Email Address LDAP attribute mail 保存配置,然后就可以用LDAP账号登陆了。 设置Jenkins为中文 忽略浏览器语言,强制使用中文。 首选在插件页,安装Locale plugin插件。安装好后,在系统设置 -> Locale,Default Language -> zh_CN,勾选Ignore browser preference and force this language to all users,忽略浏览器属性强制所有用户使用该语言。 修改时区。这种方式安装的 Jenkins 默认不是我国时区,可以通过更新运行参数调整...阅读全文
。.public工作流是cp,并且它不会循环复制public/本身。 pages: stage: deploy script: - mkdir .public - cp -r * .public - mv .public public artifacts: paths: - public only: - master 更多内容请查看GitLab Pages用户文档。 Validate the .gitlab-ci.yml GitLab CI的每个实例都有一个名为Lint的嵌入式调试工具。 你可以在gitlab实例的/ci/lint下找到该链接。 Skipping jobs 如果你的commit信息中包含[ci skip]或者[skip ci],不论大小写,那么这个commit将会创建但是jobs也会跳过...阅读全文
。 在 Linux 中,内存设置被映射为 /dev/mem,root 用户通过对这个文件读写,可以直接操作内存。 JVM 进程占用虚拟内存过多 使用 TOP 查看系统性能时,我们会发现在 VIRT 这一列,Java 进程会占用大量的虚拟内存。 导致这种问题的原因是 Java 使用 Glibc 的 Arena 内存池分配了大量的虚拟内存并没有使用。此外,Java 读取的文件也会被映射为虚拟内存,在虚拟机默认配置下 Java 每个线程栈会占用 1M 的虚拟内存。具体可以查看 为什么linux下多线程程序如此消耗虚拟内存。 而真实占用的物理内存要看 RES (resident) 列,这一列的值才是真正被映射到物理内存的大小。 常用管理命令 我们也可以自己来管理 Linux 的虚拟内存。 查看系统内存状...阅读全文
的是Ryzen 5 1600X、Core i7-6700K——不知道为何扯上六代酷睿旗舰,这里就不管它了,重点对比两代Ryzen。 很明显,Ryzen二代的提升是全方位的,几乎每一项指标都有明显进步,缓存、内存延迟也果然有降低,内部传输性能和延迟同样更好。 SiSoftware的总结评价很干脆:“Ryzen二代是一次很给力的更新,绝对不会让用户失望,很可能会继续提高AMD的市场份额。AMD继续战斗!”...阅读全文
将会主动触发一次子任务的执行, 多个子任务用逗号分隔; 22、一致性:“ 调度中心” 通过 DB 锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行; 23、自定义任务参数:支持在线配置调度任务入参,即时生效; 24、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞; 25、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性; 26、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件; 27、推送 maven 中央仓库: 将会把最新稳定版推送到 maven 中央仓库, 方便用户接入和使用; 28、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图...阅读全文
我刚为 DebianLive 11.1.0 及 11.0.0 (32及64位元)英语版本的 Xfce 桌面系统造了半中文包10个及中文包8个,提供中文支援。 功能: (甲) 每一个半中文包,都可以为适用的 DebianLive 英语版本 Xfce 桌面系统提供中文支援,包括显示中文和输入中文。可选用的中文输入法平台有: 1. 小企鹅输入法平台 (fcitx) - 内含 23 个中文输入法 2. 新一代小企鹅输入法平台 (fcitx5) - 内含 32 个中文输入法 3. 智能汇流排输入法平台 (ibus) - 内含 15 个中文输入法 4. 智能通用输入法平台 (scim) - 内含 22 个中文输入法 5. 小小输入法平台 (yong) - 内含 23 个中文输入法 (B) 每一个名称相...阅读全文
什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文
): DLBw64_obdog_ibus_eng_20220201.iso 智能通用(scim) 输入法平台(含22个中文输入法): DLBw64_obdog_scim_eng_20220201.iso 小小(yong) 输入法平台(含23个中文输入法): DLBw64_obdog_yong_eng_20220201.iso 32 位元: 小企鹅 (fcitx) 输入法平台(含23个中文输入法): DLBw32_obdog_fcitx_eng_20220201.iso 智能汇流排(ibus) 输入法平台(含23个中文输入法): DLBw32_obdog_ibus_eng_20220201.iso 智能通用(scim) 输入法平台(含22个中文输入法): DLBw32_obdog_scim_eng_20220201.iso 小小(yong) 输入法平台(含...阅读全文
context是Go并发编程中常用到一种编程模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编程中常用到一种编程模式:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发程序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后续操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例子:func...阅读全文
channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来决定。qcount 表示当前缓冲区中有效数据的总量...阅读全文
在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文
本教程介绍如何在一个 U 盘上安装多个 Linux 发行版。这样,你可以在单个 U 盘上享受多个现场版live Linux 发行版了。 我喜欢通过 U 盘尝试不同的 Linux 发行版。它让我可以在真实的硬件上测试操作系统,而不是虚拟化的环境中。此外,我可以将 USB 插入任何系统(比如 Windows 系统),做任何我想要的事情,以及享受相同的 Linux 体验。而且,如果我的系统出现问题,我可以使用 U 盘恢复! 创建单个可启动的现场版 Linux USB 很简单,你只需下载一个 ISO 文件并将其刻录到 U 盘。但是,如果你想尝试多个 Linux 发行版呢?你可以使用多个 U 盘,也可以覆盖同一个 U 盘以尝试其他 Linux 发行版。但这两种方法都不是很方便。 那么,有没有在单个...阅读全文
我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优化,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文
做文字输入,按ESC键可回到命令模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号。 不过一般我们在使用时把vi简化成两个模式,就是将底行模式也算入命令模式。 一、打开文件、保存、关闭文件(vi命令模式下使用) vi filename //打开filename文件 :w //保存文件 :w debian.cn //保存为当前目录下的文件"debian.cn" :q //退出编辑器,如果文件已修改请使用下面的命令 :q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件 :x! //退出编辑器,且保存文件,忽略是否对文件具有写权限 二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退...阅读全文
经过 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 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文
RethinkDB最早是作为一个对SSD进行专门优化的MySQL存储引擎出现的,其特点在于对SSD的充分利用。而目前RethinkDB已经脱离MySQL成为一个独立的存储。 RethinkDB目前支持几乎所有的64位Linux发行版,包括: Ubuntu 10.04.1 x86_64 Ubuntu 10.10 x86_64 Red Hat Enterprise Linux 5 x86_64 CentOS 5 x86_64 SUSE Linux 10 RethinkDB支持各种底层存储:SSD,传统磁盘以及像AWS这样的云存储服务。 RethinkDB应用场景 它可以用来替代Memcached作为数据缓存层。或者替代一些类似Memcached的存储,比如Membase,MemcacheDB...阅读全文
包 Packages: Cargo提供的让我们创建, 测试和分享Crates的工具.箱 Crates: 提供类库或可执行文件的模块树模块 Modules and use: 管理和组织路径, 及其作用域和访问权限路径 Paths: 如结构体(structs), 函数(function), 或模块(module)等事物的命名方式包(Packages)和箱(Crates)包(Package)通过Cargo创建. 每一个包(Package)都有一个Cargo.toml文件. 包(Package)包含箱(Crates)的规则如下:只能包含0或1个类库箱(library crates)可以包含任意多个二进制箱(binary crates)至少有一个箱(Crate), 可以是类库箱(library...阅读全文
由于日常大部分工作需要在 Debian 环境下完成,最近发现升级到 Debian Stretch 后,Vim 的一个常用操作没法做了,没法使用鼠标,直接选择并复制。很别扭,之前用着没问题的。今天来分享一个解决办法,为大家解决 Debian 9 VIM 环境下,无法使用鼠标右键进行选择、复制的问题,供大家参考。 Debian 9 (Stretch) 无法使用鼠标右键选择、复制的解决方法,Debian 9怎么使用右键复制 装了 debian 9 以后,vim没有办法使用鼠标直接选择并复制,检查后发现是一个默认的配置问题。可以使用以下方法彻底解决。 1、 打开 Vim 的默认配置文件 vim /usr/share/vim/vim80/defaults.vim 2、 转至第 70 行,找到: if...阅读全文
当 Torvalds 将某些代码标记为“dontuse”,通常表明这个问题比较大。在 5.12 首个候选版本更新中,破坏了交换文件(swapfile)的处理。具体来说,更新后的代码会失去指向 swapfile 开头的正确偏移。用 Torvalds 自己的话来说,“交换还是会发生,但它发生在文件系统的错误部分,最终结果显然是灾难性的”。这样 Linux 内核如果想要将内存中的内容分页到磁盘上的时候,数据就会落在相同磁盘和 swapfile 活跃的分区的随机部分上,而且这不是作为文件,而是作为垃圾直接写入到磁盘的原始扇区。这意味着不仅要覆盖现有文件中的数据,还要覆盖相当大块的元数据,这些元数据的损坏很可能会导致整个文件系统无法挂载和使用。Torvalds 继续指出,如果你根本不使用 swap...阅读全文
nsenter 是一个可以在指定进程的命令空间下,运行程序的命令,它位于 util-linux 包中。 nsenter 用途 nsenter 的一个典型用途是进入容器的网络名字空间,进行网络相关的排障。大多数容器,为了保持轻量,没有包含较为基础的命令,比如说 ip,ping,telnet,ss,tcpdump等,这就给容器内的网络调试带来困扰。这时就可以使用 nsenter 命令仅进入到容器的网络命名空间,使用宿主机的相关命令调试容器网络。 此外,nsenter也可以进入 mnt, uts, ipc, pid, user 命令空间,以及指定根目录和工作目录。 nsenter 使用 首先看下nsenter命令的语法: nsenter [options] [program [arguments...阅读全文
文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在创建 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文
Django 3.0 发布了第一个版本3.0a1,正式版版本将于今年12月份发布。3.0版的Django带来了一些新特性,其中最值得关注的应当是其开始支持异步功能。 django路线图 此前有草案提出要 让 Django 支持异步 。聚集于 HTTP 中间件视图和 ORM,开发者要在 Django 中添加异步支持,同时维护对同步 Python 的支持,并且将完全向后兼容。 该设想最终会替换掉 Django 中的大多数阻塞部分,包括 Session、Auth、ORM 与 Handlers 等,使其 原生支持异步 。而同步 API 将继续存在并得到完全支持,其中一些最终将转变为原生异步代码的同步包装器。 ASGI 模式将 Django 作为原生异步应用程序运行,原有的 WSGI 模式将围绕每个...阅读全文
MySQL 8.0 系列的首个正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 需要注意的是从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方式进行升级,并且不支持从 MySQL 8.0 降级到 MySQL 5.7(或从某个 MySQL 8.0 版本降级到任意一个更早的 MySQL 8.0 版本)。作为替代方案,在升级之前请对数据进行全量备份。 本文简要介绍 MySQL 8 中值得关注的新特性和改进。 1. 性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在这些方面带来了更好的性能:读/写工作负载、IO 密集型工作负载、以及高竞争...阅读全文
Linkerd 是一个提供弹性云端原生应用服务网格(service mesh)的开源项目,也是面向微服务的开源 RPC 代理。Linkerd(发音 "linker-DEE")是一个透明的服务网格,旨在通过透明地将服务发现、负载均衡、故障处理,插桩(instrumentation)和路由添加到所有的服务间通信中,使现代应用程序安全可靠,而无需侵入应用内部本身的实现。 linkerd 作为一个透明的 HTTP/gRPC/thrift/ 等代理,通常可以以最少的配置被加入到现有的应用程序中,不管这些应用程序采用什么语言编写。linkerd 能与许多通用协议和服务发现后端运行,包括 Mesos 和 Kubernetes 等预定好的环境。 Linkerd 基于 Netty 和...阅读全文
按计划,JDK 10 将于 3 月 20 日正式发布。据前 Oracle 员工 Simon Ritter 的统计,JDK 10 总共包含 109 项新特性。当然,在最终发布前,可能还会发生变化。 新特性中最重要的,是我们之前曾报道过的 12 个 JEP : JEP 286: 局部变量的类型推断。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果。 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中。 JEP 304: 垃圾收集器接口。通过引入一个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性。 JEP 307: 向 G1 引入并行 Full GC。 JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓...阅读全文
据外媒报道,近日 nginx 被爆出存在安全问题,有可能会致使 1400 多万台服务器易遭受 DoS 攻击。而导致安全问题的漏洞存在于 HTTP/2 和 MP4 模块中。nginx Web 服务器于11月6日发布了新版本,用于修复影响 1.15.6, 1.14.1 之前版本的多个安全问题,被发现的安全问题有一种这样的情况 —— 允许潜在的攻击者触发拒绝服务(DoS)状态并访问敏感的信息。 “在 nginx HTTP/2 实现中发现了两个安全问题,这可能导致过多的内存消耗(CVE-2018-16843)和CPU使用率(CVE-2018-16844)”,详见 nginx 的安全建议。 此外,“如果在配置文件中使用"listen"指令的"http2"选项,则问题会影响使用...阅读全文
有多种方式查看当前 Debian系统 的版本信息,这里我们会分别介绍。最简单的查看方法,是查看 /etc/issue 这个文件,样例如下; root@debian:~# cat /etc/issue Debian GNU/Linux 9 \n \l 上面的命令有个小问题,它没有显示 Debian 的小版本号。要获取 Debian 的小版本号 Point Release 信息,我们可以使用以下这几个命令。 joseph@debian:~$ cat /etc/debian_version 9.9 /etc/debian_version 提供了完整的版本信息。另一个文件,则会提供更详细的版本信息,文件名是 /etc/os-release,样例如下; joseph@debian:~$ cat...阅读全文
kubernetes 中的垃圾回收机制主要有两部分组成:一是由 kube-controller-manager 中的 gc controller 自动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在每个节点上需要回收已退出的容器以及当 node 上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个参数:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文
SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。 这里以 Google.com 为例,证书中所包含的 SAN 扩展域名,可以用这个命令列出: echo | openssl s_client -connect google.com:443 2>&1 | openssl x509 -noout -text | awk -F, -v OFS="\n" '/DNS:/{x=gsub(/ *DNS:/, ""); $1=$1; print $0}'...阅读全文
本文我们将介绍如何对离线的系统进行升级或者更新,本方法对基于 Debian 的系统均有效。这一次我们会更新、升级整个操作系统。这个方法在你的主机没有网络连接,或者网络速度很慢时,十分有用。 离线更新基于 Debian 的操作系统 我们假设你在单位或者主机服务商处,有一台正在运行,并配置有高速互联网链接的系统,Windows 或者 Linux均可,而在家有一个没有网络连接或网络很慢的 Debian 操作系统。现在你想要快速更新家里的Debian系统,怎么办?是否需要购买一个更加高速的网络?当然不需要!你可以通过本文介绍的离线更新方法来升级你的操作系统。这正是 apt-offline工具可以做的。 正如其名,apt-offline 是一个为 Debian 及其衍生发行版(诸如 Ubuntu...阅读全文
Bootstrap 4 正式发布后的两个多月,Bootstrap 4.1 发布了。此次更新包括程序修复、文档更新、构建工具更改,以及新增了一些功能。 值得注意的是,自 Bootstrap 4 发布以来,文档地址采用了版本化设置的方式,这意味着每发布一个新的次要版本都会带来一个新的文档地址。今天发布的这个版本也为文档地址提供了新的 URL,getbootstrap.com/docs/4.1/,当然之前的文档地址 getbootstrap.com/docs/4.0/ 仍可正常使用。 主要更新内容如下: 增加了新的自定义范围表单控件 添加了新的.carousel-fade修改器,可以将轮播从水平滑动切换为交叉淡入淡出 为明文下拉项目添加了新的 .dropdown-item-text 增加了新的...阅读全文
已知问题规模为n的前提A,求解一个未知解B。(我们用An表示“问题规模为n的已知条件”) 此时,如果把问题规模降到0,即已知A0,可以得到A0->B. 如果从A0添加一个元素,得到A1的变化过程。即A0->A1; 进而有A1->A2; A2->A3; …… ; Ai->Ai+1. 这就是严格的归纳推理,也就是我们经常使用的数学归纳法;对于Ai+1,只需要它的上一个状态Ai即可完成整个推理过程(而不需要更前序的状态)。我们将这一模型称为马尔科夫模型。对应的推理过程叫做“贪心法”。 然而,Ai与Ai+1往往不是互为充要条件,随着i的增加,有价值的前提信息越来越少,我们无法仅仅通过上一个状态得到下一个状态,因此可以采用如下方案: {A1->A2}; {A1, A2->A3}; {A1,A2,A3...阅读全文
Ruby 2.5 系列第一个稳定版本发布,新版包括了一系列新的特性和性能改进。主要变化包括:rescue/else/ensure 允许直接与 do/end 块使用,yield 增加 yield_self,Struct.new 能创建接受关键字参数的类,最高级常量查询不再可用,移除所有 trace 指令提升 5-10% 性能,SecureRandom 将更偏向使用操作系统提供的 SSL 库等。 此版本包括数个新特性和性能提升,例如: 新特性 允许在 do/end 中直接使用 rescue/else/ensure。[功能 #12906] 新增 yield_self 来使用当前上下文 yield 代码块。不同于 tap,此方法会返回代码块的运行结果。[功能 #6721] 支持测量分支代码覆盖和方...阅读全文