InfraPub 为您找到相关结果 579

利用 NAT VPS 进行流量中转

Contents1. 准备2. 使用 firewalld 进行中转3. 使用 UFW 进行中转4. 使用 iptables 进行中转4.1. CentOS 下保存规则4.2. Debian & Ubuntu 下 保存规则:5. 使用 socat 进行中转6. 目标机的设置7. 一些大陆 NAT VPS 商8. References本文最后更新于 2020 年 6 月 3 日本文以 CentOS 8 和 Debian 10 & Ubuntu 20.04 为例,介绍如何在 NAT VPS 上设置流量中转。开始前,请先根据际使用的操作系统,参照以下文章对服务器进行各种必要的配置:CentOS 服务器的初始配置Debian & Ubuntu 服务器的初始化配置本文以 sammy 用户为例,进行中...阅读全文

博文 2021-03-11 21:16:11 Silearner

最全 MongoDB 基础教程

会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。 autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。 size 数值 (可选)为固定集合指定一个最大值,以千字节计(KB)。如果 capped 为 true,也需要指定该字段。 max 数值 (可选)指定固定集合中包含文档的最大数量。 在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段 例 # 在test数据库中创建ruochen 集合 use test db.createCollection('ruochen') # 查看已有集合 show collections db.createCollection('test...阅读全文

博文 2021-02-22 07:45:45 OSChina

“Debian 章程有毒” - OSCHINA

些多年未见的老朋友,在这场谈话中,他们谈到了一个话题—— Debian 的民主以及他们在理论和践上的失败。 作为最古老的 Linux 发行版本之一,Debian 系几乎占据 Linux 系统家族里的半壁江山;作为老牌的开源社区,Debian 运行了近30年依旧香火不断;但是,作为一个统筹几百个开发者协作的社会组织,Debian 为什么却让这些人失望了? 01 不吃香的 DPL Bruce Perens 走后,DPL(Debian Project Leader)这个词被 Debian 章程定义了出来。DPL 由 Debian 社区选举出来,一年一届,每年春天都会有一个 Debian 开发者竞选成功,接受这个组织的“加冕”。 2019年的春天,Debian 的这一选举却“轮空”了。3月11日...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

开源软件对于商业机构的6大好处

持周期,以避免更新混乱的出现。 2、有利于产品的长期发展 福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更换供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。 而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个体志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。 3、更安全 以开源的方式进行开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也...阅读全文

博文 2017-11-15 23:41:11 debian.cn

Node.js Vs. PHP:你应该选择哪一个

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 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间...阅读全文

博文 2017-12-23 23:15:39 debian.cn

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

购买其 Dedicated SSL Certificate ($5/month) 或 Dedicated SSL Certificate with Custom Hostnames ($10/month)。 六、AlphaSSL 官方网站:https://www.alphassl.com/ 点评:其 AlphaSSL 并不免费提供 SSL 证书,而且价格不菲。但是 AlphaSSL 跟 SingleHop 有合作关系,免费给 SingleHop 的客户发行证书,甚至包括通配符 SSL 证书。有人根据这个规则,开发了个自动发行证书的工具。详见:https://github.com/Vittfarne/ASSL 也就是说,只要你有了 SingleHop 的服务,就可以使用你的帐号密码以及该工具...阅读全文

Debian目前面临的问题:钱足够但很缺人!

,最大的挑战在于为最新硬件提供驱动。 Carter 指出,Debian 开发人员通常使用的是一些已不在市面上流通的设备,例如一些旧型号的 Thinkpad 笔记本。 尽管 Carter 对缺少开发人员忧心忡忡,但是事上 Debian 项目和社区文化目前运作很好,在开源软件社区和商业组织两条线上成绩斐然。 Carter 指出,“Debian 开发人员同时也是 Debian 的用户。商业领域内用户和开发人员间的冲突,并不存在于 Debian 项目中”。基于社区文化的良好传承,才能进一步考虑如何做大做强。 原文链接: https://www.theregister.com/2020/09/10/debian_project_address...阅读全文

博文 2020-10-09 10:24:04 debian.cn

Prometheus 常用 PromQL 语句样例

PromQL 是 Prometheus 提供的一个函数式的表达式语言,可以使用户时地查找和聚合时间序列数据。表达式计算结果可以在图表中展示,也可以在 Prometheus表达式浏览器中以表格形式展示,或者作为数据源,以 HTTP API 的方式提供给外部系统使用。PromQL 虽然以 QL 结尾,但是它不是类似 SQL 的语言,因为在时间序列上执行计算类型时,SQL 语言相对缺乏表达能力。而 PromQL 语言表达能力非常丰富,可以使用标签进行任意聚合,还可以使用标签将不同的标签连接到一起进行算术运算操作。内置了时间和数学等很多函数可以使用 选择序列选择指定指标名称的序列最新样本: my_metric_name选择指定指标名称序列5分钟的样本范围: my_metric_name[5m]筛...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

bmon:一个强大的网络带宽监视和调试工具

用 proc 输入模块运行 bmon: $ bmon -i proc -p enp1s0 如何使用 bmon 输出模块 bmon 也使用输出模块显示或者导出上面输入模块收集的统计数据,输出模块包括: curses - 这是一个交互式的文本用户界面,它提供时的网上估计以及每个属性的图形化表示。这是默认的输出模块。 ascii - 这是用于用户查看的简单可编程文本输出。它能显示网卡列表、详细计数以及图形到控制台。当 curses 库不可用时这是默认的备选输出模块。 format - 这是完全脚本化的输出模式,供其它程序使用 - 意味着我们可以在后面的脚本和程序中使用它的输出值进行分析。 null - 停用输出。 像下面这样通过 help 选项获取更多的模块信息。 $ bmon -o...阅读全文

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

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

间,响应大小。主要做统计用,设置分位数的值,会时返回该分位数上的值。 Golang中集成 Prometheus 程序库 提供了一个用 Golang 写成的健壮的插桩库,可以用来注册,收集和暴露服务的指标。在讲述如何在应用程序中暴露指标前,让我们先来探究一下 Prometheus 库提供的各种指标类型。 下载 Prometheus go 客户端 go get github.com/prometheus/client_golang/prometheus/promhttp. Golang应用中集成 Prometheus HTTP 服务器 package main import ( "net/http" "github.com/prometheus/client_golang/prometheus...阅读全文

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

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

」。 Debian 多媒体源 一些多媒体软件因牵涉到版权问题,包括硬件解码器,Debian 官方并未收录,有一网站专门填补该空缺,见 http://www.deb-multimedia.org。 最后忠告:不要同时启用多个源,同一仓库的源启用一个即可,否则容易引起混乱。以下例便是列有多套而仅启用一套。...阅读全文

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

如何在 Debian 中安装 DHCP 服务器

动态主机配置协议(DHCP)是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议。DHCP 服务器分配给 DHCP 客户端的 IP 地址处于“租用”状态,租用时间通常取决于客户端计算机要求连接的时间或 DHCP 服务器配置的时间。 DHCP 如何工作? 以下是 DHCP 际工作原理的简要说明: 一旦客户端(配置为使用 DHCP 的机器)连接到网络后,它会向 DHCP 服务器发送DHCPDISCOVER数据包。 当 DHCP 服务器收到DHCPDISCOVER请求报文后会使用DHCPOFFER包进行回复。 然后客户端获取到DHCPOFFER数据包,并向服务器发送一个DHCPREQUEST包,表示它已准备好接收DHCPOFFER包中提供的网络配置信息。 最后,DHCP...阅读全文

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

Facebook 是如何进行大规模代码部署的

Facebook 的首位发布工程师,目前是 Facebook 发布工程的工程总监。 Facebook 的发布周期是“ quasi-continuous ” (准连续)——这只是一种委婉的说法,表明并非每次提交都会部署到生产环境,际上它采用的是对几十到几百个提交进行批处理,每隔几个小时就进行推送。这种分层发布的方式使任何变更的回滚很容易。 这个新系统从 2016 年 4 月开始,经过一年的时间慢慢地完善。早先的模式是从主干分支的提交中选择特定的变更放到发布分支上。发布分支每天将这些变更推送到生产环境。这种“ cherry-picking ”的特点是,每天选择变更的数量为 500 ~ 1000。剩下的变更就推入到每周发布分支中。随着时间的推移,提交的数量和参与其中的工程师都有所增加,发布工程师的手工劳动变得...阅读全文

博文 2017-10-31 14:05:20 debian.cn

如何对一个deb包解压、修改、重新打包 全过程

客 01-28 1万+ 一、deb包详解 1->deb 包的文件结构 deb 软件包里面的结构:它具有DEBIAN和软件具体安装目录(如etc, usr, opt, tmp等)。 deb包本身有三部分组成 组成 详细 数据包 包含际安装的程序数据,文件名为“data.tar.XXX” 安装信息及控制包 包含deb的安装说明,标识,脚本等,文件名为“control.tar.gz” ... [教程] iOS设备上修改deb解包打包 教程 六桥风月IT随笔 05-26 1万+ 1,首先你需要安装终端。并需要一个源依赖(说白了就是安装命令终端) 2,开始(我们从最简单学起) 3,我们以ChargingHelper.deb (充电助手)为例子,你可以命名为abc.deb方便等下命令操作。 4...阅读全文

博文 2021-02-16 11:44:48 CSDN

Linux 容器 vs 虚拟机 — 谁更胜一筹

VirtualBox 和 VMware 很好地代表了桌面到服务器虚拟化的两个领域。 Linux 容器 vs 虚拟机 – 赢家是? 在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以 在虚拟机上运行容器 。了解这一点很重要,因为这里没有明显的赢家或输家。事上,这两种技术的需求完全不同。 容器将引起媒体的持续关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云空间的主要内容。 我认为值得一看的是 Kubernetes 和 Docker Swar 之间的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时间,感觉好像是 Docker。然而现在,Kubernetes 占据了更多的营地。可能随着时间的推移,我们将开始看到...阅读全文

博文 2017-11-25 10:23:56 debian.cn

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

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

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

Docker 快速入门之 Dockerfile

在容器环境中,我们可以通过容器创建一个我们自定义过的镜像,那么我们是否可以直接通过基础的镜像直接自定义镜像呢?答案当然是可以的,在 Docker 中我们可以从名为 Dockerfile 的文件中读取指令并且自动构建镜像。在本文中,将介绍 Dockerfile 的基本语法以及基本知识。 1 Dockerfile 是什么? Dockerfile 其是一份文本文档,里面包含了用户可以用来操作镜像的一些指令。通过顺序执行这些指令,最后得到一个自定义的镜像,这有点类似于我们的 shell script。 2 Dockerfile 示例 接下来先看一个 Dockerfile 示例: FROM centos LABEL maintainer="Locez " ENV...阅读全文

博文 2017-12-16 13:50:31 debian.cn

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

;几个对应工具(比如dnf和urpmi)有一两个选项是dpkg和apt-get所没有的。然而,它们仍是一大批用来查看和处理软件包的用工具的核心。没有对应工具提供那么多的选项来解决安装冲突。这么多年后,dpkg和apt-get仍然独具一格。 6.风险的选择 Debian的三个主要软件库是Stable(稳定)、Testing(测试)和Unstable(不稳定)。这些名称体现了每一个软件库中的软件包在测试这条道路上走得有多远,让用户可以根据自己的情况来兼顾最新软件包和稳定性程度。 如果你主要关注的是稳定性,那可以坚持使用Stable。相比之下,如果你想要最新的软件,可以使用Unstable,不过面临这种风险:有更多的软件错误,不相兼容。Testing通常介于这两个极端之间。 当然了,风险程度是相对...阅读全文

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

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

很多人误以为shell脚本只能在命令行下使用。其shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制最终的输出,光标位置还有各种输出效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支持的。 1. notify-send 命令 这个命令可以让你通过通知进程发送一个桌面通知给用户。这可以用来向用户发送提示,或者显示一些信息而不用打断用户工作。你需要安装如下软件包: $ sudo apt-get install libnotify-bin 下面这个例子展示了如何从命令行向桌面发送一个简单的消息: notify-send...阅读全文

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

Kubernetes常用命令大全(持续更新)

create -f https://git.io/vPieo #### 使用 url 来创建资源 kubectl run -i --tty busybox --image=busybox ----创建带有终端的pod kubectl run nginx --image=nginx #### 启动一个 nginx 例 kubectl run mybusybox --image=busybox --replicas=5 ----启动多个pod kubectl explain pods,svc #### 获取 pod 和 svc 的文档 更新 kubectl rolling-update python-v1 -f python-v2.json #### 滚动更新 pod frontend-v1...阅读全文

博文 2020-03-13 12:35:13 debian.cn

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

什么,因为与火狐、LibreOffice和GIMP一样,它大概是世界上最著名的开源软件之一! 这是一款用途广泛的桌面媒体播放器,可以处理你扔给它的几乎任何媒体格式,播放DVD,甚至还能将视频由一种格式转码成另一种格式。 替代方案:SMPlayer(Qt)。 5. Unity Tweak Tool用工具 Unity Tweak Tool可谓是Ubuntu Unity桌面界的瑞士军刀,它让你可以微调和定制桌面来适合自己的口味。无论你想试用一种新潮的GTK主题、更换图标集、调整应用程序菜单的大小或行为、设置触发角,还是缩小Unity启动器的尺寸,它都能满足要求。 从高级配置选项到普通选项:如果某个项可以调整,那么Unity Tweak Tool很可能有相应的切换开关! 6. Caffeine锁屏...阅读全文

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

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

。 $ perf record -F 99 -p `pgrep -n node` -g -- sleep 30 详细的操作可以看这篇文章。 七、浏览器的火焰图 Chrome 浏览器可以生成页面脚本的火焰图,用来进行 CPU 分析。 打开开发者工具,切换到 Performance 面板。然后,点击"录制"按钮,开始记录数据。这时,可以在页面进行各种操作,然后停止"录制"。 这时,开发者工具会显示一个时间轴。它的下方就是火焰图。 浏览器的火焰图与标准火焰图有两点差异:它是倒置的(即调用栈最顶端的函数在最下方);x 轴是时间轴,而不是抽样次数。 八、Async-profiler介绍 Async-profiler是一个对系统性能影响很少的Java采样分析器,它的现是基于HotSpot特有的API,通过这些特有的...阅读全文

博文 2022-03-11 10:05:09 博客园

kubelet 中垃圾回收机制的设计与实现

。cgc.runtime.GarbageCollectcgc.runtime.GarbageCollect 的现是在 kubeGenericRuntimeManager 中,其主要逻辑为:1、回收 pod 中的 container;2、回收 pod 中的 sandboxes;3、回收 pod 以及 container 的 log dir;k8s.io/kubernetes/pkg/kubelet/kuberuntime/kuberuntime_gc.go:378func (cgc *containerGC) GarbageCollect(gcPolicy kubecontainer.ContainerGCPolicy, allSourcesReady bool, evictTerminatedPods bool) error { errors := []error{} // 1、回收 pod...阅读全文

博文 2021-02-05 17:48:22 知乎

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 Live 项目的剧变

表明他在 Debian Live 项目上的努力一直没有被重视或没有被足够重视。最具决定性的因素是因为在「包的含义」上存在冲突, R.Learmonth 申请了新的包名,而这侵犯了在 Debian Live 上使用的命名空间。 考虑到最主要的 Debian Live 包之一被命名为 live-build ,而 R.Learmonth 申请的新包名却是 live-build-ng ,这简直是对 live-build 的挑战。 live-build-ng 意为一种围绕 vmdebootstrap(LCTT 译注:创造真的和虚拟机Debian的磁盘映像)工具的外部包装,这种包装是为了创造 live 介质(光盘和USB的插入),也是 Debian Live 最需要的的部分。但是当 Baumann...阅读全文

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

Golang 中的 channel 通道详解

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 表示当前缓冲区中有效数据的总量...阅读全文

Debian 10.8 发布:包括多项安全更新和错误修复

现。完整的镜像列表可在以下网址获得。 [https://www.debian.org/mirror/list](https://www.debian.org/mirror/list) ## 杂项错误修正 这个稳定的更新为以下软件包添加了一些重要的修正。 | 包 | 原因 | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [atftp](https://packages.debian.org/src:atftp) | 修复拒绝服务问题[CVE-2020-6097...阅读全文

博文 2021-02-07 10:57:22 joseph

SVN切换分支用法汇总

发过程中经常会用到。在进行分支切换的时候,我们需要清晰地知道目标分支的状态,并且保证工作副本中没有未提交的修改。切换分支时,我们也需要保证源分支和目标分支都在同一个版本库中,否则可能会出现一些问题。当然,SVN切换分支的优缺点也需要仔细考虑,从而更好地应用于际开发工作中。...阅读全文

博文 2023-06-09 14:22:35 infras

Gitlab CI 配置文件 .gitlab

8.14开始,当在environment中定义了一个stop操作,GitLab将会在相关联的分支本删除时自动触发一个stop操作。 关闭(停止)environments可以通过在environment下定义关键字on_stop来现。它定义了一个不同的job,用于关闭environment。 请查看environment:action模块中例子。 environment:action Gitlab 8.13 开始引入。 action和on_stop联合使用,定义在job中,用来关闭environment。 举个例子: review_app: stage: deploy script: make deploy-app environment: name: review on_stop...阅读全文

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