InfraPub 为您找到相关结果 600

2017年的Linux内核防护依然脆弱

Linux 主线影响了 PaX/Grsecurity 的正常开发,这也是 PaX/Grsecurity 关闭公开访问 test patch 的主要原因之一,最近由 Qualys 曝光的 Stack clash 是一个古老的漏洞利用平的工程化,这威胁到了几乎所有类 UNIX 系统(包括 GNU/Linux)的安全,当 Linux 内核 x86 的 maintainer 之一 Andy Lutomirski 问及 PaX/Grsecurity 是如何修复时 Linus 直接回复了 Grsecurity 是垃圾,有趣的是当 PaX/Grsecurity 的作者之一 Spender 曝光了一些内核最近的 silent fix 以后 Linus 居然 “邀请”PaX team/Spender 直接贡献代码...阅读全文

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

Linux 基金会与 RISC

、紫光展锐等公司也加入了RISC-V联盟,其中华米科技今年9月份还宣布了基于RISC-V指令集的首款智能穿戴芯片黄山1号。 不过RISC-V前景虽好,但是现在还在起步阶段,包括RISC-V基金会本身的运作也需要向Linux基金会这样的成熟社区学习,所以这次合作对RISC-V阵营意义重大,Linux软件生态在RISC-V处理器的开发、优化、支持等方都会推动RISC-V建立更强大的生态系统。...阅读全文

博文 2018-12-01 09:45:27 V 基金会合作推广开源芯片

Raspbian 国内软件源列表

/ buster main ui # Uncomment line below then 'apt-get update' to enable 'apt-get source' #deb-src http://archive.raspberrypi.org/debian/ stretch main ui jessie、wheezy 版本的系统按照之前修改软件源的的规则修改即可,这里不再赘述。 Ctrl+o 保存,之后回车确认,然后 Ctrl+x 退出。 更新 配置好了可以尝试更新,用下的命令分别更新软件源列表、软件版本和系统内核版本,完整的更新过程需要等挺久的。一般只用更新软件源列表即可。 #更新软件源列表 sudo apt-get update #更新软件版本 sudo apt-get upgrade...阅读全文

使用 nvme-cli 工具来了解你的 NVMe 驱动器

NVMe 设备和命名空间。我用它在 /dev/nvme0n1 找到了一个 NVMe 驱动器。下是命令输出结果:$ sudo nvme listNode SN Model Namespace Usage Format FW Rev--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------/dev/nvme0n1 S42GMY9M141281 SAMSUNG MZVLB256HAHQ-000L7 1214.68 GB / 256.06 GB 512 B + 0 B...阅读全文

博文 2021-09-26 15:12:24 joseph

Debian瞻前 微软顾后:安全改进是否会产生负面影响

都知道,我们都是晚期拖延症患者,要落实一个功能,只会晚不会早。 比方说,微软刚刚向其老化的Windows Server 2008平台添加了TLS 1.1和TLS 1.2支持。 表上看,添加对优化版TLS的支持是件好事。但如果我们细看Server 2008的其他TLS功能,缺陷是显而易见的: 没有AES GCM支持 没有AEAD密码 没有SNI(服务器名称指示)支持 没有OCSP Stapling支持 这不是一个非常有吸引力的HTTPS服务器。可能你今天就不想用,更别提三年后了。 Windows Server 2008(使用IIS 7)至2020年仍处于扩展支持阶段。但为什么现在添加TLS 1.2? 从2018年6月开始,你将不得不支持TLS 1.1或更高版本的PCI兼容性。微软在其任何一篇...阅读全文

博文 2017-08-11 09:54:18 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

OpenSSL 3.0 正式发布,更改许可协议并弃用所有低级别 API

级别的 API。在 OpenSSL 3.0 中,这一点变得更加明确。所有这些低级别的 API 都已经被废弃了。你仍然可以在你的应用程序中使用它们,但你可能会在编译过程中开始看到弃用警告。废弃的 API 可能会从未来的 OpenSSL 版本中删除,所以强烈建议开发者更新你的代码,以使用高级 API 来代替。版本管理OpenSSL 的版本管理已经随着 OpenSSL 3.0 的发布而改变,新的版本管理采用下方这样的格式:MAJOR.MINOR.PATCH(主版本.次版本.补丁)对于 OpenSSL 1.1.1 及以下版本,不同的补丁级别是由版本号后的字母表示的,这一方法将不再使用,而是用版本号中的最后一个数字来表示补丁级别。第二个数字(MINOR)的变化表明可能已经添加了新的功能,但与相同...阅读全文

系统分析工具 Sysdig 详解

Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具。Sysdig 能从运行的系统中,获取系统状态和行为,做过滤分析,功能上超同类开源工具。Sysdig 可以看做是 strace + tcpdump + lsof + htop + iftop 以及其他系统分析工具的合集 。 此外 Sysdig 还能对容器(如docker、coreOS、LXC)进行监控。 Sysdig 也支持windows平台和mac平台。下我们以 Linux系统为例,举例说明 Sysdig 的用法,你也可以参考官方原文。 网络 查看占用网络带宽最多的进程:sysdig -c topprocs_net显示主机192.168.0.1的网络传输数据 as binary:sysdig...阅读全文

博文 2020-08-09 14:09:05 debian.cn

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

(container_spec_cpu_quota{image!=""}/100000) by (pod_name, namespace)) 将上两个公式的结果相除,就得到了容器的CPU使用率: sum(rate(container_cpu_usage_seconds_total{image!=""}[1m])) by (pod_name, namespace) / (sum(container_spec_cpu_quota{image!=""}/100000) by (pod_name, namespace)) * 100 Pod内存使用率计算 Pod 内存使用率的计算就简单多了,直接用内存实际使用量除以内存限制使用量即可: sum(container_memory_rss{image!=""}) by(pod_name...阅读全文

博文 2020-08-13 20:41:03 debian.cn

轻量级发行版 Alpine Linux 介绍

Alpine Linux 操作系统是由社区开发的,向安全的轻型 Linux 发行版,它和其他常见的 Linux 发行版不同。Alpine 采用了 musl libc 和 busybox 以减小系统体积和运行时的资源消耗,功能上要比 busybox 完善的多,因此得到开源社区越来越多的青睐。 在保持瘦身的同时,Alpine 提供了自己的包管理工具 apk,可以在官方网站上查询包信息,也可以通过类似 apt 和 yum 的方式,在命令行查询或安装软件。 Alpine 支持广泛的场景,它特别为资深/重度Linux用户而优化,关注安全,性能和资源利用率,是一个优秀的可适用于生产环境的基础系统。 Alpine Docker 镜像继承了 Alpine Linux 发行版的这些优势。相比于其他...阅读全文

博文 2018-06-16 13:48:00 debian.cn

深入了解Docker背后的namespace技术

中的所有网络接口。现在让我们写一段代码创建一个新的network interface。为此,我们将写一个C语言库的框架,系统调用了clone。我们将从调用clone开始,文件skeleton.c应该在demo容器的工作目录中,我们将利用这个文件作为我们例子的基础。下是例子的代码: #define _GNU_SOURCE #include #include #include #include #include #define STACKSIZE (1024*1024) static char child_stack[STACKSIZE]; struct clone_args...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Jono Bacon: GPL 没落了吗?

不久之前我看到了 RedMonk 的 Stephen O'Grady 发了一个关于开源协议的有趣的推特,那个推特里有这张图, Redmonk Black Duck Licensing 这张图片显示了从 2010 到 2017 年间各种开源协议之间的使用率的变化。在这张图片里,显然 GPL 2.0 —— 最纯净的 copyleft 协议之一 —— 的使用率降低了一多半。该图表表明,开源项目中 MIT 协议和 Apache 协议开始受欢迎。GPL 3.0 的使用率也有所上涨。 这些意味着什么? 为什么 GPL 2.0 的使用率跌的这么多但是 GPL 3.0 仅仅是涨了一丁点?为什么 MIT 协议和 Apache 协议的使用率涨了那么多? 当然,有很多原因可以解释这件事情,但是我想这是因为商业...阅读全文

博文 2017-08-04 08:03:43 debian.cn

分布式任务调度平台 XXL

版本,如:CodeMirror、Echarts、Jquery 等; 13、项目依赖升级 groovy 至较新稳定版本; pom 清理; 14、子任务失败重试重试逻辑优化,子任务失败时将会按照其预设的失败重试次数主动进行重试 XXL-JOB 特性 1、简单:支持通过 Web 页对任务进行 CRUD 操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、启动 /停止任务,以及终止运行中任务,即时生效; 3、调度中心 HA(中心式):调度采用中心式设计,“ 调度中心” 基于集群 Quartz 实现并支持集群部署,可保证调度中心 HA ; 4、执行器 HA(分布式):任务分布式执行,任务” 执行器” 支持集群部署,可保证任务执行 HA ; 5、注册中心: 执行器会周...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

Pod 初始化配置,还能起到配置统一的效果。 2、环境、软件准备 本次演示环境,我是在本机 MAC OS 上操作,以下是安装的软件及版本: Docker: 18.06.3-ceOracle VirtualBox: 6.0.8 r130520 (Qt5.6.3)Linux: 7.6.1810Minikube: v0.30.0Kubernetes: 1.12.1 注意:这里 Kubernetes 集群搭建使用 Minikube 来完成,Minikube 启动的单节点 k8s Node 实例是需要运行在本机的 VM 虚拟机里,所以需要提前安装好 VM,这里我选择 Oracle VirtualBox。k8s 运行底层使用 Docker 容器,所以本机需要安装好 Docker 环境,这里忽略...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

起运维人员挖矿导致百度损失 2.7 万的事件,同样是运维人员在“涉险”,为什么是运维人员呢? “运维”人员在企业的价值,他们自己的调侃是:当企业没有发生技术故障的时候,大家感觉不到运维人员的存在。当企业发生故障的时候,大家感觉到运维人员确实没有存在的必要。 但调侃归调侃,这反映了技术运维人员在企业中临的尴尬处境,但实际上,运维人员对于一家企业运营维护的保障,确实是很重要的。他们的职责包括服务器的部署、配置、维护;互联网平台的部署、升级、迁移、数据备份恢复;监控服务器,平台的运行,系统优化等,可以说,他们掌握了企业的后门,一旦运维部门发生危险,公司有可能陷入瘫痪状态,因此,一直以来,运维人员也拥有很多访问权限,而这却变成了运维人员不惜“涉险”的一个原因之一。 于是,如何对运维人员进行权限管理...阅读全文

博文 2020-03-17 20:42:41 debian.cn

Docker 17.06 社区版发布

/static COPY --from=storefront /usr/src/atsea/app/react-app/build/ . WORKDIR /app COPY --from=appserver /usr/src/atsea/target/AtSea-0.0.1-SNAPSHOT.jar . ENTRYPOINT ["java", "-jar", "/app/AtSea-0.0.1-SNAPSHOT.jar"] CMD ["--spring.profiles.active=postgres"] 最终的镜像大小只有209M,其中不包含Maven或node.js。 还有其他的一些构建器方的优化,包括在FROM指令中使用构建时参数。 日志和指标 指标 目前通过一个daemon的API端点提供日志...阅读全文

博文 2017-06-30 23:08:57 debian.cn

五款流行开源的 HIDS 系统简单介绍

让我们先探讨什么是基于主机的入侵检测系统。如前所述,入侵检测系统是一种硬件或软件应用程序,可在检测到恶意活动时检测并警告管理员。HIDS主要专注于监视和分析日志文件,以便 基于预定义的策略和一组规则来检测异常和未经授权的更改。换句话说,HIDS与您添加的预先建立的规则一样有效。对于大量存储的日志,提取有意义的信息对于检测异常至关重要。提取的信息应准确。因此,确保这些日志的安全性对于防御日志操纵至关重要。1. OSSECOSSEC是开源安全事件关联器的缩写。这个建立良好且信誉良好的解决方案是OSSEC基金会开发和维护的免费和开放源代码的基于主机的入侵检测系统,这要归功于众多的贡献者。它后来归趋势科技所有。这是一个不断发展的项目,每月下载约5000次,并且具有可扩展性和多平台方的特点,因为它...阅读全文

博文 2023-01-26 11:07:43 joseph

处理器架构消亡史

扩展到完整的64位体系架构。于是,Alpha架构应运而生。Alpha于1992年末推出,是专为高端台式机,工作站和服务器设计的微处理器架构,这也使得他们成为首批实现64位体系架构的企业之一。Alpha对于产业的贡献或许不是有多少产品采用了这种架构,而是他在理论上为产业的发展提供了一种新思路。有人认为,Alpha,MIPS两种RISC架构都比较早的考虑了64位、和引入了很多超前的微架构设计概念,以至于影响了以后英特尔在微架构(uops)、超线程方的发展,这些在英特尔处理器微架构设计隐约能看到Alpha架构的一些影子。除此之外,艾康电脑公司于1983年开始的开发项目——ARM也是值得一提的架构。1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。由于这项目非常重要,艾康电脑甚至于...阅读全文

Golang 操作 Kafka 样例

有更好的吞吐量,内置的分区,冗余及容错性,这让Kafka成为了一个很好的大规模消息处理应用的解决方案。消息系统 一般吞吐量相对较低,但是需要更小的端到端延时,并尝尝依赖于Kafka提供的强大的持久性保障。在这个领域,Kafka足以媲美传统消息系统,如ActiveMR或RabbitMQ 站点的用户活动追踪: 为了更好地理解用户行为,改善用户体验,将用户查看了哪个页、点击了哪些内容等信息发送到每个数据中心的Kafka集群上,并通过Hadoop进行分析、生成日常报告。 流处理:保存收集流数据,以提供之后对接的Storm或其他流式计算框架进行处理。很多用户会将那些从原始topic来的数据进行 阶段性处理,汇总,扩充或者以其他的方式转换到新的topic下再继续后的处理。例如一个文章推荐的处理流程...阅读全文

博文 2023-01-10 13:46:09 掘金

如何使用 journalctl 清理 journal 日志

的逻辑来覆盖默认设置: 主配置文件最先被读取, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖主配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上两位十进制数字的文件名前缀。 如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做法是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接...阅读全文

博文 2021-02-05 15:43:28 博客园

在 Kubernetes 上扩展 TensorFlow 模型

](https://www.kubeflow.org/docs/components/training/tftraining/)资源,可以轻松创建上提到的 TensorFlow 分布式策略。TFJob 可以识别容器化的 TensorFlow 代码中定义的分布式策略,并可以使用一组内置组件和控制逻辑对其进行管理。使得在 Kubeflow 中实现 TensorFlow 的分布式训练成为可能的组件包括: - Chief:组织分布式训练并执行模型检查点。 - Parameter Server:协调异步分布式训练和计算梯度。 - worker:执行学习任务。 - Evaluator:计算和记录评估指标。 上述组件可以在 TFJob 中配置,TFJob 是一个用于 TensorFlow 训练的 Kubeflow...阅读全文

influxdb内存消耗分析及性能优化【探索篇】

0.269t 0.053t 0.025t D 14.6 86.2 1081:18 influxd在出现堆积时,wa很高,说明问题再次出现在磁盘io上,而且influxd的SHR空间占用了25g,又是为什么?对新出现的问题,当前的主要手段仍然是从influxdb配置文件入手,但是该如何优化?2.tsi原理工欲善其事,必先利其器。查阅了相关资料之后,整理了influxdb使用tsi索引时原理图:说明:写入influxdb时,会同时写wal文件及cache内存, wal用于宕机恢复cachecache在达到配置中的阈值时,会进行snapshot快照,进行落盘influxdb的series及index索引会在内存中全量保存,用于快速检索wal文件大小在达到配置中阈值时,会进行压缩转换到index索引...阅读全文

博文 2021-10-27 16:06:30 知乎

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

布。这种分离带来了挑战,包括维护向下兼容性。 由于工具和部署选项的性质,移动持续部署临着一些特定的挑战。Web 部署则更为容易,因为 Facebook 拥有完整的技术栈和工具。为了解决这些挑战,Facebook 已经构建了一些专注于更快的移动开发的工具和库,包括 Buck 、Phabricator、 Infer、 React 以及 Nuclide 。Facebook 的移动部署是以三层来并发运行。 • 构建:合并到移动主分支上的所有代码都会进行构建,这会针对受影响的所有产品(Instagram、Messenger)并且会跨各种芯片架构。 • 静态代码分析:Linters 和静态分析工具的组合,称为 Infer ,用于检查各种问题,包括资源泄漏、未使用的变量、有风险的系统调用和编码准则违规...阅读全文

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

2017 热门开源自动化测试框架优缺点对比

于断言的语法。 缺点: 多数情况下,它需要一个测试运行器(如 Karma )。 难以异步测试。 如果你正在寻找一个统一的(客户端 - 服务器)单元测试解决方案,Jasmin 可能会非常适合。 7. Mocha Mocha 是一个 JavaScript 单元测试框架,它在 NodeJs 上运行测试,主要与 ReactJS 配对使用。 优点: 内置测试运行器。 支持异步测试。 使用灵活,可使用任何符合需求的断言库(Chai、expect.js、Must.js 等)作为 Node 标准“断言” 功能的替代品。 缺点: 相对较新 (起始于 2012 年),意味着有许多的未知性和可变性,在某些方或缺乏用户基础和支持。 仅提供基本的测试结构,因此需要额外的设置和配置(对于一些可能是有利的)。 如果你正...阅读全文

博文 2017-11-15 08:52:47 debian.cn

Debian Jessie、Stretch 下安装配置 PHP7.2

: systemctl restart php7.2-fpm 更多日常的操作: systemctl restart php7.2-fpm #重启 systemctl start php7.2-fpm #启动 systemctl stop php7.2-fpm #关闭 systemctl status php7.2-fpm #检查状态 安装更多组件 上的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见: root@debian.cn-service:~# apt-cache search php7.2 php-radius - radius client library for PHP php-http - PECL HTTP module for PHP Extended HTTP...阅读全文

博文 2017-12-16 14:16:25 debian.cn

JDK 11 版本时间表公布

。 依赖 RMI-IIOP、javax.activity 包或 CORBA API 的 CORBA 应用程序将无法通过编译或运行。 红帽首席软件工程师 Aleksey Shipilëv 最近发推文说,由于 JAXB 模块被 JEP-320 移除,因此 SPECjbb2015 基准测试在 Java 10+上出现了问题。建议加入 JAXB 依赖来解决该问题: javax.xml.bind jaxb-api 2.3.0 新的 Java SE 版本发布周期 随着 JDK 10 发布六个月之后,JDK 11 计划于 2018 年 9 月发布,新的 Java 发布 版本周期 已经全铺开。开发人员可能已经习惯于多年一次的 Java 新版本发布,可能由于新版本节奏发生变化,感觉受到轻微的冲击。 Java 社区...阅读全文

博文 2018-04-27 08:33:08 debian.cn

Linux 中使用 Fio 测评硬盘性能

apt-get install git 现在,我们切换到 /opt 目录,并从 Github 上克隆仓库: cd /opt git clone https://github.com/axboe/fio 现在,我们通过在 /opt 目录下切换到 Fio 的源代码目录,执行编译和安装操作了,命令如下: # cd /opt/fio # ./configure # make # make install 使用 Fio 进行磁盘性能测试 现在 Fio 已经安装到了你的系统中,我们一起看看如何使用 Fio 做磁盘的随机写、读和读写测试。 随机写测试 执行下的命令来开始。这个命令将要同一时间执行两个进程,写入共计 4GB( 4 个任务 x 512MB = 2GB) 文件: sudo fio --name...阅读全文

博文 2018-08-15 19:18:24 debian.cn

Dubbo 2.7.0发布 分布式RPC服务框架

Dubbo 2.7.0 发布。Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。 据开源中国对 Dubbo 的项目负责人北纬的采访 Dubbo 重启维护一年多,现在还活着吗?,新版本的更新亮点有: Dubbo 2.7.0 添加了社区呼声很高的 异步化支持 、以及 注册中心与配置中心分离 这两个特性。与 2.6 及以前的版本相比, 异步化支持 不再局限于基于 Future 接口的异步,也不再仅仅局限于只能在客户端异步。具体来说,Dubbo 2.7.0 版本全拥抱 JDK8,在客户端开始支持基于 CompletableFuture 的异步编程范式,在服务端支持基于 AsyncContext...阅读全文

博文 2019-01-18 09:43:16 debian.cn

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

年7月 更是登顶全球交易所交易量排名榜首,成为全球产品布局最广泛的管理平台之一。与此同时,[CoinEx](http://cet.im) 已经是一个提供币币交易、杠杆交易、永续合约等多元化衍生品交易服务,支持中/英/日/韩/俄等多国语言,为全球超过一百个国家和地区提供安全、稳定、可信赖的数字资产交易服务。 在当前的大环境下,CET飙涨一路绿灯,CET及其背后的全球数字货币交易平台CoinEx走进了更多人的视线中;同样受到关注的,还有 CoinEx 即将推出的全新支持智能合约的智能链 [CoinEx Smart Chain(CSC)](https://www.coinex.org/)。市场利好条件虽说是推动 CET 币价的因素之一,但更加关键的还是CoinEx这股厚积薄发的力量。 下就详细为...阅读全文

开源社区纠纷不断:20 年的 Debian 开发者被排挤出项目

将逐渐减少参与 Debian 的维护和相关活动,并解释这样做的原因。Stapelberg 表示他在 Debian 上投入了十年以上的时间,但在此过程中,Stapelberg 也逐渐发现并认识到了 Debian 在许多方的不足。他发现 Debian 整个开发评估流程都非常迟钝。举例来说,补丁的评估没有截至日期,有时候他会收到通知说几年前递交的补丁现在合并了。而且 Debian 的一些维护者出于个人喜好拒绝合作,维护者给予的个人自由度太高对 Debian 构成了严重影响。Debian bug 跟踪器 debbugs 源自 1994 年,只有 Debian 和 GNU 项目使用。Stapelberg 抱怨了 Debian 糟糕的开发流程,对此感到十分不满,为此,他撰写了长文,并希望自己的文章能激...阅读全文

Debian下编译安装Golang

1.4.3版本。 执行./make.bash。 一般教程(比如本文前首次编译错误小节)是用./all.bash,其实没必要。./all.bash是编译并测试,而./make.bash只是编译。前者大约5分钟,后者大约2分钟。对我们这种Go语言的使用者而非开发者来说,显然后者就够了。 进入GOROOT目录,执行./make.bash。 结束后,可以检查版本。 $ go version go version devel +f8187ce Mon Nov 7 02:55:52 2016 +0000 linux/amd64 咦?怎么版本怪怪的! 这是因为master的HEAD,通常是一个开发中的提交,是最新不稳定版本。 如果想要稳定版怎么办? 和编译1.4.3版本类似,checkout过去再编译。比如,我...阅读全文

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

Go 1.16 即将发布,这些变更你需要知道

slice 的扩容条件是 len,在最新的代码中,已经改为了以 cap 属性作为基准: // src/runtime/slice.go if cap > doublecap { newcap = cap } else { // 这是以前的代码:if old.len < 1024 { // 下是 Go1.16rc1 的代码 if old.cap < 1024 { newcap = doublecap } 以官方的 test case 为例: func main() { const N = 1024 var a [N]int x := cap(append(a[:N-1:N], 9, 9)) y := cap(append(a[:N:N], 9)) println(cap(x), cap(y...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

AWS省钱攻略:预留实例怎么玩

m5.2xlarge 类型的 Windows 的标准RI,由于计算需求改变,我们需要 m5.4xlarge 的实例以满足业务需求,那么我们可以将两个 m5.2xlarge 的 RI 合并成一个 m5.4xlarge。 同样我们也可以将 m5.4xlarge 进行同实例类型的大小拆分。 场景四:回到上的场景二,您在新加坡区域有个 m5.4xlarge 的 Windows 实例在运行 ,且当前我有一个 m5.2xlarge 的标准 RI,一个 m5.xlarge 的标准RI,那么这种情况下能不能再购买一个 m5.xlarge 的标准Windows RI 进行合并操作呢?这种情况下则无法通过购买 m5.xlarge 标准 RI 合并为 m5.4xlarge 标准RI。 这里就要提到标准RI拆分合并的限制:标准预留...阅读全文

博文 2019-08-18 18:26:19 debian.cn

linux下查看系统socket读写缓冲区_eyucham的专栏

/proc/sys/net/core/rmem_max 131071 131071:tcp 或 udp 接收缓冲区最大可设置值的一半。 也就是说调用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 时rcv_size 如果超过 131071,那么 getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等于 131071 * 2 = 262142 [root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_max 131071 131071:tcp 或 udp 发送缓冲区最大可设置值得一半。 跟上同一个道理 3...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

PostgreSQL 13 正式版发布

索引所需的整体空间使用率,同时提高了整体查询性能。 PostgreSQL 13 引入了增量排序,即在查询中较早步骤的排序数据可以加速后步骤的排序。此外,PostgreSQL 现在可以使用扩展的统计信息(可通过CREATE STATISTICS访问)来为带有OR子句和IN/ ANY查找列表的查询创建改进的计划。 在 PostgreSQL 13 中,更多类型的聚合查询和分组查询可以利用 PostgreSQL 的高效哈希聚合功能,因为具有大型聚合的查询不必完全放入内存。对分区表的查询也得到了性能提升,因为现在有更多的情况下可以修剪分区和直接联接分区。 优化管理 清理(Vacuuming)是 PostgreSQL 管理的一个重要部分,使数据库在更新和删除行后能够回收存储空间。此过程也会带来管理上的...阅读全文

博文 2020-10-04 20:07:23 debian.cn

Systemd 及 Service 文件含义解析

/etc/systemd/system/ 目录中的单元文件的优先级总是高于 /usr/lib/systemd/system/ 目录中的同名单元文件。注意,当/usr/lib/ 中的单元文件因软件包升级变更时,/etc/ 中自定义的单元文件不会同步更新。此外,你还得执行 systemctl reenable ,手动重新启用该单元。因此,建议使用前一种利用 *.conf 的方法。 可以使用 journalctl 来查看 systemd 管理服务的启动日志: ``` journalctl -b -0 # 显示本次启动的信息 journalctl -b -1 # 显示上次启动的信息 ``` 参考阅读 ArchLinux 的 Systemd (简体中文) 文档:https...阅读全文

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

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

我们登陆远程服务器后,常常需要下载、或者上传一些文件,我们常用的 lrzsz 对 tmux 支持不够友好,于是就有了 trzsz 这个新工具,它安装简单,使用方便,功能全,小巧灵活,GitHub项目地址: https://github.com/trzsz/trzsz为什么需要 trzs 这个“轮子”?考虑 laptop -> hostA -> hostB -> docker -> tmux 这种场景,使用 scp 或 sftp 是不方便的。在这种场景下,使用 lrzsz ( rz / sz ) 是很方便的,但是很可惜它与 tmux 不兼容。 tmux 不愿意支持 rz / sz ( 906, 1439 ),而重新造一个工具比修改 tmux 简单很多。trzsz 安装指南在远程服务器上安装...阅读全文

Kubernetes 1.7 发布,安全强化、StatefulSet 更新及可扩展特性

(canary)和分阶段(phased)推出部署(rollout);本地持久卷(Local Persistent Volume)。当前以Alpha版发布,允许用户通过标准的PersistentVolumeClaims/PersistentVolume接口及StatefulSets中的StorageClasses访问本地存储卷;DaemonSets。该特性用于确保给定的Pod对每个节点准确地执行和运行一次,现已添加了rollback和history功能;新提供的StorageOS Volume插件,它可在本地的或附加的节点存储上提供在整个集群范围内高可用的持久卷。 在可扩展性方,1.7中以Beta版的形式添加了API聚合层,允许用户在他们的集群中添加Kubernetes风格的预先构建的、用户定义的或是第...阅读全文

博文 2017-07-19 12:23:15 debian.cn

亚马逊12个月免费云服务

热线、在线聊天支持。作为全球云服务的龙头企业,亚马逊云计算拥有最广泛的全球云计算基础设施,全球节点丰富,为网站的快速稳定访问提供基础设施保障。配合亚马逊全球CDN节点,能满足不同国家独立站访问速度需求。1.什么是云服务器?云计算服务器(也称云服务器或云主机)是云计算服务系统中的主机产品,有效解决了传统物理主机中管理难度大、业务扩展性弱的缺陷。在实际应用中,云主机具有三个方的灵活性:主机服务配置和业务规模可根据用户需求配置,可灵活调整。用户申请的主机服务可以快速供应和部署(实时在线开通),实现集群内灵活可扩展的收费模式,用户无需支付押金,有多种支付模式供用户选择。2.云服务器适合什么样的用户?关注主机服务性价比的用户;需要快速实现分布式部署的用户;需要灵活扩展业务的用户;对系统高可用性和快速...阅读全文

TLS1.3 正式版发布 — 特性与开启方式科普

(SSL)的进化版本,SSL是由Netscape公司在1990年代研发的。国际互联网工程任务组(IETF)做为一个标准化组织,负责定义该协议,该协议已经历了多次修订。最新版本 TLS1.2 在 2008 年被确立为标准,目前被大多数浏览器和启用 HTTPS 的 web 服务所支持。 在配置正常的情况下,TLS 1.2 会很安全,但如今它却显得有些过时了。在过去几年中,几次引人注目的攻击暴露出该协议的一些漏洞。在计算机安全领域,8年是一段很长的时间,因此 IETF 已经在着手开发该协议的新版本 TLS 1.3。TLS1.3 是一次全升级,与此前版本相比,它有两个主要优势: 增强安全性 提升速度 增强安全性 过去几年来,大部分针对TLS的攻击都是以该协议90年代遗留下来的残余部分为目标的...阅读全文

博文 2018-08-14 14:40:05 debian.cn

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

}kl.imageManager.GarbageCollect上已经分析了容器回收的主要流程,下会继续分析镜像回收的流程,kl.imageManager.GarbageCollect 是镜像回收任务启动的方法,镜像回收流程是在 imageManager 中进行的,首先了解下 imageManager 的初始化,imageManager 也是在 NewMainKubelet 方法中进行初始化的。k8s.io/kubernetes/pkg/kubelet/kubelet.gofunc NewMainKubelet(){ ...... // 初始化时需要指定三个参数,三个参数已经在上文中提到过 imageGCPolicy := images.ImageGCPolicy{ MinAge...阅读全文

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

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

服务化项目服务不可用几十分钟,造成订单数减少几十万笔,损失百万资金。 原因分析 当时是没有定位到具体的原因的,但是下的原因也是一部分可能引起宕机的情况。 某服务化项目的业务增速非常快,在高峰期,数据库QPS突破35000,系统处于高负荷状态。 在高峰期如果同时执行几个全表扫描的SQL,会造成数据库压力急剧上升,应用超时增多,前端应用超时,用户重试,流量飙升,形成了雪崩效应。 主要原因在与一些老项目的SQL查询性能较差,并且使用的主库,对数据库影响较大。数据库QPS太高,但是缓存方案因为人手原因一直没有落地,慢SQL的问题处理优先级应该提升。 改进方案 针对每个应用建一个数据库账号,严格按照规范使用 缓存优化方案即时落地,慢SQL问题优先处理,集中处理目前已经发现的慢SQL(查询时间超过1S...阅读全文

博文 2018-10-27 10:18:18 debian.cn

Spinnaker 介绍 – Netflix 的持续交付平台

Spinnaker 是 Netflix 在2015年开源的一款持续交付平台,它继承了 Netflix 上一代集群和部署管理工具 Asgard:Web-based Cloud Management and Deployment的优点,同时根据公司业务以及技术的的发展抛弃了一些过时的设计:提高了持续交付系统的可复用性,提供了稳定可靠的API,提供了对基础设施和程序全局性的视图,配置、管理、运维都更简单,而且还完全兼容 Asgard,总之对于 Netflix 来说 Spinnaker 是更牛逼的持续交付平台。 在深入了解 Spinnaker 之前,先扯一扯 Netflix 的技术文化:这是一家全拥抱云的公司,据报道数据中心完全部署在 AWS 上,是 AWS 的超级大客户。在上云后他们发现故障仍...阅读全文

博文 2018-12-21 19:30:47 debian.cn

Golang 中的 channel 通道详解

文件是必须要做的,但关闭通道不是必须的。关闭后的通道有以下特点:对一个关闭的通道再发送值就会导致panic。对一个关闭的通道进行接收会一直获取值直到通道为空。对一个关闭的并且没有值的通道执行接收操作会得到对应类型的零值。关闭一个已经关闭的通道会导致panic。channel的种类不带缓存的channel一个基于无缓存Channels的发送操作将导致发送者goroutine阻塞,直到另一个goroutine在相同的Channels上执行接收操作,当发送的值通过Channels成功传输之后,两个goroutine可以继续执行后的语句。反之,如果接收操作先发生,那么接收者goroutine也将阻塞,直到有另一个goroutine在相同的Channels上执行发送操作。基于无缓存Channels的...阅读全文

Debian Live 项目的剧变

Williams 却坚持认为取代 live-build 很有必要。Learmonth 给 live-build-ng 换了一个争议性也许小一些的名字: live-wrapper 。他说他的目标是为 Debian Live 项目加入新的工具(并且「把 Debian Live 项目引入 Debian 里」),但是完成这件事还需要很大的努力。 我向已经被 ITP 问题所困扰的每个人道歉。我们已经告知大家 live-wrapper 还不足以完全替代 live-build 且开发工作仍在进行以收集反馈。尽管有了这部分的工作,我们收到的反馈缺并不是我们所需要的。 这种对于取代 live-build 的强烈反对或许已经被预知到了。自由软件社区的沟通和交流很关键,所以,计划去替换一个项目的核心很容易引起争议——更何况是...阅读全文

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

利用 NAT VPS 进行流量中转

=nobody TCP4:目标地址:目标端口号 >> /var/log/socat.log 2>&1 &nohup /usr/bin/socat -d -T 60 UDP4-LISTEN:本机端口号,reuseaddr,fork,su=nobody UDP4:目标地址:目标端口号 >> /var/log/socat.log 2>&1 &上两条命令可在 root 用户下执行。 目标机的设置此处示例的目标机为 Debian & Ubuntu 系统,安装并启用了 UFW:如需同时允许 TCP 和 UDP 入站:1sudo ufw allow from 中转机地址 to any port 端口号如需只允许 TCP 入站:1sudo ufw allow proto tcp from 中转机地址 to any...阅读全文

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

使用 MongoDB 之前应该知道的 14 件事

MongoDB 是一个多租户系统,它会尽可能地占用内存,因此最好是安装在服务器上,最大限度地提供内存,即使是开发工作。在服务器上使用默认端口安装而不启用身份验证是在自找麻烦,尤其是可以在查询中运行任意 JavaScript 时(例如把$where 作为注入攻击的载体)。 身份验证方法有多种,但是用户 ID/密码凭证最容易安装和管理。当你考虑 基于 LDAP 的身份验证 时,可以采用那个方法。在我们谈论安全时,MongoDB 必须保持最新,而且,在日志里查找未授权访问的迹象总是值得的。我不喜欢使用默认端口。 忘记限制 MongoDB 的攻击 MongoDB 的 安全检查清单 为降低网络渗透和数据泄露风险提供了很好的建议。我们很容易会认为,开发服务器不需要高等级的安全。不是这样的:安全对于所有...阅读全文

Apache Kafka发布 3.0 正式版

昨天,Apache Kafka 3.0 版本正式发布,这是一个涉及多方的大版本。在这个版本中,Apache Kafka 3.0 引入了各种新功能、突破性的 API 更改以及对 KRaft 的改进:Apache Kafka 的内置共识机制将取代 Apache ZooKeeper™。虽然 KRaft 尚未被推荐用于生产(已知差距列表),但我们对 KRaft 元数据和 API 进行了许多改进。Exactly-once 和分区重新分配支持值得强调,我们鼓励开发者查看 KRaft 的新功能并在开发环境中试用它。并且,从 Apache Kafka 3.0 开始,生产者默认启用最强的交付保证 ( acks=all, enable.idempotence=true),这意味着用户现在默认获得排序和持久性...阅读全文

博文 2021-09-26 14:13:03 joseph

HTTP状态码详解

息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超级。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。 204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。 如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。 由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。 205...阅读全文

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