Debian 爱好者社区 为您找到相关结果 364

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

APISIX Ingress 如何使用 Cert Manager 管理证书

STATUS RESTARTS AGE pod/apisix-5d99956d88-j68sj 1/1 Running 0 63s pod/apisix-69459554d4-btnwn 0/1 Terminating 0 57m pod/apisix-etcd-0 1/1 Running 0 57m pod/apisix-etcd-1 1/1 Running 0 57m pod/apisix-etcd-2 0/1 Running 0 50s pod/apisix-ingress-controller-7b5c767cc7-j62hb 1/1 Running 0 55m pod/cert-manager-5ffd4f6c89-q9f7m 1/1 Running 0 45m pod/cert...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

十条关于 WordPress 安全性的小贴士

换到 HTTPS HTTPS 可阻止第三方侦听或修改客户端和服务器之间通信的 中间人攻击 。理想情况下,应该在安装 WordPress 前激活 HTTPS,如果在安装后再添加,可能需要更新 WordPress 设置。 HTTPS 还可以提升网站的 Goggle PageRank。诸如 SiteGround 这类网站托管服务提供商会提供免费的 SSL 证书。 2. 限制 MySQL 连接地址 确保你的 MySQL 数据库拒绝来自外部的人员和系统连接到本地服务器的行为。大多数受管理的 Web 主机默认情况下都会执行此操作,但那些使用专用服务器的主机可以将下面的代码添加到 MySQL my.cnf 配置文件的 [mysqld] 部分: bind-address = 127.0.0.1 3. 使用强...阅读全文

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

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

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

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) 只有在输入模式下,才可以...阅读全文

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

本田 40GB 数据险遭泄漏 因云端数据库未设密

% 的 Elasticsearch 启用了验证插件,另外有 2% 则关闭了 Elasticsearch。2018 年 11 月份,美国还曾发生一起 ElasticSearch 服务器在没有密码的开放状态下泄露了将近 5700 万美国民众个人信息的事件。当时共泄漏超过 73GB 数据,并且几个数据库被缓存在服务器内存中,其中一个数据库包含的个人信息就达到了 56,934,021 份。2018 年 12 月份,巴西最大的订阅电视服务之一的 Sky Brasil 在没有密码的情况下将 ElasticSearch 服务器暴露在互联网上,其 3200 万客户数据在网上暴露了很长时间,存储数据包括客户姓名、电子邮件地址、密码、付费电视包数据、客户端 IP 地址、个人地址、付款方式、设备型号等。 根据...阅读全文

Kubernetes v1.21 新特性预览

Kubernetes v1.21 下个月就要发布了(v1.21.0 将于 4 月 8 日发布),本文梳理该版本带来的新特性,以便你为下个月的升级做好准备。PodSecurityPolicy 弃用PodSecurityPolicy(PSP)是 Kubernetes 1.8 开始就支持的 Beta 特性,大量应用于容器的安全策略控制。但由于其 API 不够灵活、认证模型不够完善且配置更新繁琐等缺陷,PodSecurityPolicy 将在 v1.21 正式弃用[1],并将在 v1.25 中从代码库中删除。已经使用 PodSecurityPolicy 的用户建议迁移到 Gatekeeper[2]。不可变 ConfigMap/Secret 进入稳定版当集群包含大量 ConfigMap 和...阅读全文

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

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

。TLS1.2具有很强的可配置性,因此一些有安全漏洞的站点为兼容老版本的浏览器而没有关闭那些旧的属性。 TLS1.3信奉“少即是多”哲学,取消了对一些老旧而衰弱的加密方式的支持。这意味着你无法打开那些潜在的漏洞。TLS1.2中原有的大量特性都被删除了,其中大部分特性与那些著名的攻击有关,这些特性包括: RSA 密钥传输 —— 不支持前向安全性 CBC 模式密码 —— 易受BEAST和Lucky 13攻击 RC4 流密码 —— 在HTTPS中使用并不安全 SHA-1 哈希函数 —— 建议以SHA-2取而代之 任意 Diffie-Hellman 组 —— CVE-2016-0701漏洞 输出密码——易受 FREAK 和 LogJam攻击 TLS1.3 消除了旧版本中糟糕的加密方式,同时降低了旧的攻击方式对其...阅读全文

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

为何说微软不会基于Linux内核重构Windows

播,Windows 和 Linux 的开放源码贡献者能够共享两个生态系统的精华。 2.兼容性 目前尚不清楚如果 Windows 用户空间从 NT 迁移到 Linux 内核,是否能够保持良好的兼容性,特别是那些拥有关键任务应用、付费获取的东西。 Windows 没有像 Linux 那样严格区分内核空间和用户空间。NT 内核大约有 400 个已记录的 syscalls 以及大约 1700 个已记录的 Win32 API 调用。对于重新部署从而确保 Windows 开发者和他们工作达到预期的兼容性这是非常庞大的工作量,这完全超过了 Wine 提供的修正贡献。 Linux 在 arm64 上只有 313 个 syscalls,而另一个原因是微软已经从 WSL 1 中的 syscall 翻译层...阅读全文

博文 2020-10-15 14:59:58 debian.cn

2016年Linux领域的十条大新闻,你关注了吗?

。事实上,Linux出色的可靠性与灵活性使它成为关键性基础设施内不可或缺的核心要素。 那么究竟是什么神奇的力量让Linux这样一位“私生子”变成世界的主宰?根据VAR Guy网站的总结,Linux成功的原因包括分布式开发方法、务实的意识形态、切实可行的内核设计以及庞大且活跃的Linux社区。 2. Fedora 25成为首款默认使用Wayland的Linux发行版 Fedora 25将Wyland作为它兼容机上的默认显示协议。为什么选择Wayland?Fedora开发者Matthias Clasen表示它能够实现客户端间彼此隔离、更适合现代显示系统(不包含不必要的核心字体或核心渲染等‘累赘’)且能够实现原有X系统无法实现的多种功能(例如输入转换以及在合并桌面与全屏客户端之间进行顺畅过渡...阅读全文

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

不要光想着价格 QLC 与 TLC 闪存有什么不同

普通人来说,也没有那么可怕。一般人平均每天的写入量很少能超过10GB,那么我们就假设是10GB,120GB QLC SSD,写入寿命达到120 TB。假设写入放大系数则假定为3,甚至5,那么三年之内,很难写坏它。且QLC闪存拥有高容量,也意味着其在QLC驱动器中可通过超额配置以延长产品本身的有效寿命。 目前TLC SSD在质保期普遍达到3年,有的质保期甚至达到5年。那么QLC 寿命问题又有什么好担心? 2、稳定性 QLC闪存是存储4位电荷,有16种状态,而TLC存储3位电荷,有8种状态 。这意味着QLC闪存单位存储密度更大,是TLC的2倍,单颗芯片可达到256GB甚至512GB。但是,也因如此,QLC闪存的电压更难控制,干扰更复杂,而这些问题都会影响QLC闪存的性能、可靠性及稳定性。不过...阅读全文

博文 2017-08-01 09:52:54 debian.cn

域名与商标: 如何防止域名被仲裁

。因为收购是域名投资市场正常的交易行为,在这里,重点要说说域名仲裁的那点事。 关天域名仲裁的事儿,最近发生的也不少,有点名气的如淘宝仲裁"HAITAO"双拼,以失败告终。那么,仲裁的根源是什么?什么样的行为又会构成仲裁呢? 域名仲裁的依据,一般认为是根据《保护工业产权巴黎公约》第六条之2和《知识产权协议》第16条第3项都规定,禁止复制、仿造或翻译他人的驰名商标用于任何商品或服务。网络作为现实的延伸,国际公约中对驰名商标的保护,同样也延伸到网络世界中,而域名作为网络上一种唯一的、排它性的标志,自然是首当其冲。但是,由于域名注册的自由,开放,先得原则,与商标的保护,又存在着一定的冲突和约束,因此,ICANN就针对域名争端制定了《域名争端统一解决政策》。 在这两种原则相冲突的情况下,仲裁机构如何对与...阅读全文

博文 2019-01-18 14:59:59 debian.cn

HAProxy用法详解 最详细中文文档

一、HAProxy简介 (1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 (2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User...阅读全文

博文 2014-05-10 17:14:46 debian.cn

总结系统设计中的33个黄金法则

Refer to https://www.linkedin.com/pulse/system-design-rules-navneet-kumar-p6n7f/ 系统设计很复杂,它需要设计者有深厚的计算机知识和专业知识,没有一种通用的设计可以适应所有业务场景。尽管如此,还是有一些比较通用的规则可以供你设计系统时参考,也能帮助你在面试中摆脱困境。 1. 对于数据密集型系统 — 考虑使用缓存。 2. 对于写入量大的系统 — 使用消息队列进行异步处理 3. 对于低延迟要求 — 考虑使用缓存和 CDN。 4. 需要𝐀原子性、𝐂一致性、𝐈隔离性、𝐃耐用性兼容数据库 — 选择 RDBMS/SQL 数据库。 5. 对于非结构化数据——可以选择NoSQL...阅读全文

Netty+Nacos+Disruptor自研企业级API网关

程: 1. 搭建环境 首先,我们需要安装Node.js和NestJS CLI,并创建一个NestJS项目。然后,我们需要安装TypeScript、GraphQL、TypeORM和其他依赖库。 2. 设计数据模型和API 在设计数据模型和API时,我们需要定义GraphQL Schema和TypeORM实体类。为了提高可维护性,我们可以使用代码生成工具进行自动化生成。 3. 实现后端功能 在实现后端功能时,我们需要编写NestJS控制器和服务,并调用TypeORM进行数据库操作。同时,我们需要集成GraphQL,并编写Resolver进行数据查询和操作。 4. 实现前端功能 在实现前端功能时,我们需要编写React组件,并使用Apollo Client调用GraphQL API。同时,我们需要...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

系统解析JDK源码,领略大牛设计思想,JAVA面试必备

境 首先,我们需要安装Node.js和Vue CLI,并创建一个Vue3项目。然后,我们需要安装Element Plus、Axios和ECharts等依赖库。 2. 设计页面 在设计页面时,我们需要遵循一些基本原则,包括界面简洁明了、布局合理、交互友好等。我们可以使用Element Plus提供的UI组件来构建页面,以及使用ECharts展示数据统计报表。 3. 实现功能 在实现功能时,我们需要编写Vue组件,并调用Axios发送HTTP请求。同时,我们需要使用Vue Router进行路由管理,并使用Vuex进行状态管理。 4. 测试和优化 在完成开发之后,我们需要对应用程序进行测试,确保所有功能都能正常工作。如果有问题或性能瓶颈,我们需要对代码进行优化。 总结 通过这个示例,我们学习了如何...阅读全文

博文 2023-05-27 12:50:27 bianchengyuan123

当 Atom 遇见 VSCode:微软将对 GitHub 做的 6 件事

生态 微软 CEO Nadella 谈到了微软在过去几年中如何成为 GitHub 上最活跃的组织,提交了超过 200 万次的项目 commits 和 updates ,并表示微软正在全身心地投入开源。 至于 GitHub 将如何发展成为一家微软公司,Nadella 主要关注三大策略:在开发周期的各个阶段为开发者赋能,加速 GitHub 用于企业开发,并利用该平台让更多用户使用微软的开发工具和服务。 2、保持 GitHub 的开放性 GitHub 创始人 Chris Wanstrath 表示,无论使用的是哪种编程语言、平台、操作系统或编码设备,GitHub 都会是面向所有开发者的开放平台。像之前的 LinkedIn 和 Minecraft 一样,Nadella 时期的微软会让被收购的公司保持其...阅读全文

博文 2018-06-06 11:08:17 debian.cn

Debian 8 (Jessie)下面如何安装卸载docker

自动启动。可以是用以下命令,确认docker运行是否正常, $ sudo docker run --rm hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The...阅读全文

博文 2021-01-28 17:50:17 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的变化

历数2017年五大Linux痛点

Linux操作系统为许许多多用户安装和使用,难免会遇到一些问题。正如2016年我们总结过5大Linux故障排除技巧一样,在即将过去的2017年里,我们依然搜集了用户在使用Linux系统时发现的问题,在此总结综述为"2017年五大Linux痛点",直指用户使用的关键点,希望能对您有所帮助。 1.文档 文档的问题是你今年最大的痛点吗?开源的方式产生了大量优秀的代码,文档的质量也因此上升了一个台阶。随着越来越多的非技术用户采用Linux和开源软件,文件的质量和数量将变得至关重要。如果您想为开源项目做贡献,但又不觉得自己有足够的技术来提供代码,那么改进文档是一个很好的参与方式。许多项目甚至将文档保存在它们的存储库中。因此你可以通过自己的贡献去改进工作的效率。 2.软件/版本不兼容 软件版本不兼容的...阅读全文

博文 2017-11-25 12:27:56 debian.cn

钉钉发送报警消息的Python实现

] else: return '' access token 在2小时内有效,有效期内重复获取返回相同结果,重复获取会使有效期会自动顺延。corp_id 和corp_secret 是企业的 id 和 secret,在钉钉的管理后台可以找到。另外,上面用到了 urllib2 和 json,需要在脚本中引用。 消息类型 钉钉的消息类型分为:text,image,voice,file,link和OA。下面以发送文本,链接和文件消息为例进行说明。 给用户发送消息 发送文本 def send_text_to_users(access_token, users, text): msg_type, msg = _gen_text_msg(text) return _send_msg_to_users...阅读全文

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

Golang 之禅: 如何写优质代码

。 明确处理错误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫子句将成功路径保持在左侧。 并发权留给调用者 让调用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时候会停止 goroutines 拥有资源、锁、变量与内存等,释放这些资源的可靠方法是停止 goroutine。 避免包级别的状态 要完成明确和...阅读全文

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

故意泼脏水?AMD官方回应Zen安全漏洞

在漏洞,这件事也显得很诡异。 国外权威硬件媒体AnandTech在报道此事的时候,也首先提出了一系列质疑: CTS-Labs只给了AMD 24小时的时间知晓问题所在,而行业标准都是在漏洞发现后,提前联系涉事公司,并且要等90天才会对外公开,以便修复解决,而且初期不会披露漏洞技术细节。 在告知AMD和公开之前,CTS-Labs首先联系了一些媒体,向他们通报情况。 CTS-Labs 2017年才刚刚成立,资质尚浅,这只是他们的第一份公开安全报告,也未公开自己的任何客户。 CTS-Labs并没有自己的官方网站,公布此次漏洞却专门建立了一个名为AMDFlaws.com的网站,还是2月22日刚刚注册的。 从网站布局看,很像是已经提前准备了很久,并未考虑AMD的回应。 CTS-Labs还雇佣了一个公关公...阅读全文

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

Debian Linux下LNMP环境配置

http://packages.dotdeb.org wheezy all 完成之后更新源: apt-get update 接下来就可以开始安装nginx、mysql、php了。 2.MySQL 使用apt工具安装: apt-get install -y mysql-server mysql-client 安装过程中会询问root密码,输入你想设定的密码就可以。安装完成后执行如下配置命令: mysql_secure_installation 按提示往下走就行,过程中会询问是否更改root密码、是否移除匿名用户、是否禁止root远程登录等,自己按需配置即可。 注:我在使用mysql的过程中发现远程客户端无法连接到数据库,后来发现问题是“/etc/mysql/my.cnf”文件中“bind...阅读全文

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

企业制定开源战略的免费指南

大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许可证合规性。” 开源指南 运作一个开源计划办公室涉及到创建策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和创建开源软件的计划与计划所服务的业务目标联系起来。这可以开辟许多机会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文

博文 2018-12-17 13:05:32 debian.cn

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

经过 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 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文

三大亮点带你看 Linux 内核 5.6

原因。 同样,Ubuntu 20.04 LTS 将支持 WireGuard。 2、支持 USB4 Linux 5.6 也将支持 USB4。 如果你不了解 USB 4.0 (USB4),你可以阅读这份文档。根据文档,“USB4 将使 USB 的最大带宽增大一倍并支持多并发数据和显示协议multiple simultaneous data and display protocols。” 另外,虽然我们都知道 USB4 基于 Thunderbolt 接口协议,但它将向后兼容 USB 2.0、USB 3.0 以及 Thunderbolt 3,这将是一个好消息。 3、使用 LZO/LZ4 压缩 F2FS 数据 Linux 5.6 也将支持使用 LZO/LZ4 算法压缩 F2FS 数据。 换句话说,这只...阅读全文

博文 2020-02-07 11:13:09 debian.cn

Kubernetes调度算法浅析

给每个节点和待分配的pod进行打分。1.首先可用的node和pod会被打分函数进行打分,分数在0-10分之间。并且每个打分函数还有一个权重值。那么一个可用的node节点最后的总分就是:Σ函数打分*函数的权重值。 node节点总分 =(函数1的打分 * 函数1权重值)+......+(函数n的打分 * 函数n的权重值) 2.打分函数即优先级函数的种类: 这里只介绍了一部分的优先级函数算法,还有许多算法在这里未解释有兴趣的小伙伴可以上网查一下哦。 小结 kube-scheduler组件将整个集群资源调配变得很科学。比如该如何分配pod的副本到其他的node节点中,或者如何分配pod使得集群运转的更加高效。此外kube-scheduler还支持第三方的调度器进行扩展,所以是一种插件化的实现。...阅读全文

博文 2020-12-20 11:01:10 debian.cn

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

(); map.insert(1, 2); } 有命名冲突时, 引入父模块use std::fmt; use std::io; fn function1() -> fmt::Result { // --snip-- } fn function2() -> io::Result<()> { // --snip-- } 或用as解决命名冲突的问题use std::fmt::Result; use std::io::Result as IoResult; fn function1() -> Result { // --snip-- } fn function2() -> IoResult<()> { // --snip-- } 引入同一个模块module或包package中的多个元素use std::{cmp...阅读全文

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

谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA

正在直播2022开放原子全球开源峰会!>>>>> 谷歌内部使用了许多不同的操作系统平台,其中包括 Linux。15 多年前,谷歌选择基于 Ubuntu LTS 构建内部 Linux 发行版 Goobuntu,主要是看中了 Ubuntu 具备用户友好、易于使用的特性,以及提供了许多优秀功能。此外,LTS 会获得 Canonical 提供 2 年以上的安全更新。 根据官方介绍,Goobuntu 是谷歌长期以来一直使用的 Linux 发行版。不过 Ubuntu LTS 的两年更新周期意味着谷歌必须在操作系统 EOL 之前,对超过 10 万台设备中的每台机器进行升级。这是一项非常困难且耗时的工作,毕竟每两年让所有工程师从头开始配置他们的工作空间,这对生产力是严重的打击,并且从经济角度来看也是一个不...阅读全文

博文 2022-07-31 19:13:41 中文开源技术交流社区

Elastic search 6.0.0 正式发布 大量新特性

Elasticsearch 群集搜索 和以前一样,Elasticsearch 6.0 能够读取在 5.x 中创建的 Indices ,但不能读取在 2.x 中创建的 Indices 。不同的是,现在不必重新索引所有的旧 Indices ,你可以选择将其保留在 5.x 群集中,并使用跨群集搜索同时在 6.x 和 5.x 群集上进行搜索。 迁移助手 Kibana X-Pack 插件提供了一个简单的用户界面,可帮助重新索引旧 Indices ,以及将 Kibana、Security 和 Watcher 索引升级到 6.0 。 群集检查助手 在现有群集上运行一系列检查,以帮助在升级之前更正任何问题。 你还应该查阅弃用日志,以确保您没有使用 6.0 版中已删除的功能。 使用序列号更快地重启和还原 6.0 版本中最大的一个新特...阅读全文

博文 2017-11-15 18:11:10 debian.cn

Linux 上如何禁用 USB 存储设备

block_usb.conf (也可能叫其他名字) , $ sudo vim /etc/modprobe.d/block_usb.conf 然后将下行内容添加进去: install usb-storage /bin/true 最后保存文件并退出。 方法 2:删除 USB 驱动 这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。 执行下面命令可以将驱动从它默认的位置移走: $ sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /home/user 现在在默认的位置上无法再找到驱动程序了,因此当 USB 存储器连接到系统上时也就无法加载到驱动...阅读全文

博文 2017-12-18 22:52:58 debian.cn

五种绕过 Linux 命令别名的方法

下命令暂时绕过名为 mount 的 bash 别名:\mount 方法 2 - 使用引号: "command" 或 'command' 如下引用 mount 命令调用实际的 /bin/mount:"mount" 这里单引号和双引号都可以。 方法 3 - 使用命令的完全路径 使用完整的二进制路径,如 /bin/mount: 方法 4 - 使用内部命令 command 就是在执行的命令前加上 command 命令,样例如下: command cmd command cmd arg1 arg2 要绕过 .bash_aliases 中设置的别名,例如 mount: command mount command mount /dev/sdc /mnt/pendrive/ “command” 直接运行命令...阅读全文

博文 2018-03-08 13:33:02 debian.cn

三大浏览器敦促网站管理员更换 SHA–1 认证

的影响,Mozilla在2016年11月初着手在部分beta用户中开展移除SHA-1的beta测试。Firefox默认使用手动安装的认证。 Edge Mircosoft Edge和Internet Explorer 11浏览器将于2017年2月14日停止加载使用SHA-1认证的网站,同时让用户决定是否忽视无效认证的警告并依然继续访问该网站。同样,手动安装的或自签名的SHA-1认证将不会受到影响。 Safari Safari的提供商Apple也开始逐步停止使用SHA-1和3DES这类被认为是不安全的算法。在最新版本的macOS中已经可以看到,对于SHA-1签名认证的网站,Safari浏览器将不再显示那个原有的绿色挂锁标志。在Sierra的发行说明中也建议应尽快停止使用SHA-1,但是并未给出更...阅读全文

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

提前尝鲜,从 Debian 10 升级到 Debian 11

(PPA)。你可以在升级后逐一启用它们。 关闭所有正在运行的应用。 停止任何你可能已经启用的运行中的服务。升级完成后,你可以通过 systemctl 启动它们。这包括 Web 服务器、SSH 服务器、FTP 服务器或任何其他服务器。 确保你有稳定的互联网连接。 并为你的系统留出足够的停机时间。因为根据你的系统配置,Debian 版本升级需要时间大约在 1.5 小时到 2 小时之间。 将 Debian 10 Buster 升级到 11 Bullseye 确保你的系统是最新的,而且你的软件包列表是最新的。 sudo apt update && sudo apt upgrade 使用下面的命令安装 gcc-8-base 包。这是必须的,因为在历史上曾出现过升级失败的情况,这是因为下面的软件包中包含了某些...阅读全文

博文 2021-08-16 12:16:21 Debian升级

除了HighScalability 还有哪些介绍网站拓扑、架构的站点

HighScalability.com 是一个经典的架构类网站,曾介绍过许多著名的大型网站的架构和扩展性方案。除了它以外,以下这些网站也提供了大量优秀的技术架构、系统设计、拓扑架构的内容,非常值得关注:🌟 一、国外权威技术博客类网站📌 1. InfoQ • 网址:https://www.infoq.com • 特点: • 覆盖分布式架构、微服务、云原生、DevOps、性能扩展、高并发系统等各方面技术架构实践。 • 文章质量非常高,经常分享一线公司(Netflix、Spotify、AWS等)真实案例。📌 2. Netflix Tech Blog • 网址:https://netflixtechblog.com/ • 特点: • Netflix官方技术博客,深入介绍Netflix基础架构...阅读全文

如何在 Debian 上安装 TensorFlow

系统上是否安装了Python 3。在 Debian 10 中,默认已经安装了Python 3.7 的版本。 推荐的创建虚拟环境的方法是使用软件包venv提供的模块python3-venv。 如果你还没有安装 python3-venv ,请输入以命令安装: sudo apt update sudo apt install python3-venv 2、创建虚拟环境 建立一个独立的工作目录, mkdir my_tensorflow cd my_tensorflow 进入目录,使用以下命令创建新的虚拟环境, python3 -m venv venv 上面的命令创建一个名为venv的目录,该目录包含Python二进制文件,Pip程序包管理器,标准Python库和其他支持文件的副本。运行...阅读全文

如何在一个U盘上安装多个Linux发行版

.deb 包并双击安装。 下载 MultiBootUSB 步骤 2 推荐的文件系统是 FAT32,因此在创建多引导 U 盘之前,请确保格式化 U 盘。 步骤 3 下载要安装的 Linux 发行版的 ISO 镜像。 步骤 4 完成这些后,启动 MultiBootUSB。 MultiBootUSB 主屏幕要求你选择 U 盘和你打算放到 U 盘上的 Linux 发行版镜像文件。 MultiBootUSB 支持 Ubuntu、Fedora 和 Debian 发行版的持久化,这意味着对 Linux 发行版的现场版本所做的更改将保存到 USB 上。 你可以通过拖动 MultiBootUSB 选项卡下的滑块来选择持久化(Persistence)大小。持久化为你提供了在运行时将更改保存到 U 盘的选项。 步骤 5...阅读全文

博文 2017-10-18 13:42:20 debian.cn

Debian 环境中安装git服务器 Gogs(上)

update sudo apt upgrade 步骤 2 - 安装和配置 PostgreSQL Gogs 提供 MySQL、PostgreSQL、SQLite 和 TiDB 数据库系统支持。 此步骤中,我们将使用 PostgreSQL 作为 Gogs 程序的数据库。 使用下面的 apt 命令安装 PostgreSQL。 sudo apt install -y postgresql postgresql-client libpq-dev 安装完成之后,启动 PostgreSQL 服务并设置为开机启动。 systemctl start postgresql systemctl enable postgresql 此时 PostgreSQL 数据库在 Debian 系统上完成安装了。 之后,我们需要为...阅读全文

博文 2018-03-10 09:35:31 debian.cn

聊聊很重要的内核技术eBPF

直接集成到应用程序中的高级库。 2:bpftrace bpftrace是Linux eBPF的高级跟踪语言。它的语言受awk和C以及DTrace和SystemTap等以前的跟踪程序的启发。 bpftrace使用LLVM作为后端将脚本编译为eBPF字节码,并利用BCC作为与Linux eBPF子系统以及现有Linux跟踪功能和连接点进行交互的库。 3:Cilium Cilium是一个开源项目,提供基于eBPF的联网,安全性和可观察性。它是从头开始专门设计的,旨在将eBPF的优势带入Kubernetes的世界,并满足容器工作负载的新可伸缩性,安全性和可见性要求。 4:Falco Falco是一种行为活动监视器,旨在检测应用程序中的异常活动。 Falco在eBPF的帮助下审核Linux内核层的系统...阅读全文

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

-binding subjects: - kind: ServiceAccount name: nacos-admin namespace: devops roleRef: kind: ClusterRole name: nacos-admin-clusterrole apiGroup: rbac.authorization.k8s.io 执行部署 Nacos RBAC 资源 -n:指定部署的 Namespace $ kubectl apply -f nacos-rbac.yaml -n mydlqcloud 2、创建数据库配置 ConfigMap 资源 nacos-config.yaml apiVersion: v1 kind: ConfigMap metadata: name: nacos...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

成为Debian社区维护人需要做好的准备

出很多时间和努力。 1. 尽可能多地使用 Debian 完成日常工作。也就是说,成为开发者前,先做一个用户。 2. 阅读 Debian New Maintainer’s Guide 学习 Debian 打包的基本知识(英文版,中文版)。 这些知识能帮助你让不太复杂的软件包工作起来,但是与满足 Debian 标准之间还有相当大的距离。这个过程中可以独立地重新打包一个已经在仓库中的包,完成后和别人现有的工作进行对比,找出自己的不足。这个包一般不需要很复 杂,初学时直接弄复杂的包很可能只会浪费很多精力。做包的过程中遇到任何问题都可以找有经验的人询问清楚,这对提高水平非常有益。 3. 寻找一个感兴趣的软件进行打包,WNPP (Work-needing and Prospective Packages...阅读全文

分布式任务调度平台 XXL

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品开箱即用; 4、新增无框架执行器 Sample 示例项目 “xxl-job-executor-sample-frameless”。不依赖第三方框架,只需 main 方法即可启动运行执行器; 5、命令行任务:原生提供通用命令行任务 Handler(Bean...阅读全文

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

开源社区的运作模式:Debian Vs. Ubuntu

定自己的策略,在遵循开发者成员委员会规定的基本原则下,可以自行增加新成员。 Ubuntu贡献开发人员是一种中间身份,他还没有为成为其他开发者身份做好准备,但表达了成为Ubuntu成员的决心。 所有这些身份都可以通过类似的方法取得:创建一个Wiki页面列举你过去所做出的贡献;从与你一起工作过的现有成员那里收集证明;将你自己添加到下一次委员会会议的议事日程中,并准时参加会议。委员会成员将会查看你的Wiki页面,并根据你在会议(以及平时的开发者邮件列表)上的作答情况,以及其他人对你的意见,审核你是否能通过。 最重要的委员会成员是由社区选举产生的,而其他一般的角色是由社区委员会任命的。这些治理主体包括Canonical员工,但并没有想象的那么多人:开发者成员委员会总共有8人,其中2人是...阅读全文

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

RabbitMQ 高可用实现镜像队列

:publish 到镜像队列的所有消息总是被直接 publish 到 master 和所有的 slave 之上。这样一旦 master 失效了,message 仍然可以继续发送到其他 slave 上。 简单来说,镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升 RMQ 集群的整体高可用性。 先来看下设置镜像队列后的效果: 镜像队列会出现+2标识, 1.如何设置队列为镜像队列 有两种方式,通过命令行或者通过 RMQ 的控制面板。 通过命令行设置镜像队列 rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority] -p Vhost...阅读全文

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

DPDK Graph Pipeline 框架简介与实现原理

++] = node->off; graph->tail = tail & graph->cir_mask; } 复制代码 而API 函数 __rte_node_enqueue_tail_update目的就是调整 tail 把下一个 node 放到 pending stream 里。 下图展示了报文的传递跟 node 是如何被加到 pending stream 的关系。 注意一下 node 添加到 pending stream 的顺序取决于处理报文时的顺序。例如,如果报文 1 和 3 到 node2,而 报文 2 和 4 到 node3,那么 circular buffer/pending stream 中 node1 和 node2 的顺序将被交换。 组件 libgraph 的核心组件是 graph 和...阅读全文

博文 2023-02-09 07:13:55 掘金

如何使用 journalctl 清理 journal 日志

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

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

中国开源人访谈系列之:清风博主

提问者为Linuxstory.org的华华,回答者即为清风博主老师。之前常逛Linux社区的同学,对这个ID应该很熟悉。 A.您与Linux的那些事 1.清风老师能简单的介绍下您自己吗? 答:中学地理老师,Linux爱好者,Gentoo用户,70后 来张几年前上课摆拍的工作照吧 2.您是因为什么喜欢上折腾Linux的呢?遇到最大的困难是什么呢? 答:说来话长。初识Linux是在参加工作近10年之后,之前都没听说过Linux。真正知道Linux,是因为自学了点asp,后来在搜索如何搭建更好的网站环境时,才知道了还有这么一个神奇的系统。2008年,有了笔记本电脑后,才尝试安装,发现这个系统太适合拿来折腾了!从入门级的Ubuntu到Gentoo,桌面环境从gnome2、unity、gnome3...阅读全文

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

如何写好技术文档 — 来自十多年的文档经验总结

本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免费下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下。 首先声明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档)。 ## 文档的重要性 ## 高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错...阅读全文

博文 2021-07-30 16:15:13 joseph