单核心 IOPS 突破 1000 万,Linux 5.16 有望大幅提升 I/O 性能
代码内进行了优化,但也有触及一些内存管理代码。他为实现每个核心 I/O 的最佳性能而进行的优化都可以通过 linux-block 的 perf-wip 分支找到。这些性能优化补丁目前已加入下一周期的合并队列,应该会在 Linux 5.16 中实现合并。...阅读全文
代码内进行了优化,但也有触及一些内存管理代码。他为实现每个核心 I/O 的最佳性能而进行的优化都可以通过 linux-block 的 perf-wip 分支找到。这些性能优化补丁目前已加入下一周期的合并队列,应该会在 Linux 5.16 中实现合并。...阅读全文
中去拿线程堆栈的过程,那么我们打印的日志的时候,为啥会进行这个操作呢? 首先观察消息日志文件,和一般的日志不同,这里还会打印方法名称,即当前日志时在哪个方法下打印出来的。那么日志框架它是通过线程 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...阅读全文
无线网卡的配置,这里没有使用 NetworkManager, 留个底,方便重复使用, ``` $ cat /etc/network/interfaces.d/SSID-NAME auto wlp2s0 iface wlp2s0 inet dhcp wpa-ssid SSID-NAME wpa-psk Wifi-Password ``` 实测要比 NetworkManager 方式稳定,细节还没看...阅读全文
在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。 一. 内存使用说明 Free 命令相对于top 提供了更简洁的查看系统内存使用情况: [root@debian ~]$ free total used free shared buffers cached Mem: 1035108 1008984 26124 0 124212 413000 -/+ buffers/cache: 471772 563336 Swap: 2096472 842320 1254152 这里显示的单位是KB。 在Linux的内存分配机制中,优先使用物...阅读全文
在最近的一份报告中,Canonical的Will Cooke透露,Ubuntu Desktop团队正在考虑在即将推出的Ubuntu 17.10版本中以GDM(GNOME显示管理器)取代LightDM登录管理器。本周早些时候已经有传闻表示Ubuntu 17.10将采用GNOME GDM显示管理器。 特别是现在,在默认情况下,日常构建的ISO映像默认都采用了GNOME桌面环境而不是Unity。现在,Canonical官方证实说,他们没有时间让LightDM与GNOME一起工作。 Canonical官方表示:“我们决定转而使用GNOME显示管理器(GDM)而不是LightDM,我们计划尝试使用LightDM,根据我们的调查显示,我们需要投入大量时间进行更改让所有的东西都能正常工作,但是我们没用那...阅读全文
W 在推出当天就发货超过 10000 台 。 Pi Zero W 在性能特性、软件兼容性和通用输入输出(GPIO)配置上与前面的版本基本相同,因此也能受益于 Pi 设备丰富的应用和附件。Raspberry Pi 还具有一个大型的活跃社区,该社区是围绕 Raspberry Pi 基金会构建的,查找各类主题和用例的指导信息非常方便。 尽管 Pi Zero W 的功能并未超越前期版本的 Pi,但是它可以使有联网需求项目的实现更快速也更容易,而且与添加 WiFi 或蓝牙所导致的开销相比,所需的额外投资也是可控的。如果 Pi Zero W 能紧跟需求,将会在大量的物联网项目中发挥核心作用。 查看英文原文: Raspberry Pi Launch Zero W...阅读全文
本文将简单介绍 Debian 环境下,Jenkins 服务的安装与配置。通常Jenkins有两种方式安装,一种是通过官方提供的 Deb 包安装,另一种是用 tomcat 作为容器来运行 jenkins... 11月29日 932 评论...阅读全文
Git 2.26 现已发布,项目贡献者 Taylor Blau 介绍了此版本带来的一些特性上的亮点,包括将传输协议 V2(第二版) 作为默认协议 、一些新的配置技巧以及更新到 git sparse-c... 03月24日 440 评论...阅读全文
消失了很长时间的 Slax Linux 终于发布了更新。昨日,Slax Linux 的作者 Tomas Matejice 发布了 Slax Linux 9.2.1,并带来了几个重大的变化。 最重要的变化是,Slax Linux 9.2.1 不再基于 Slackware,现已切换至基于 Debian 的最新稳定版 Stretch。因此,Slax Linux 也将采用 APT 软件包管理工具和 Systemd 这款 init 程序。 图形桌面使用了 Fluxbox 窗口管理器和 xLunch,xLunch 的开发也是独立的。 尽管新版本已经基于 Debian GNU/Linux 9.2.1 “Stretch”,但依然保留 Slackware 的前缀名字。这款系统的容量依然保持了轻量设计...阅读全文
Linux基金会发布了其中一个开源项目ACRN的详细信息,这是一个专为物联网和嵌入式设备设计的管理程序。该项目得益于英特尔代码和工程的贡献,其目标是创建一个灵活小巧的虚拟机管理系统。通过基于Linux的服务操作系统,ACRN可以同时运行多个客户操作系统,使其成为许多场景的理想选。 Linux基金会表示,管理程序和设备模型是以“安全关键型工作负载”为基础构建的,并且设想ACRN将一些IoT工作负载整合到一个平台上。虽然该项目是作为强大而灵活的解决方案提供的,但嵌入式开发人员社区被邀请提供代码以进一步扩展和改进ACRN。 通过项目ACRN,嵌入式开发人员可以立即使用新的管理程序选项。 ACRN针对资源受限设备进行了优化,并将重点放在隔离安全关键型工作负载并给予他们优先考虑,使项目适用于许多物联...阅读全文
为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也可能发生在内部。 为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法。 方法 1:伪安装 在本方法中,我们往配置文件中添加一行 install usb-storage /bin/true, 这会让安装 usb-storage 模块的操作实际上变成运行 /bin/true, 这也是为什么这种方法叫做伪安装的原因。 具体来说就是,在文件夹 /etc/modprobe.d 中创建并打开一个名为...阅读全文
。 TypeScript:TypeScript是JavaScript的超集,它可以增加类型检查、接口声明等特性,减少错误和提高可读性。 NestJS:NestJS是一种流行的Node.js框架,它采用面向对象的编程方式,提供了路由、中间件、模块化等丰富的功能。 GraphQL:GraphQL是一款优秀的数据查询和操作语言,它可以帮助我们快速构建API,并减少网络传输的数据量。 功能设计 我们将开发一个电商平台,包含以下主要功能: 用户管理:用户可以注册、登录、修改个人信息等,管理员可以查看用户列表并进行管理。 商品管理:管理员可以添加、修改、删除商品信息,包括商品名称、价格、库存、图片等。 购物车:用户可以将商品加入购物车,并在结算时进行支付。 订单管理:管理员可以查看订单列表、订单详情、订单状态等。 开发流程 下面是全栈开发的开发流...阅读全文
广泛使用一个全局 metrics registry 来注册要公开的 metrics。通过实现 metrics registry,metrics 可以以更透明的方式注册。而在这之前,Kubernetes metrics 被排除在任何稳定性需求之外Volume Extension:新版本有大量和 Volume 及 Volume 修改相关的增强。CSI 规范中对 Volume 调整的支持正在转向 Beta 版,它允许任何 CSI spec Volume plugin 都可以调整大小 其他值得注意的功能更新: 拓扑管理器是一个新的 Kubelet 组件,旨在协调资源分配决策,以提供优化的资源分配IPv4/IPv6 双栈允许将 IPv4 和 IPv6 地址分配给 Pods 和服务API Server...阅读全文
osquery 是 SQL 驱动的分析和监控操作系统的工具,是操作系统分析框架,支持 OS X 和 Linux 系统。osquery 能帮助监控和分析低水平的操作系统,提供更直观的性能监控。 4.1.0 版本内容如下: New Features / Under the Hood improvements 还原扩展 SDK 和构建支持改进文档在整个代码库中添加更多的测试允许使用标志配置更多 Linux Audit 设置添加 logger_tls_max_lines 标志添加对 AWS Session Token 支持 Build 在所有平台上将 OpenSSL 升级到 1.0.2t在 Windows 和 MacOS 上使用 SQLite 3.29.0在 Windows 和 MacOS 上使用...阅读全文
向用户展示响应中包含的实体信息,因为这个实体信息中可能包含了相关诊断信息。参见RFC 2617。 402 该状态码是为了将来可能的需求而预留的。 403 服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。如果这不是一个 HEAD 请求,而且服务器希望能够讲清楚为何请求不能被执行,那么就应该在实体内描述拒绝的原因。当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息。 404 请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404...阅读全文
在使用 git 时,如果不是使用ssh 和 key 验证的方式,则每次提交都会让输入用户名和密码,会显得比较麻烦,在服务器上配置时也无法做到自动同步更新代码。那么如何解决这个问题呢?我们这里介绍除 ssh + key 以外的免密码登录方式。在全局中存储用户的账号密码 以 Windows 环境为例,在 %HOME% 目录中,一般为C:\Users\username(也可以是你自己创建的系统用户名目录)目录下,创建.git-credentials 文件。 文件内容为一行,样例如下: https://username:password@git.example.com 注:username对应的 git 服务器的用户名,password 为密码。然后再进入 git bash 中执行, git...阅读全文
据外媒(PCWorld)报道,之前在戴尔担任服务器业务总经理,以直言不讳性格著称的AMD的现任服务器业务主管Forrest Norrod表示:面向企业级市场的Naples(那不勒斯)高性能服务器处理器正式亮相后,将重振芯片大厂AMD在服务器领域的辉煌,该处理器采用最新Zen架构,拥有32个核心。这是AMD回归服务器市场的第一个大动作。 Naples芯片将在今年第二季度正式上市,直接瞄准被英特尔牢牢占据的服务器市场。AMD高级副总裁兼企业、嵌入式和半定制(EESC)事业群总经理Norrod毫不掩饰同英特尔一争高下的战略意图。 如今英特尔占据着超过90%的服务器芯片市场份额。而AMD的目标是逐步地吸引客户。价格因素或将成为AMD的秘密武器。英特尔的芯片因高昂的价格著称,其中最贵的芯片售价...阅读全文
TKE集群在创建时,会设置节点上允许的Pod数量的上限,一般默认是64个。 这里介绍,如何把单节点的 Pod 数量上限,从 32个 调整到 64个,分两种: 1. 新增的节点,需要在创建节点时指定最大Pod 的上限,增加一个自定义项即可, ![94e3.png](https://img.debian.cn/210826/d5feab6345ffe7746904b417470594e3.png) 2. 存量的节点可以使用这个脚本更新一下配置: ``` #!/bin/bash grep MAX_PODS /etc/kubernetes/kubelet if [ $? -eq 0 ]; then echo 'patched already' sed...阅读全文
树莓派基金会发布了一款别具一格的新品单板计算机:Raspberry Pi 400。这部新款树莓派的外观看起来就是一块小键盘,开发板集成在键盘内部。官方表示其性能比此前发布的 Raspberry Pi 4 略高。 据 Phoronix 的评测介绍,树莓派 400 是一个非常漂亮的小设备,外形小巧,采用大铝块冷却的方式作为键盘内的散热器。常用的线路接口设置在键盘的后方。 树莓派 400 配置的是与树莓派 4 相同的 Broadcom SoC,采用 Cortex-A72 四核设计,主频为1.8GHz,比树莓派 4 Model B 的 1.5GHz 略高。起步价为 70 美元。关于树莓派 400 的更多测试信息可查看 Phoronix。...阅读全文
Google 发布了一个名为 container-diff 的开源项目,这是一个分析和比较容器镜像的工具,可用来分析 Docker 镜像之间的差异。 container-diff 可通过几个不同的标准来检查镜像,包括: Docker 镜像历史 镜像文件系统 Apt 包管理器 pip 包管理器 npm 包管理器 上述分析可以在单个镜像上执行,也可以在两个镜像上执行以进行比较。 该工具可以帮助用户更好地了解他们的镜像内部发生了什么变化,并让他们更好地了解镜像包含什么内容。 单个分析: container-diff analyze [Run default analyzers] container-diff analyze --type=history [History...阅读全文
展已经有一段时间了,但业内一直各自为政,由于没有统一的接口标准,"胶水"芯片生态难建,大公司止步不前,小公司也不敢迈出第一步。长期以来,摩尔定律的持续演进被视为芯片性能提升的主要途径。经历四十多年的发展,构成芯片的晶体管几乎要缩小到原子级别,不仅面临难以突破的物理极限问题,制程升级的投入产出比也大幅下降,业界开始寻找新的办法提升产品性能,例如,通过改变封装的方式提升晶体管密度。提出摩尔定律的戈登本人也意识到了封装的重要性,他在论文中写道:"事实证明用较小的功能模块构建大型系统可能会更经济,这些功能模块将分别进行封装和互连。"简单来讲,也就是将原先生产好的芯片集成到一个封装中,达到减少产品开发时间和成本的目的,这些芯片模块可以是不同工艺节点,最终通过裸片对裸片的方式连接在一起,这一类似于用胶水...阅读全文
外媒 betanews 近日与一些企业高管进行了一些交流并得出结论称,开发者体验正经历一个优先级转变。即,云供应商和技术公司在开发者体验方面聚焦了更多的目光;这些公司正在投资和构建工具,以帮助开发人员更好、更快、更高效地工作。 开源数据库公司 Percona 的产品高级副总裁 Donnie Berkholz 指出,发生这种焦点变化的原因在于,企业希望他们的开发人员更有生产力,对他们的工作方式更加满意,但他们也希望围绕技术管理和控制自己的命运。他们希望提供同样水平的速度和效率,但要跨越他们的 IT stacks 来设置东西。对于运行私有云的公司来说,这就是要与那些完全致力于公共云的竞争对手平起平坐。 并补充称,开发者体验投资将是为了使这种自助式的构建应用程序的方法能够发挥作用,并迅速发挥作用...阅读全文
编辑——编译——刷新——测试(edit-compile-flash-test)周期。 这些测试都是自动完成的,用户无需离开自己的代码编辑器。此外,还可以使用 pw_target_runner 模块在多个设备上并行运行测试,从而节省更多时间。 团队开发代码需要强调一致性,然而,设置 lint、配置代码格式以及添加自动的提交前检查等通常会使这项工作无限期延迟。这时,Pigweed 的 pw_presubmit 模块可派上用场。它会基于用户可能已经使用的工具提供现成的 Lint 集成套件,并预先配置好,可以立即供微控制器开发人员使用。 至于该项目为什么取名为 “Pigweed”,谷歌给出了解释:“Pigweed,又称 amaranth ,是一种营养丰富的谷物和绿叶沙拉菜,也是一种快速生长的杂草...阅读全文
Kubernetes API在运行时一起提供服务。其他重点改进的地方包括可伸缩的准入控制器(admission controller),可插拔的云提供者,和容器运行时接口(CRI)。 新特性 安全: 网络策略 API(Network Policy API)提升至稳定状态。网络策略通过一个网络插件实现,允许用户对管理哪些 Pod 可以彼此通信的规则进行设置和强制。 节点授权器(Node authorizer)和准入控制插件(admission control plugin)是新增用来限制kubelet基于节点对Secret、Pod和其对象的访问。 Secret的加密和其他etcd中的资源,现在可用并处于alpha状态。 Kubelet TLS 启动现在支持客户端和服务端证书轮换。 由 API 服务器存储的审计日...阅读全文
apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的读取权限。 此外,来自debsums命令的输出在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文
。Blackbox Exporter 最重要的功能之一是测量 Endpoint 的可用性。 当然, Blackbox Exporter 探测 HTTPS 后就可以获取到证书的相关信息, 就是利用这种方式实现对 Kubernetes apiserver 证书过期时间的监控. 配置步骤 调整 Blackbox Exporter 的配置, 增加 insecure_tls_verify: true, 如下: 重启 blackbox exporter: kubectl rollout restart deploy ... 增加对 Kubernetes APIServer 内部端点https://kubernetes.default.svc.cluster.local/readyz的监控. 如果你没有使用...阅读全文
作者:京东零售 石朝阳 在说IO多路复用模型之前,我们先来大致了解下Linux文件系统。在Linux系统中,不论是你的鼠标,键盘,还是打印机,甚至于连接到本机的socket client端,都是以文件描述符的形式存在于系统中,诸如此类,等等等等,所以可以这么说,一切皆文件。来看一下系统定义的文件描述符说明: 从上面的列表可以看到,文件描述符0,1,2都已经被系统占用了,当系统启动的时候,这三个描述符就存在了。其中0代表标准输入,1代表标准输出,2代表错误输出。当我们创建新的文件描述符的时候,就会在2的基础上进行递增。可以这么说,文件描述符是为了管理被打开的文件而创建的系统索引,他代表了文件的身份ID。对标windows的话,你可以认为和句柄类似,这样就更容易理解一些。 由于网上对linux...阅读全文
Intro Dapr 官方团队已于最近(2021.1.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群。对于绝大多数开发者来说,想必对Dapr只是有所耳闻,而具体是什么(What),可以解决什么样的问题(Why&How),有怎样的应用场景(Where),并不知悉。本文就尝试简要梳理下Dapr,并尝试回答以上问题。 What's Dapr Distributed Application Runtime. An event-driven, portable runtime for building microservices on cloud and edge. 分布式应用运行时。一个事件驱动、可移植的运行时用于在云上和边缘计算上构建...阅读全文
Oracle Linux 8.0 发布了,更新包中包括基础 BaseOS 和 Application Streams,其中 BaseOS 提供运行环境的用户空间,Application Streams 提供了一系列以往分发在软件集中的应用,以及可在用户空间内运行的其它产品和程序。 Application Streams Oracle Linux 8 引入了 Application Streams 的概念,它可以比核心操作系统包更频繁地交付和更新多个版本的用户空间组件。Application Streams 包含必要的系统组件和一系列以往分发在软件集中的应用,以及其它产品和程序。 系统管理 引入 Dandified Yum 软件包管理器,它是基于 DNF 技术的 yum 工具的新版本,可在基...阅读全文
2012 年宣布的 GNU Guix 包管理器项目正式释出了 1.0.0 版本。在过去七年中,260 名开发者递交了超过 4 万个 commits,此外还有文档、翻译、设计等方面的大量工作。 GNU Guix 是事务性包管理器,可以安装在 GNU/Linux 发行版上,也可以作为 i686、x86_64、ARMv7 和 AArch64 机器的独立操作系统发行版。 用户可使用 Guix 安装应用程序并保持程序在最新状态,软件开发者可以产生一次性的软件环境,系统管理员可以更容易的部署复杂服务。 感兴趣的用户可以使用虚拟机镜像体验 Guix。...阅读全文
Kubernetes的kubelet组件内置了cadvisor,将Node上容器的指标以Prometheus支持的格式展示,可以通过这些指标计算得到更多有用的数据。 Kubelet的Cadvisor指标获取 在Prometheus的配置文件中,配置了相关的Target之后,这些指标就可以从Prometheus中查询到。 - job_name: 'kubernetes-cadvisor' scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount...阅读全文
档: monotonic time 位处理操作 新增加了math/bits包, 提供了很多位运算的函数。 Test Helper函数 新加`(T).Helper和(B).Helper m`, 用来标记调用的函数是一个测试辅助函数,当输出文件名和行数的时候,这个函数回呗忽略。 标准库的微小改动 标准库也有一些小的功能的加入和提升, 比如image、net、runtime、sync等。 并行编译 支持并行地编译函数,并且在Go 1.9中势默认设置。如果不想并行编译,设置GO19CONCURRENTCOMPILATION为0。 ./... 会忽略vendor下的包 这一条很有用,以后你在Makefile中可以直接使用./...,而不是曲折地将vendor文件夹排除。 如果你想使用vendor下的包...阅读全文
web_request_duration_seconds_bucket{endpoint="/query",method="GET",le="1"} 7 # 总共7次请求 web_request_duration_seconds_bucket{endpoint="/query",method="GET",le="+Inf"} 7 # 7次请求duration的总和 web_request_duration_seconds_sum{endpoint="/query",method="GET"} 2.7190880529999997 Summary(摘要) 跟 histogram 类似,summary 也对观测值(类似请求延迟或回复包大小)进行采样。同时它会给出一个总数以及所有观测值的总和,它在一个滑动的时间窗口上计算可配置的分位数。, 典型的应用如:请求持续时...阅读全文
。 2.托管和部署: PHP 应用程序可以在包括 Nginx 和 Apache 以及 Windows 和 Linux 平台在内的任何服务器上运行,这使得部署过程变得更容易,而 Node.js,则需要具有 SSH 访问权限的虚拟服务器。因此,在没有任何控制台命令和 Secure Shell(SSH)知识的情况下,用 PHP 部署小型企业和个人应用会更好。 3.外部依赖: Node.js 依赖关系较少,用几行代码就可以设置一个 Web 服务器。但运行 PHP 应用程序,就需要外部服务器软件。用 Node.js 的开发人员只需要 NPM(节点包管理器)就可以下载 Node 模块,这些模块可以轻松地集成到应用程序中,提供额外的功能。 4. CPU 扩展任务: Node.js 可能在高吞吐量方面表现优异...阅读全文
随着互联网的高速发展,云存储技术已经相当成熟了,网盘成了人们工作和学习中不可缺少的部分。尽管如此,离线存储技术也无法被取代,毕竟在没有网络的情况下,离线存储才是最佳的解决方案。 而目前使用的最多的且最方便的离线存储设备就是U盘,凭借小巧便携的体型设计赢得了广大用户的喜爱,但随着数据的日益膨胀,小小的U盘无论是在读写速度还是在容量上已经无法满足我们日益增长的存储需求。 而今天,金士顿在CES大会上展示了一款离线存储设备——HyperX Savage EXO外置SSD。HyperX Savage EXO外置SSD外壳采用聚碳酸酯打造,存储颗粒为3D TLC NAND闪存,拥有480GB和960GB两种容量可供选择。 外置SSD的接口为USB3.1 Gen 2,带宽高达10Gbps,实际连续读写...阅读全文
如果你在 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...阅读全文
(intChan) //写完后关闭管道 } func ReadData(intChan chan int,exitChan chan bool) { for{ v,ok:=<-intChan if !ok{ fmt.Println("读取完毕") break } fmt.Println("读:",v) } //设置全局标志 告诉main 读取完毕了 main主线程可以关闭了 exitChan<-true close(exitChan) } func main() { intChan :=make(chan int,50) exitChan:=make(chan bool,1) go WriteData(intChan) go ReadData(intChan,exitChan) //阻塞主线程 for...阅读全文
Robolinux 10.1 发布了,Robolinux 是基于 Debian GNU/Linux 最新稳定发行的用户友好的、直观的操作系统。该项目非常有趣的特性之一是预配置好的 VirtualBox 虚拟机支持套件,可运行 Windows XP 或 Windows 7,从而允许用户在 Robolinux 中无缝安装和运行 Windows 操作系统。 Robolinux 发布了三款全新的 Raptor Series 10 操作系统:Cinnamon,MATE 3D 和 Xfce v10.1 LTS 2023 版本。 Robolinux 10 系列版本基于 Ubuntu 18.04 构建,带来了 4.15 Linux 内核以及大量增强和改进,例如: 最新硬件的驱动程序支持...阅读全文
为即将到来的 Linux 5.12 合并窗口预定的 USB4 / Thunderbolt 变更已经被排入 USB-next 树中。这是英特尔的开发人员为下一个内核合并窗口所做的Thunderbolt改变,作为其中的一部分,包括最新的USB4方面的改进。Linux 5.12的新安全选项之一是支持USB 4的安全级别5(SL5)。 通过这个新的安全级别,PCIe隧道将被禁用。这个禁用PCI Express隧道的更高安全级别通常是支持USB 4硬件的BIOS配置选项。这个 "nopcie "选项在只使用DisplayPort的 "dponly "模式下也会被强制执行。 Linux内核现在已经支持 Thunderbolt / USB 4 安全设置,特性包括要求用户批准授权新设备,自动隧道...阅读全文
盘名称是 /dev/sdc: # cat /sys/block/sdc/queue/schedulernoop anticipatory deadline [cfq] 如何改变硬盘设备 I/O 调度器 使用如下指令: # echo {SCHEDULER-NAME} > /sys/block//queue/scheduler 比如设置 noop 调度器: # echo noop > /sys/block/sdc/queue/scheduler 以上设置重启后会失效,要想重启后配置仍生效,需要在内核启动参数中将 elevator=noop 写入 /boot/grub/menu.lst: 1. 备份 menu.lst 文件 cp -p /boot/grub/menu.lst /boot/grub...阅读全文
Fedora 项目宣布 Fedora 27 Workstation 和 Fedora 27 Atomic 版本正式发布。Fedora 27 整合了来自 Fedora 社区和各种上游软件项目的数千项改进。 你可以从 getfedora.org 下载 Fedora 27 Workstation 和 Fedora 27 Atomic Host。 已经运行 Fedora 的用户,可以直接升级到 Fedora 27 。Fedora 27 Beta Modular Server 也可点此下载。 Fedora Workstation Fedora 27 Workstation 采用的是 GNOME 3.26。在新版本中,“显示”和“网络”配置面板都已更新,且随着“设置”面板外观的改进。系统搜索会立即显示...阅读全文
择合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的跳板机上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文
Debian 9(代号为 Stretch)当前为测试阶段,代码已进入开发的最后阶段并已冻结,预计 Stretch RC1 的发布时间为四月底,正式版大约在七月底左右发布。 目前作为个人用的VPS主机,可以开始尝鲜 Debian 9了。 当前 VPS 提供商还不提供 Debian 9 的镜像,如何直接从 Debian 8 升级到 Debian Stretch? 接下来就一步一步为大家介绍 Debian 的垮镜像升级的一般步骤。操作前请务必妥善备份现有系统,做好异地备份或者离线备份。 升级前准备: 备份当前系统的数据 这类大操作都是有风险,所以我们先做好最坏的打算:如果系统升级后完全不可用,我们怎么办? 创建备份,并且同步到异地。 一般的VPS环境,需要备份的文件有几大类,Web服务器配置文件...阅读全文
作为拥有多个 VPS 服务器的人,当你买了海外的 VPS 后,或多或少有科学上网的需求。目前来说,v2ray 是比较安全、方便的方式。 v2ray是一个功能强大,配置不算复杂的上网工具。相比 SS 的配置稍显复杂,v2ray 功能比 SS 强大太多,只要上手了,可以很方便、安全的使用。系统还是我最喜欢的Debian 系统,轻巧、稳定、流畅,让我能在上面做很多事。 安装 v2ray 也很简单,只需要安装依赖,然后一行命令就能安装好。当然,你也可以不自己安装依赖,而让v2ray去安装依赖。 #### 安装 v2ray 依赖 在终端执行命令: `apt install curl unzip daemon` 如果系统已经有这几个包,则无需手动安装。 #### 安装 v2ray 上面说了,v2ray...阅读全文
制 :这是 PostgreSQL 在物理复制之外提供的另一种可选方案,提供了更大的灵活性,而且配置简单。 改进并行查询 :在查询很多时应该会有 2 到 4 倍的速度提升。 更强大的密码哈希算法 :使用了 SCRAM -SHA–256。 关于 PostgreSQL 10,还有更多的特性正在开发之中,就像 2ndQuadrant 创始人兼首席执行官 Simon Riggs 在最近的一次演讲中所 介绍 的那样。包括 PostgreSQL 10 官方路线图在内,正在进行中的特性开发工作还有诸如以下这些: 自治事务 多主集群,使用 分片 提高扩展性和可用性 查询 JIT 编译 可插拔的存储引擎(columnar、内存内存储等) 页级数据压缩等 改进临时表性能 不过,哪些特性将成为 PostgreSQL...阅读全文
树莓派是一款旨在通过超实惠的方式,来鼓励孩子们投身编程事业的奇趣开发套件。不过这款主板只有信用卡大小的装置,已经在教育系统之外培养出了一大票粉丝,首年就卖掉了百万台。 今天,树莓派在官网上宣布了 Raspberry Pi 4 正式开售的消息。作为一款改变游戏规则的产品,其处理能力是前一代 Raspberry Pi 3+ 的三倍、多媒体性能为四倍。 树莓派的每一次迭代,都会引入一些新的卖点,比如 64 位处理器、802.11ac 双频 Wi-Fi、以及通过 HAT 的以太网供电(PoE)。 今天发布的树莓派 4,不仅在计算和多媒体性能上有所提升,还采用了运行频率为 1.5GHz 的四核 ARM Cortex-A72 处理器、千兆以太网、蓝牙 5.0、以及 USB 3.0 连接。 性能的提升...阅读全文
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...阅读全文
创建一个新对象时,JS底层将新对象的原型链指向了构造函数的原型对象,于是就在新对象和函数对象之间建立了一条原型链,通过新对象可以访问到函数对象原型prototype中的方法和属性。new的详细介绍请参考博客:理解JS中的new运算符 5、闭包 闭包其实是一个主动执行的代码块,这个代码块的特殊之处是可以永久保存局部变量,但又不污染全局变量,可以形成一个独立的执行过程,因此我们经常用闭包来定义组件。关于闭包的介绍请参考:干货分享:让你分分钟学会JS闭包 6、单线程和异步队列 setTimeout和setInterval是JS内置的两个定时器,使用很简单,但这两个方法背后的原理却不简单。 我们知道,JS是单线程语言,在浏览器中,当JS代码被加载时,浏览器会为其分配一个主线程来执行任务(函数),主线...阅读全文
从之前的 Ubuntu 发行版升级过来,这是唯一一个不适用的地方。 此外,默认的 DNS 解析器转换为了 systemd-resolved。IPP Everywhere 和苹果 AirPrint 打印机支持免驱动的开箱即用。绝大多数来自 GNOME 家族的包都升级到了 GNOME 3.24,只有 Nautilus 仍然保持在 GNOME 3.20.4 版本。 gconf 工具不再默认安装,因为它现在已经被 gsettings 所代替。而安装的应用大多数都是最新的,比如 LibreOffice 5.3 办公套件,Mozilla Firefox 52.0.1 Web 浏览器,以及 Mozilla Thunderbird 45.8.0 邮箱和新闻客户端。 Nautilus 文件管理器 从本次发行版...阅读全文
vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。 基本上vi可以分为三种状态,分别是命令模式(command mode)、输入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式、底行模式下。 2) 输入模式(Insert mode) 只有在输入模式下,才可以...阅读全文