InfraPub 为您找到相关结果 557

Gitlab CI 配置文件 .gitlab

入手动执行。GitLab 9.0 开始引入手动停止。GitLab 9.2 开始引入保护手动操作。 手动操作指令是不自动执行的特殊类型的job;它们必须要人为启动。手动操作指令可以从pipeline,build,environment和deployment视图中启动。 部署到生环境是手动操作指令的一个很好示例。 了解更多请查看environments documentation。 手动操作指令可以是可选的或阻塞。在定义了手动执行的那个stage中,手动操作指令将会停止pipline中的自动执行指令。当有人通过点击play按钮来执行需要手动执行的job时,可以来恢复pipeline的执行。 当pipeline被阻塞时,即使是pipeline是成功状态也不会merge。被阻塞的pipelines...阅读全文

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

HTML 5.1 — 14 项新增特性及使用案例

5.1 中被引入的新的功能特性和功能提升。你不需要动 JavaScript 就可以利用上这些功能特性。并非所有的浏览器都支持这些功能特性,因此你最好是在将它们应用于生环境之前先检查一下浏览器的支持情况。 14. 预防网络钓鱼攻击 大多数使用 target='_blank' 的开发者都不了解一个事实——最新打开的标签可以改变 window.opener.location 到一些钓鱼网页。它将会在已打开的网页,以你的名义执行一些恶意 JavaScript 代码。因为用户相信已经打开的网页,他们不会起疑心。 为了彻底解决这个问题,HTML5.1 已经标准 rel=”noopener”的使用属性,与浏览器的上下文环境分开。rel=”noopener” 允许在 标签之间使用...阅读全文

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

Raspberry Pi 推出 Zero W

。Pi Zero W 简了所有一切,增加的售价大体上符合添加 WiFi(或蓝牙)的成本。Pi Zero W 的另一个优点是使用了瑞典公司 Proant 授权的印刷电路板(PCB)谐振空腔天线,相比传统的 USB 加密锁能提供更好的性能。 Pi Zero 的最初型号自 2015 年 11 月发布以来,就一直受着供货问题的困扰。在封面上免费赠送 Pi Zero 的《The MagPi》纸质版杂志立刻在英国一售而空。看上去 Pi Zero 一直是供不应求的状态。因此当有库存后,开始限制每个用户只能下一个订单。这导致了一个不好的情况,就是对原本十分便宜的计算机额外地增加了一大笔快递费用。截止本文撰写时,Pi Zero W 在英国供应商处尚有库存,依然限制每个客户只能提交一个订单。据报道,Pi Zero...阅读全文

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

Qt5.9发布:如何评价QT

Quick Controls 2的功能增强,还有基于openGL shader cache 对QML进行类型缓存, 以及.qml / .js文件生成的代码和数据结构的缓存的支持。 这些功能将大大提高使用Qt构建的设备的启动速度。 发布新Qt Creator 4.3.0,Quick Designer里面也看以同时看到和编辑qml code了! 作为Qml项目开发者确实立刻感到了方便! 还有新框架将允许Qt团队更容易创建新版本,包括修补程序和发布次要版本。 引入自动性能回归测试,使得对Qt的监控与提高加强。 安全方面,Qt 5.9正式支持INTEGRITY RTOS。 确实越来越多的RTOS应用程亟需要更高级GUI框架来满足用户期望呢。 操作系统和硬件方面,Qt 5.9完全同时支持传统的Win32应用...阅读全文

博文 2017-06-02 10:24:32 5.9的变化

Ceph 基金会正式成立 接受 Linux 基金会的管理

(SARAO),加州大学圣克鲁兹分校开放源码软件研究中心(CROSS)等。 Linux基金会执行董事Jim Zemlin说:"Ceph在帮助企业有效管理高增长和扩展数据存储需求方面有非常丰富的经验,在Linux基金会下,Ceph基金会将能够利用更多资源来帮助完善Ceph生态系统建设。" Ceph联合创始人&Red Hat Ceph首席架构师 Sage Weil说:"Ceph基金会的成立证明了一个多元的开源社区的力量所在,各方共同联合起来致力于解决数据存储和数据服务的爆炸性增长。" Ceph被世界各地的云提供商和企业使用,包括金融机构(Bloomberg,Fidelity),云服务提供商(Rackspace,Linode),学术和政府机构(Massachusetts Open Cloud),电信基础设...阅读全文

Metasploit Framework 5.0 发布 最流行的渗透测试框架

言,框架建立在不断增长的世界级攻击性内容库的框架基础上。另外,此次更新还包括了可用性改进和大规模开发的支持,数据库和自动 API 的改进等。 在 4.x 现有的 Postgresql 数据库后端之上,Metasploit 5.0 增加了将数据库本身作为 RESTful 服务运行的功能,使用该服务可以与多个 Metasploit 控制台甚至外部工具进行交互。5.0 版本的这个变更还将取消数据库服务的一些批量操作,从而通过并行处理数据库和常规 msfconsole 操作来提高性能。 新的发布周期 过去的一年,Metasploit 的开发包括两个分支:一个是 4.x 的稳定分支,支持 Metasploit Pro 和像 Kali Linux、ParrotSec Linux、和 Rapid7 自己...阅读全文

博文 2019-01-15 13:37:28 debian.cn

Golang 之禅: 如何写优质代码

减少耦合的操作,需要通过提供类型需要的依赖项作为该类型上的字段,而不是使用包变量。 简单性很重要 简单性不是老练的代名词。简单并不意味着粗糙,它意味着可读性和可维护性。如果可以选择,请遵循较简单的解决方案。 编写测试以确认包 API 的行为 软件包的 API 是与使用者的一份合约,不管先后,不管多少,一定要进行测试。测试是确定合约的保证。要确保测试使用者可以观察和依赖的行为。 如果你认为速度缓慢,先通过基准测试进行验证 以性能之名会犯下许多危害可维护性的罪行。优会破坏抽象、暴露内部和紧密耦合。如果要付出这样的代价,请确保有充分理由这样做。 节制是一种美德 适度使用 goroutine、通道、锁、接口与嵌套。...阅读全文

博文 2020-02-25 20:48:33 debian.cn

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

我们知道,传统的DDR DIMM内存是易失性的,也就是必须维持通电才能保持数据,一旦断电就都没了。 Intel创造了Optane傲腾持久内存,做到了非易失性,也兼容DDR DIMM,但仅用于数据中心,和普通用户无关。 现在,JEDEC固态技术标准协会发布了DDR4 NVDIMM-P非易失内存标准规范,序列编号JESD304-4.01,也可以在断电后不丢失数据,而且完全兼容DDR4内存标准。 根据规范,这种新内存兼容普通的DIMM内存标准、固件,可以最大程度减少对于现有设备、平台的更改,同时为新内存提供了低延迟接口,提高了易用性,未来也会兼容支持DDR5。 NVDIMM-P的新功能: - 持久性:操作系统能够低延迟、高带宽访问非易失内存。 - 虚拟的内存:在DDR通道启用尽可能多的内存容量...阅读全文

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

)和方法(methods)仍是私有的(private)共有的枚举(public enums), 其所有变天(variants)也同为共有(public)父模块中的元素, 不能使用子模块中的私有元素子模块中的元素, 可以使用父模块的元素use使用关键字use简路径Paths, 类似文件系统中的'symbolic link'.一些惯常用法调用其它模块函数时, 通过use引入其所在的模块(module)use some_mod; fn main() { some_mod::some_fn(); } 调用其它模块结构体struct, 枚举enum,通过全路径引入,use std::collections::HashMap; fn main() { let mut map = HashMap::new...阅读全文

博文 2021-02-20 08:49:51 知乎

LFS 8.0 正式发布:从零开始编译自己的 Linux 发行版

,另有两个变种1.CLFS Sysroot 采用Sysroot的方法来进行编译,好处是软件包的编译次数可以减少,坏处是不能支持在编译后对软件进行测试,必须要启动到目标平台上才能测试。 2.CLFS Embedded 一般用于极小系统以及嵌入式系统。为此,它使用uclibc而不是一般LFS使用的glibc。 Automated Linux From Scratch(ALFS) 标准LFS只是一本书,用户需要根据书上的指引下载软件包并手动输入指令进行编译。ALFS子项目提供了把这一切自动的脚本。 Hardened Linux From Scratch(HLFS) 这个子项目致力于打造在安全性上无懈可击的Linux系统。 Hints 收集一些解释性、增强性的文档,以协助用户 LiveCD 利用...阅读全文

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

OpenJDK 14 性能提升,但 OpenJDK 8 仍是王者

Bork 文件加密软件包进行测试,在经过测试的版本中,性能基本上没有变。 自 OpenJDK 8 以来,DaCapo 的 H2 基准被建模为类似于 JDBCbench 的内存中(in-memory)基准,其性能得到了很好的提升,与此前的版本相比,OpenJDK 14 再次以微弱的优势获得了第一名。 可以看到,基于 Python Pybench 的 Jython 基准测试也是 OpenJDK 8 拥有最佳成绩的众多案例之一。 在运行 Daytrader 基准测试的 Tradebeans 测试中,OpenJDK 14 再度以微弱的优势拿下最佳的成绩。 就像打乒乓球一样,Renaissance 的 Scala Dotty 基准测试提供了一个类似的例子,说明 OpenJDK 的性能也会上下波动。在此次测...阅读全文

博文 2020-03-22 08:46:01 debian.cn

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

Redis 创始人兼核心开发者 antirez 在博客 介绍 了将在 Redis 6 提供的新功能 —— Client side caching(客户端缓存)。 antirez 表示 全新的 Redis 协议 RESP3 将是 Redis 6 中最重要的特性,并解释了他为何如此急切地改进 Redis 协议,原因主要有两个,一是因为希望能为客户端提供更多的语义回复(semantical replies),以开发使用旧协议难以实现的功能;另一个原因也是 antirez 认为最重要的一个,实现 Client side caching(客户端缓存)功能 。 这个功能十分常见,但 Redis 尚未提供。 当使用者需要进行快速存储或快速取操作时,就需要在客户端内存中存储一小部分信息,这是为了降低程序...阅读全文

Scrapy 架构及数据流图简介

URL的类。 每个spider负责处理一个特定(或一些)网站。 Item Pipeline Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、 验证及持久(例如存取到数据库中)。 下载器中间件(Downloader middlewares) 下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能。 Spider中间件(Spider middlewares) Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(response)和输出(items及requests...阅读全文

博文 2017-07-23 22:56:26 debian.cn

Linux Systemd被爆远程漏洞 CVE-2017

在 Systemd (linux 操作系统流行的 init 系统和服务管理器) 中发现了一个关键漏洞, 这使得远程攻击者有可能触发缓冲区溢出, 从而通过 dns 响应在目标计算机上执行恶意代码。 Systemd是什么 systemd 是一种系统初始程序。和 sysVinit 以及 upstart 一样,systemd 会成为系统开机时启动的第一个进程(至少 PID 是 1),由它掌管计算机接下来要做的事情,例如读取 fstab 挂载磁盘和按照 runlevel 的设定启动各种服务。其安全的重要性不言而喻。 Systemd远程代码执行漏洞 CVE-2017-9445 该漏洞编号 CVE-2017-9445 ,实际上驻留在 " systemd-resolved " 的...阅读全文

博文 2017-07-02 09:39:36 9445 影响多种Linux系统

通过 Hostapd 进行 WIFI 热点共享上网

操作系统:Debian Gnu/Linux Jessie 内核: linux-image-4.3.0-0.bpo.1-amd64 网卡:腾达(Tenda) W311M 150M Mini无线USB网卡 最近发现自己的Debian之前可以使用GNOME3下的networkmanager进行WIFI共享上网功能因为内核升级导致无法使用。无奈只好再次通过Hostapd来进行WIFI热点设置,同时为了更块的DNS解析,本次顺便也在本地安装了dnsmasq软件实现了本地的DNS查询服务,成功恢复了我的小本本作为热点的能力。总结方法如下: 1、准备环境: 1.1执行vi /etc/apt/sources.list,并添加如下源地址: deb http://ftp.cn.debian.org...阅读全文

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

Kubernetes 1.18 发布

Kubernetes 1.18 发布了,这是 2020 年首次版本发布。此版本包含 38 项功能增强,其中 15 项为稳定版功能、11 项 beta 功能以及 12 项 alpha 版功能。 主要更新亮点包括: Kubernetes 拓扑管理器 beta 拓扑管理器的作用是让 CPU 与其它设备(例如 SR-IOV-VF)实现 NUMA 对齐,进而让工作负载运行在优环境中以降低延迟。在拓扑管理器推出之前,CPU 与设备管理器只能彼此独立地做出资源分配决策。此版本拓扑管理器已经发展到 beta 版本。 Serverside Apply beta 2 beta 2 版本将跟踪并管理所有新 Kubernetes 对象的字段变更,确保用户及时了解哪些资源在何时进行过更改。 使用...阅读全文

博文 2020-03-27 18:28:34 debian.cn

Kubernetes 1.16.0发布 新版本四大主题

广泛使用一个全局 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...阅读全文

博文 2019-09-20 13:28:32 debian.cn

LXD 3.8 发布,下一代容器管理器

LXD 3.8 发布了,LXD 是下一代容器管理程序,它提供类似于虚拟机的用户体验,但使用的是 Linux 容器。LXD 的核心是一个特权守护程序,它通过本地 unix 套接字以及网络暴露 REST API。随后客户端通过该 REST API 执行所有操作,这意味着无论是与本地主机还是远程服务器通信,都以相同的方式运行。LXD 附带提供命令行客户端。 此版本改进了许多功能,还带来一些新功能,包括: 自动容器快照 引入了三个配置键来控制自动快照并配置它们的命名方式。 支持项目之间的复制/移动 lxc copy 和 lxc move 都添加了一个新的 –target-project 选项,可以在项目之间复制或移动容器。 cluster.https_address 服务器选项 以往,集群...阅读全文

博文 2018-12-14 10:29:14 debian.cn

DNS SRV:使用DNS服务器做服务发现

,Client会按照这些SRV的权重分配请求。下一次向服务发起的请求可能发送到了不同的地址。在通过SRV记录的权重来分配请求的时候,使用的是本地缓存的DNS记录,所以不能实时地感知到服务的地址列表变。除非将 TTL 设置的非常短暂,但这样将会频繁地查询DNS服务器。 Client查询服务地址的过程 rfc-2782中已经做了很好地介绍,这里就不表述了。 配置举例 下面是DNS中 master file,可以看到有 example.com 域名提供了一个名为_foobar._tcp 的服务,这个服务有两个 SRV 记录,分别指向了 sys-box.example.com:1099 和 server.example.com:1099 $ORIGIN example.com. @ SOA...阅读全文

博文 2019-03-05 09:35:34 debian.cn

Manjaro Linux的两项大胆举措

,FreeOffice 已经扩展到支持早期的 Microsoft 格式 DOC、XLS 和 PPT 以及标准文档格式 OpenDocument Text(ODT)。 但是 FreeOffice 并不是开源的软件,Jack 认为这便是 Manjaro 的大胆之处。 虽然有人会认为 Linux 上应该使用开源项目,并且开发者需要能够查看到 FreeOffice 的源码,并且在出问题时能够自行调试代码解决,但是这样影响办公效率的事情实际上很少会发生。“Linux 上拥有另一种选择的想法,尤其是使与 MS Office 的无缝协作更加现实的想法,应该被视为 Linux 桌面的巨大胜利。” Jack 分享了他在 Linux 上文档协作方面的困苦,后来其实也是到了需要求助于 Google Docs 之类的线上工具的地步...阅读全文

博文 2019-10-05 16:24:38 debian.cn

聊聊很重要的内核技术eBPF

Viljoen在其中介绍了Netronome SmartNIC上每个FPC每秒达到300万个数据包,每个SmartNIC有72到120个FPC,可能最大支持eBPF吞吐量4.3 Tbps!(理论上) eBPF 触发了新一代网络、安全性、应用程序配置/跟踪和性能故障排除等领域的工具开发,这些工具不再依赖现有的内核功能,而是在不影响执行效率或安全性的情况下主动重新编程运行时行为。 那我们看看有哪些基于 eBPF 的工程,这些工程或许你已经知道,或是已经经常使用。 基于eBPF的项目 1:bcc BCC是用于创建基于eBPF的高效内核跟踪和操作程序的工具包,其中包括一些有用的命令行工具和示例。 BCC简了用C进行内核检测的eBPF程序的编写,包括LLVM的包装器以及Python和Lua的前端。它还提供了用于...阅读全文

博文 2020-08-16 11:08:44 debian.cn

Debian 相比 Ubuntu 有哪些不同之处

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

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

译:Kubernetes 最佳实践

很重要,因为在 K8s 中没有为这些设置默认值。例如,如果一个 pod 需要 20 秒才能启动并且缺少就绪探测,那么在启动期间定向到该 pod 的任何流量都会导致失败。就绪探针应该是独立的,并且不考虑对其他服务的任何依赖,例如后端数据库或缓存服务。存活探针试应用程序是否正在运行以将其标记为健康。例如,可以测试 Web 应用程序的特定路径以确保其响应。如果不是,该 pod 将不会被标记为健康,并且探测失败将导致 kubelet 启动一个新的 pod,然后将再次对其进行测试。这种类型的探测用作恢复机制,以防进程无响应。译者:在 Kubernetes 1.18 引入了 StartUp(启动)探针。当容器启动时间较长(要花较长的时间完成初始工作),此时应该使用启动探针。如果启动探针探测不成功,其他...阅读全文

博文 2022-09-13 19:32:21 atbug.com

译:零信任对 Kubernetes 意味着什么

。2024财年;国防部创建了零信任参考架构;美国国家安全局发布了一份Kubernetes 强指南,专门描述了 Kubernetes 中零信任安全的最佳实践。随着这种噪音,零信任无疑吸引了很多营销关注。但尽管有噪音,零信任不仅仅是一个空洞的术语——它代表了对未来安全的一些深刻和变革性的想法。那么具体来说,什么是零信任,为什么它突然变得如此重要?零信任对 Kubernetes 用户意味着什么?什么是零信任?正如所料,零信任从根本上讲是关于信任。它是解决安全核心问题之一的模型:是否允许 X 访问 Y?换句话说,我们是否相信 X 可以访问 Y?当然,零信任中的“零”有点夸张。要使软件正常工作,显然某些东西需要信任其他东西。因此,零信任并不是完全消除信任,而是将信任降低到最低限度(众所周知的最小特权原则)并...阅读全文

基于thanos搭建分布式prometheus

external_labels: cluster: 158 rule_files: - /etc/prometheus/rules/*.yml remote_write: - url: http://receive集群的service ip:19291/api/v1/receive scrape_configs: remote_write部分的IP填写receive集群对外暴露的入口IP,端口是receive组件的remote-write专用端口19291,URI部分是固定的。 最后 thanos官方提供了一个sidecar方案的交互式教程,帮助大家理解thanos整个组件关系和配置过程,建议学习:https://katacoda.com/thanos/courses/thanos,实际生中建议采用方案2。 如果文章...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

Go 语言的大版本更新:Go 2.0 安排上了

建议。 实现:根据来自社区的反馈意见,提案开始实现。 针对所实现的提案的反馈:在开发周期中,Go 开发团队和社区试用新功能并且收集进一步的反馈意见。 启动决策:在三个月的开发周期结束时,根据在发布周期中收集的经验和反馈意见,Go 开发团队会考虑变更的预期收益或生的额外成本,从而最终决定是否发布每个变更。一旦发布,这些被发布的提案就成为语言和库的一部分。未被发布的提案可能会重新起草,但也有可能会被永久拒绝。 可以看到,通过两轮的反馈过程,可对提案进行有效的筛选,从而防止“功能蔓延(feature creep)”,有助于保持 Go 语言的简洁。 提案选择标准 一项提案至少要满足以下这些条件: 解决大部分使用者觉得重要的问题 不会对其他使用者造成太大的影响 提供一个清晰且易于理解的解决方案 条件...阅读全文

三个简单而优秀的 Linux 网络监视器

你可以通过 iftop、Nethogs 和 vnstat 这三个 Linux 网络命令,了解有关你网络连接的大量信息。iftop 通过进程号跟踪网络连接,Nethogs 可以快速显示哪个在占用你的带宽,而 vnstat 作为一个很好的轻量级守护进程运行,可以随时随地记录你的使用情况。 iftop iftop 监听你指定的网络接口,并以 top 的形式展示连接。 这是一个很好的小工具,用于快速识别占用、测量速度,并保持网络流量的总体运行。看到我们使用了多少带宽是非常令人惊讶的,特别是对于我们这些还记得使用电话线、调制解调器、让人尖叫的 Kbit 速度和真实的实时波特率的老年人来说。我们很久以前就放弃了波特率,转而使用比特率。波特率测量信号变,有时与比特率相同,但大多数情况下不是。 如果你只...阅读全文

博文 2017-11-07 00:07:38 debian.cn

Memcache UDP反射放大攻击技术分析

60k 服务器可以被利用,并且这些服务器往往拥有较高的带宽资源。 基于以上特点,作者认为该攻击方式可以被利用来发起大规模的DDoS攻击,某些小型攻击团队也可能因此获得原先没有的大流量攻击能力。 在 DDoSMon 上观察到的现网趋势 自批露以来,我们就一直利用 DDoSMon 的统计页面 持续监控Memcache DRDoS在实际现网中的情况。在过去的几个月中,这种类型攻击的频率和单次破坏性都不大,但是自2018-02-24开始,这种情况发生了较大变。 近期,Memcache DRDoS 的攻击频率上升到了平时的10+倍,从每天小于50件,上升到每天300~400件,直到今天的1484件(实际上,离今天结束还有1个小时),如下图所示。 需要指出,当前 Memcache DRDoS 仍然还不是...阅读全文

博文 2018-03-02 09:20:52 debian.cn

Systemd 及 Service 文件含义解析

Systemd 是 Linux下的一款系统和服务管理器,兼容 SysV 和 LSB 的启动脚本。Systemd 的特性有:支持并行任务;同时采用socket式 与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。 其中的监视和控制功能的主要命令就是systemctl。 Systemd 有很多不同类型的使用单元,主要包括:系统服务(.service)、挂载点(.mount)、sockets(.sockets)、系统设备(.device)、交换分区(.swap)、文件路径(.path)、启动目标(.target)。一般我们常用的是其中的系统服务。 对于系...阅读全文

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

你和 Linux 高手只差了一个 LFS

以篇幅不小,快则一两天,慢可能要一两周你才能跟着把系统构建完。一次做完你也不见得能把知识完全消。 然后,刚才我也提到了,为了让内容更精炼,更多的只是叙述和说明,并不会夹杂太多作者的思想和经验,看起来显得很枯燥。 最后,相信大家都不是太喜欢看教科书。当然,其实还有一个缺点,会给我们的学习带来比较大的阻力,这个我们后面会提到。 LFS 的定位 盘点了优缺点以后 LFS 的定位就很清晰了,它就是一本书,一本教科书。所以你不能要求它像小说般有趣。而这本书的受众是,广大的程序员,学生,Linux 用户,以及任何一个对此感兴趣的人。 如何开始? 如果你英文水平尚可的话,请直达 LFS 官网: http://www.linuxfromscratch.org/lfs/ ,开始你的上帝之旅吧。 如果你希望阅...阅读全文

博文 2017-07-17 17:45:59 debian.cn

Proxy-Go v6.6 发布啦

Proxy-Go v6.6 发布啦。Proxy 是 golang 实现的高性能 http,https,websocket,tcp,udp,socks5 代理服务器, 支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP 端口映射、SSH 中转、TLS 加密传输、协议转换、DNS 防污染代理。 优了 limitconn 的关闭逻辑, 释放更多资源. http(s)\socks 代理增加了–intelligent, 智能模式设置, 可以是 intelligent|direct|parent 三者之一, 默认是:intelligent. 每个值的含义如下. --intelligent=direct, 不在 blocked 里面的目标都直连. --intelligent=parent, 不...阅读全文

博文 2018-12-01 09:52:14 Go v6.6 发布 新增智能模式

Linux 系统 vim 编辑器使用简明教程

做文字输入,按ESC键可回到命令模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号。 不过一般我们在使用时把vi简成两个模式,就是将底行模式也算入命令模式。 一、打开文件、保存、关闭文件(vi命令模式下使用) vi filename //打开filename文件 :w //保存文件 :w debian.cn //保存为当前目录下的文件"debian.cn" :q //退出编辑器,如果文件已修改请使用下面的命令 :q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件 :x! //退出编辑器,且保存文件,忽略是否对文件具有写权限 二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退...阅读全文

博文 2015-07-25 16:33:04 debian.cn

Tmux 快速教程:快捷键和配置

对应面板 { 向前置换当前面板 } 向后置换当前面板 alt+o 逆时针旋转当前窗口的面板 ctrl+o 顺时针旋转当前窗口的面板 z 最大当前所在面板 page up 向上滚动屏幕,q 退出 page down 向下滚动屏幕,q 退出 因为 iTerm2 的支持,很多切换的操作可以直接用鼠标进行,非常方便。具体大家可以自己尝试一下。 配置 我们可以先进行一些简单的配置,修改 ~/.tmux.conf 即可,让整个使用更方便。 #-- base --# set -g default-terminal "screen-256color" set -g display-time 3000 set -g history-limit 10000 set -g base-index 1 set -g...阅读全文

博文 2017-11-07 15:17:49 debian.cn

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

我们将介绍,如何在三个树莓派上,创建出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上创建 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始创建 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文

博文 2020-04-12 16:30:23 debian.cn

nsenter 及 Linux命名空间 简介

] lrwxrwxrwx 1 root root 0 Nov 27 05:02 pid -> pid:[4026531836] lrwxrwxrwx 1 root root 0 Dec 15 11:11 user -> user:[4026531837] lrwxrwxrwx 1 root root 0 Dec 15 11:11 uts -> uts:[4026531838] 系统调用 clone clone是Linux的系统调用函数,用于创建一个新的进程。 clone 和 fork 比较类似,但更为精细,比如说使用 clone 创建出的子进程可以共享父进程的虚拟地址空间,文件描述符表,信号处理表等等。不过这里要强调的是,clone 函数还能为新进程指定命名空间。clone的语法: #define...阅读全文

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

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

CentOS停止维护后,我们应该用什么操作系统?

使用 Debian 安装程序,它提供了更多可以微调的选项,包括使用自动的网络安装工具的功能。Debian 提供平滑的更新。保持操作系统最新十分容易,不论您是想升级到一个全新的发布版本,还是只想升级一个单独的软件包。Debian 是许多其他发行版的基础。许多非常受欢迎的 Linux 发行版,例如 Ubuntu、Knoppix、PureOS 以及 Tails,都基于 Debian。我们提供了所需的所有工具,使得每个人在有需要的时候都可以制作自己的软件包,以补充 Debian 档案库里没有的软件包。Debian 项目是一个社区。所有人都可以成为 Debian 社区的一员;您不必是一名开发者或系统管理员。Debian 有一个民主的治理架构。由于所有 Debian 项目的成员都享有平等的权利,所以...阅读全文

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

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

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

Kubernetes v1.21 新特性预览

Kubernetes 集群(Identity Provider,标识提供者)与外部系统(relying parties, 依赖方)所分发的服务账号令牌。CRIContainerLogRotation 进入稳定版本,kubelet 将会自动为 containerd 等 CRI 容器运行时轮换日志。结构日志(Structured Logging)进入 Beta,很多组件的日志都改成以 JSON 格式记录,这样第三方日志处理系统就可以方便地从日志中解析出日志所对应的资源对象和资源属性。EfficientWatchResumption 进入 Beta,kube-apiserver 重启后 watch 缓存将更高效的恢复,更好的支持大规模集群。CSIServiceAccountToken 进入 Beta,使得 CSI...阅读全文

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

图解 Debian 系统通用安装教程

这篇文章我会尽可能详细地说明如何快速安装纯净的Debian新系统,需要懂一点vi编辑器的使用方法。 如果是新手,没用过 vim 编辑器也不用担心,我会尽量详细地说明使用方法。 首先在Debian官网上下载网络安装CD或者完整DVD镜像,DVD镜像只需DVD-1即可。如果你的网络环境不错,推荐下载 netinst 包,通过网络安装 Debian 系统。 下载好镜像后做成U盘启动盘,从U盘启动开机。在引导界面选择Graphical install(图形安装),进入安装过程,如图: 选择语言界面,选择中文吧, 提示虽然是好心,但是安装过程中我就见到一处乱码还就是下面这个图上,直接选是,下一步。 区域选择,选择中国。 主机名,自己随便填吧。 域名可不填,直接下一步。 设置root密码,自己设定好...阅读全文

博文 2017-07-13 12:52:56 debian.cn

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

用 kube-prometheus-stack 通过 apiserver 和 kubelet 组件监控获取相关证书过期时间; 使用 enix 的 x509-certificate-exporter监控集群所有node的 /etc/kubernetes/pki 和 /var/lib/kubelet 下的证书以及 kubeconfig 文件 方案一: Blackbox Exporter 监控 Kubernetes apiserver 证书过期时间 Blackbox Exporter 用于探测 HTTPS、HTTP、TCP、DNS、ICMP 和 grpc 等 Endpoint。在你定义 Endpoint 后,Blackbox Exporter 会生成指标,可以使用 Grafana 等工具进行可视...阅读全文

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

漫画赏析:Linux 内核到底长啥样

鹅,它表示着 PID 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗,这代表对文件系统的监控。 一层(地面层) floor 看完了地基,接下来我们来看地基上面的一层,都有哪些东西。 Process Table 在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。这个垫子的区域代表进程表。 左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长式的人物,不过看起来周围坐的那些小企鹅不是很听话——你看有好多走神、自顾自聊天的——“喂喂,说你呢,哇塞娃(171),转过身来”。它代表着 Linux 内核中的初始(init)进程,也就是我们常说的 PID 为 1 的进程。桌子上坐的小企鹅都在等待状态中,等待工...阅读全文

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

Debian 成为主流 Linux 操作系统的七个原因

的。许多基于Debian的发行版(包括Ubuntu)使用Testing或者Unstable软件包,不过在发布之前进行自己的一番测试。除非准备进行技术方面的重大变,比如上一个版本改用systemd,否则Unstable通常来说足够安全,如果你借鉴的对象仅限于非核心元素(比如桌面环境),更是如此。 5.自由程度的选择 Debian软件库分为三个部分:Main、Contrib 和 Non-Free。Main完全包括免费许可证的软件,Contrib包括本身免费许可证的软件,但是依赖其他的非免费软件,而Non-Free包括采用专有许可证发布的软件。 Debian安装时只启用了Main,所以该项目的偏好显而易见。不过,添加另外两个部分只需要五分钟的时间来编辑/etc/apt/sources.list...阅读全文

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

Docker 核心原理

对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核心原理分享总结到文章里,以供参考。 Docker 的优势 Build once, Run anywhere 上面这句话很精辟的总结了 docker 的优点。我从下面几点具体描述 docker 带给开发者的能力 应用标准 无论什么语言开发的应用,我们都能用 dockerfile 和构建脚本方便的进行应用构建打包,代码库 + 构建 + registry 统一了 CI/CD 流程,也提升了效率。 环境一致 由于应用和依赖全部构建成镜像,做到了一次构建多次交付,无论是开发,测试还是上线环境都是一致的。大大提高了开发效率 应用隔离 由于通过 docker 部署的应...阅读全文

博文 2021-02-25 09:14:23 lxkaka

21款必不可少的Ubuntu桌面应用程序

谷歌帐户来登录,在Linux和你使用的其他操作系统之间同步书签、扩展和应用程序。 其他替代方案:Vivaldi(Chromium)、GNOME Web(GTK)和QupZilla(Qt)。 3. GIMP照片编辑器 GIMP的全称是“GNU图像处理程序”,它是一款免费开源的Photoshop替代工具。虽然它缺少Adobe的一些比较花哨的功能,但是GIMP在常用功能方面与Adobe不相上下,有些方面甚至更胜一筹! 无论你是想快速自动修饰自拍照头像、创建可以在网上共享的多层次文基因,还是作为摄影业余爱好的一部分,搞些专业的修饰工作,都要打量一下GIMP。 替代方案:Photomatix(收费版)、Pinta(GTK)和Shotwell(GTK)。 4. VLC媒体播放器 你不需要我告诉VLC是...阅读全文

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

深入理解Golang之context

: return "context.TODO" } return "unknown empty Context" } var ( background = new(emptyCtx) todo = new(emptyCtx) ) func Background() Context { return background } func TODO() Context { return todo } 但我们一般不会直接使用emptyCtx,而是使用由emptyCtx实例的两个变量,分别可以通过调用Background和TODO方法得到,但这两个context在实现上是一样的。那么Background和TODO方法得到的context有什么区别呢?可以看一下官方的解释:// Background returns...阅读全文

博文 2021-01-27 09:05:27 知乎

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

/customer# vgs VG #PV #LV #SN Attr VSize VFree hdd 1 9 0 wz--n- 2.73t 31.84g s163941-vg 1 2 0 wz--n- 223.33g 0 运行 lvs 和 vgs 发现之前的 VM 硬盘 还在,fdisk 格式一下 看来 nocix 后台的 wipe hard disk 没起作用 1fdisk /dev/sdb m 可以查看帮助菜单 输入 p 回车,d 回车,w 回车 命令说明:p 打印分区d 删除分区w 写入更改 过程如下:123456789101112131415161718192021222324252627Command (m for help): pDisk /dev/sdb: 2.7 TiB...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

协议介绍之深入了解 gRPC

HTTP header。HTTP header 各个 fields 使用 \r\n 分隔,然后跟 body 之间使用 \r\n\r\n 分隔。解析完 header 之后,我们才能从 header 里面的 content-length 拿到 body 的 size,从而读取 body。 这套流程其实并不高效,因为我们需要读取多次,才能将一个完整的 HTTP 请求给解析出来,虽然在代码实现上面,有很多优方式,譬如: 一次将一大块数据读取到 buffer 里面避免多次 IO read 读取的时候直接匹配 \r\n 的方式流式解析 但上面的方式对于高性能服务来说,终归还是会有开销。其实最主要的问题在于,HTTP/1.x 的协议是 文本协议,是给人看的,对机器不友好,如果要对机器友好,二进制协议才是更好的...阅读全文

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