Debian 环境中安装git服务器 Gogs(上)
Gogs 是由 Go 语言编写的,自由开源的 Git 服务。Gogs 是一款无痛式自托管的 Git 服务器,能在尽可能小的硬件资源开销上搭建并运行您的私有 Git 服务器。Gogs 的网页界面和 GitHub 十分相近,且提供 MySQL、PostgreSQL 和 SQLite 数据库支持。 在本教程中,我们将使用 Gogs 在 Debian Stretch 上按步骤指导您安装和配置您的私有 Git 服务器。这篇教程中涵盖了如何在 Debian 上安装 Go 语言、PostgreSQL 和安装并且配置 Nginx 网页服务器作为 Go 应用的反向代理的细节内容。 步骤 1 - 更新和升级系统 继续之前,更新 Debian 所有的库,升级所有包。 运行下面的 apt 命令: sudo apt...阅读全文
Google Chrome 在浏览器市场表现优异 继续拉开对手
Firefox是保有9.62%市场的亚军,而不再接收新功能只有安全更新的Internet Explorer降至8.29%。 随着本月发布的2018年10月更新,微软将向Edge提供一系列新的更新。但是,操作系统功能更新很少在Windows 10的市场份额方面产生大幅提升,因此,Microsoft Edge不太可能从此版本中受益。 微软正持续改进移动版Microsoft Edge,但仅限于Android和iOS,这一浏览器也提供给Windows 10移动用户,但鉴于平台的当前状态,继续开发的可能性也较低。...阅读全文
Debian 终于完全删除了 Python 2 相关的软件包
Debian 花费三年多才彻底完成这项工作。延伸阅读Ubuntu 20.04 LTS 移除 Python 2 的工作仍在继续,并为衍生版提供缓冲方案Python 2 结束支持,Ubuntu 20.04 LTS 继续进行将其移除的工作...阅读全文
kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理
认证凭证与本地的状态匹配。 如果认证失败,则请求失败并返回相应的错误信息;如果验证成功,则将请求中的 Authorization 请求头删除,并将用户信息添加到其上下文中。这给后续的授权和准入控制器提供了访问之前建立的用户身份的能力。 授权 OK,现在请求已经发送,并且 kube-apiserver 已经成功验证我们是谁,终于解脱了! 然而事情并没有结束,虽然我们已经证明了我们是合法的,但我们有权执行此操作吗?毕竟身份和权限不是一回事。为了进行后续的操作,kube-apiserver 还要对用户进行授权。 kube-apiserver 处理授权的方式与处理身份验证的方式相似:通过 kube-apiserver 的启动参数 --authorization_mode 参数设置。它将组合一系列授权...阅读全文
如何在一个U盘上安装多个Linux发行版
单击“安装发行版”选项并继续安装。在显示成功的安装消息之前,需要一些时间才能完成。 你现在可以在已安装部分中看到发行版了。对于另外的操作系统,重复该过程。这是我安装 Ubuntu 16.10 和 Fedora 24 后的样子。 MultiBootSystem with Ubuntu and Fedora 步骤 6 下次通过 USB 启动时,我可以选择任何一个发行版。 Boot Menu 只要你的 U 盘允许,你可以添加任意数量的发行版。要删除发行版,请从列表中选择它,然后单击卸载发行版。 最后的话 MultiBootUSB 真的很便于在 U 盘上安装多个 Linux 发行版。只需点击几下,我就有两个我最喜欢的操作系统的工作盘了,我可以在任何系统上启动它们。 如果你在安装或使用...阅读全文
当 Atom 遇见 VSCode:微软将对 GitHub 做的 6 件事
在微软宣布以 75 亿美元的价格收购 GitHub 后,这个在全球拥有超过 2800 万开发者的代码托管平台即将在微软庞大的云计算框架下进行独立运作。 微软 CEO Satya Nadella,CFO Amy Hood ,GitHub 联合创始人兼现任 CEO Chris Wanstrath ,以及即将上任的 GitHub CEO(也是 Xamarin 创始人)Nat Friedman 昨天在短暂的媒体电话会议中分享了有关此次收购和微软对 GitHub 的后续规划的更多细节。 微软在扩展 GitHub 的覆盖面,以及将平台融入微软生态上有着宏伟的规划,但所有的计划会基于以下两点原则:GitHub 将保持自主性独立运营,GitHub 向所有开发者开放。 1、三大策略将 GitHub 融入微软...阅读全文
Golang 如何去除HTML标签?
[\\S\\s]+?\\") src = re.ReplaceAllString(src, "") //去除所有尖括号内的HTML代码,并换成换行符 re, _ = regexp.Compile("\\<[\\S\\s]+?\\>") src = re.ReplaceAllString(src, "\n") //去除连续的换行符 re, _ = regexp.Compile("\\s{2,}") src = re.ReplaceAllString(src, "\n") return strings.TrimSpace(src) } ``` 转自 https...阅读全文
基于thanos搭建分布式prometheus
sidecar和prometheus则走原生HTTP接口拿数据。 为了高可用,我们可以部署多个prometheus同时抓取。 为了打散采集/存储压力,我们可以部署多个prometheus各自抓取部分数据。 无论出于上述哪种目标或者混合目标,最终依靠Querier的正确配置都可以提供统一的Promql查询入口给Grafana,这一点是毋庸置疑的。 这里看到了图中有几个陌生的组件: Store Bucket Compactor Prometheus单机存储空间有限,SideCar和Prometheus在同POD内共享数据volume,然后sidecar可以自动将prometheus磁盘数据上传到Bucket里归档存储;后续Querier可以通过Store组件从Bucket拉取到历史数据,这样就实现了历史数据...阅读全文
Pyinotify – Linux中实时监控文件系统更改
Pyinotify 是一个简单而实用的 Python 模块,它用于通过 inotify 实时监控Linux文件系统的更改。用于在Linux中实时监控文件系统的变化。 作为系统管理员,您可以使用它来监视目标感兴趣的更改,如Web目录或应用程序数据存储目录及其他目录。这取决于inotify (包含在 2.6.13及后续Linux内核中的功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间。 pyinotiy的目的是绑定三个系统调用,并支持其上的实现,提供了一个共同和抽象的手段来操纵这些功能。 在本文中,我们将向您展示如何在Linux中安装和使用pyinotify来实时监控文件系统更改或修改。 依赖关系 为了使用pyinotify ,您的系统必须运行: Linux内...阅读全文
悼念声明 缅怀创始人 Ian Murdock
美国时间 2015 年 12 月 28 日晚,著名 Linux 发行版 Debian GNU/Linux 的创始人 Ian Murdock 被发现在旧金山的家中离世,目前触发死亡的原因未知,全世界开源社区都陷入了巨大的悲痛之中。30日,Debian 社区正式发表了悼念声明,全文翻译如下: 我们怀着沉重地心情哀悼刚刚离我们而去的 Ian Murdock,开源软件的坚定支持者,父亲,儿子,和 Debian 中的 "ian"。 Ian 从 1993 年8 月开始启动 Debian 项目,并在同一年的稍晚时间正式发布了它的第一个版本,Debian 还会一直坚定不移地继续努力,成为流行世界、亿万人受惠的通用操作系统,不管是嵌入式设备还是太空站,都能看到它的身影。 Ian 一直非常关注在创建一个发行版...阅读全文
Go 1.10 发布说明草案:预计于 2018 年 2 月发布
Go 1.10 还没发布,下面将简单介绍正在进行中的 Go 1.10 发布说明草案。Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。 Go 1.10 大部分的变更仍然集中在工具链、运行时和库的实现上。一如既往地,此版本依然会 保持与 Go 1.x 的兼容性 ,官方表示几乎所有的 Go 应用程序都能像以前一样继续编译和运行。 语言特性方面的改变 语言特性方面没有实质性的变化。 极端情况下,由无类型常量引起的变化已经弄清楚。因此,编译器也已进行升级,它可允许这样的索引表达式 x[1.0 << s] 通过编译,其中 s 是一个无类型常量。go/types 包也已完善。 方法表达式的语法 (grammar...阅读全文
SourceForge 大改版:全新的 Logo 和界面
近日,我们发现曾是全球最大开源软件开发平台和仓库的 SourceForge 对其界面进行了全新的改版。话不多说,上改版后的效果图: 可以看到,本次的改版力度还是相当大的,新版的界面显得更现代化和扁平化,配色较旧版本的沉稳和低调,显得更年轻更张扬,而且主色调也由之前的灰色变成了现在的橙色。此外,我们还发现 SourceForge 的 Logo 也改变了。 SourceForge 也对本次的改版进行了一些总结。我们都知道它已在 2016 年被收购,新的 SourceForge 团队一直在努力改进每个方面,最值得关注的的莫过于从项目中删除了捆绑的推广软件和对广告的处理,想当年这可是导致它很长一段时间内“恶名昭著”。 下面继续介绍官方的总结: 从项目中删除了捆绑的广告软件 为...阅读全文
Linux Mint 19.1 “Tessa” 正式发布
Linux Mint 19.1 开发代号“Tessa”终于正式发布了 。新版本仍然基于 Ubuntu 18.04 LTS,并将支持到 2023 年。外观上最大的改进是加入了 Cinnamon 4.0 桌面版,并保留了切换到现代桌面布局或传统的选项。Linux Mint 19.1 的最终发布仅在发布测试版之后两周。 其他一些不错的功能包括可查看主线内核的支持状态,这可以让您知道是否应该使用当前内核或是否应该升级它。此外,新版本还有一个按钮允许您快速删除旧内核,以便您可以清除启动分区中不需要的部分。 Mint 19.1 released 正如您对任何新操作系统的期望一样,Mint 19.1 附带了一系列来自不同摄影师的全新壁纸,可让您精心设置。此外,如果你不喜欢 Mint 上的默认配色方案...阅读全文
DDR5内存最大亮点是啥
内)的等效频率能够去到更高,可以达到DDR5-6400,而在DDR5-4800时,其有效带宽就已经是DDR4-3200的1.87倍了。 最近几年CPU的核心数在显著的增多,不止是服务器端,桌面端在Coffee Lake和Zen、Zen 2的推动下也是有越来越多的核心,核心数是多了,但是内存带宽仍然只有这么点,这使得每个核心在同时间可以吃到的内存带宽在减少,这将给处理器整体的性能带来负面影响,目前在桌面端它表现的还不是非常明显,可能也就是Ryzen 9 3950X这种用着双通道DDR4内存的16核处理器上能够看到。 美光还在计划新的工艺节点,在目前的1z nm节点之后,他们规划了1α、1β和1γ,将继续提升内存的存储密度,这也将是DDR5的一个重要特征。...阅读全文
SonarQube 8.4 发布,分析时间最多可减少 80%
。 更快地分析 C#、C、C++ 和 Objective-C 在此版本中,通过消除分析过程中不必要和多余的工作,加快了针对 C、C++、Objective-C 和 C# 的分析速度。对于 C、C++ 和 Objective-C,测试显示分析时间最多可减少 80%,具体取决于项目使用的外部依赖项的数量,而 C# 分析显示,时间平均缩短了 25%。 热备份,更快的启动 现在可以进行数据库备份而无需关闭 SonarQube,不必担心数据损坏。SonarQube 在问题索引编制完成之前接受并处理分析报告。这意味着,即使在接口完全可用之前,Quality Gate 的状态也将被更新,并发送 webhooks 和拉取请求。同时,一旦索引了每个项目,就可以浏览每个项目。简而言之,当启动在后台进行时,开发生命周...阅读全文
Linux 5.11稳定版今日将发布 多项重大变化
尚未发布的另一款 Radeon RX 6000 系列 GPU,对比当前的 Radeon RX 6800/6900「Sienna Cichlid」硬件,性能有所提高。 - 通过 Schedutil 获得更好的 AMD 性能,在本周修复了频率不变性性能回归之后,不仅回归问题得到了解决,而且对于许多工作负载来说,现在的情况比在 Linux 5.10 或更早版本上要好。 - 适用于 NVIDIA GA100 / GeForce RTX 3000 系列的 Nouveau KMS。这只是内核模式设置/显示支持,没有3D加速。因此,至少显示器能够亮起来,以使用户可以继续访问 NVIDIA 网站以安装专有驱动程序,直到开源 Nouveau 驱动程序在更高版本的内核中完全支持 Ampere。 - 新的 ARM...阅读全文
Linux kernel 4.0全新发布!引入热升级
对于所有开源爱好者来说,今天是个大喜的日子,Linus Torvalds很高兴地宣布了Linux Kernel 4.0全新内核。 从版本上就可以看出Linux 4.0的变化之大,事实上也的确如此,尤其是打补丁后不需要重启了。 Linux新的补丁更新机制叫做“live patching”(实时补丁),可以对系统内核进行更新而不用重启。该功能由SUSE Enterprise Linux kGraft、Red Hat Kpatch合并升级而来。 普通用户对这个可能没啥感觉,但如果你是企业的网管,就会对打补丁再重启深恶痛绝了,那可意味着整套系统的下线。Windows要是啥时候也能会这招就好了,那意味着你的系统甚至可以连续运行几年乃至十几年! 新系统还更新了大量驱动,包括Radeon DRM驱动支持...阅读全文
下一代时间同步服务 Chrony 详解
,也可以在一台不同的远程计算机上工作。 Chrony 和 NTPD 精度对比测试 我们可以从 Chrony 的官方网站上可以看到与 NTPD 各维度详细对比: 从其测试结果上看似乎是各维度性能都可以吊打 NTPD。因此 Chrony 的整体评价还是比较高的。 Chrony 相较于 NTPD 服务的优势 更快的同步只需要数分钟而非数小时时间,从而最大程度的减少时间和频率误差,这对于并非全天运行的台式计算机或系统而言非常有用。能够更好的响应时间频率的快速变化,这对于具备不稳定时钟的虚拟机或导致时钟频率反复变化的节能技术而言非常有用。在初始同步后,它并不会停止时钟,以防对需要系统时间保持单调的程序造成影响。在应对临时非对称延迟时,(例如:大规模下载造成连接饱和时)提供了更好的稳定性。无需对服务器进行...阅读全文
案例:Redis命令不当 引起数据库雪崩 造成数百万损失
,CPU持续上升到99% 5分钟内,大量应用报警,并且拒绝服务,RDS的监控显示出现大量慢SQL,联系服务器数据库提供商进行协助 8分钟内,进行数据库主备切换(业务会受损,但是也没办法,没有定位到问题) 9分钟内,部分业务恢复,但是一些业务订单的回调消息堆积超过20w,备库的CPU使用率也持续上升 15分钟内,备库CPU使用率超过97%,业务再次中断,进行切回主库,并进行限流 20分钟内,关闭一些次要应用的流量入口 25分钟内,主库CPU使用率恢复正常 30分钟内,逐步开启关闭的限流应用 35分钟内,所有应用恢复正常 接下来就是与服务器数据库提供商成立应急小组紧急优化可能出现的慢SQL,虽然说可能解决了一些慢SQL,但此次并没有定位到具体的问题,也就为几天后再次发生宕机事件埋下了伏笔 事故影响 某...阅读全文
三位候选人正进行 2022 Debian 项目负责人选举
mdadm, gocryptfs,wolfssl和其他一些较小的 Debian 包Debian 议程担任领导者后,将孜孜不倦地努力减少 Debian 项目中的冲突。对外界将尽一切努力帮助世界各地的用户和专业社区重新爱上 Debian。让 Debian 成为所有编程生态系统的首要开发平台。推进项目的各种长期挑战,例如补充老龄化成员和处理特定语言包管理器的激增(也称为“供应商”问题)。Jonathan Carter又名 highvoltage,Debian 帐户名为 jcc,2020、2021 两年连续担任 DPL (Debian 项目领导人)。Debian 议程考虑正式注册 Debian 组织,包括成立基金会等工作。(该项同时也是 2021 年竞选的议程)改进会计工作、梳理 Debian 资产。(该...阅读全文
2021勒索软件报告:平均支付赎金增长171% 黑客最高要价3000万美元
知道他们可以通过勒索软件赚钱,并且在索要赎金方面变得越发大胆。常见的勒索软件攻击包括勒索软件运营商对数据进行加密,并强迫受害者支付赎金以解锁数据。在双重勒索中,勒索软件运营商会加密并窃取数据,进一步胁迫受害者支付赎金。如果不支付,勒索软件运营商就会将数据公布到泄漏网站或暗网,大部分数据泄漏网站都托管在暗网,而这些托管站点由勒索软件运营商创建和管理。在新冠疫情下,医疗行业成今年勒索软件最大目标。不法之徒得知医疗机构需要继续营运以治疗新冠患者,无法承担系统被锁定的后果,继而通过勒索软件进行攻击。勒索软件Ryuk在众多勒索软件中尤其猖獗。利用这种手段最多的勒索软件是NetWalker。从2020年1月到2021年1月,NetWalker泄漏了全球113家受害企业的数据(见下图),远远超过了其他勒索...阅读全文
三大亮点带你看 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 数据。 换句话说,这只...阅读全文
Gitlab CI 配置文件 .gitlab
types 已废除,将会在10.0中移除。用stages替代。 与stages同义 variables GitLab Runner V0.5.0. 开始引入 GItLab CI 允许在.gitlab-ci.yml文件中添加变量,并在job环境中起作用。因为这些配置是存储在git仓库中,所以最好是存储项目的非敏感配置,例如: variables: DATABASE_URL:"postgres://postgres@postgres/my_database" 这些变量可以被后续的命令和脚本使用。服务容器也可以使用YAML中定义的变量,因此我们可以很好的调控服务容器。变量也可以定义成job level。 除了用户自定义的变量外,Runner也可以定义它自己的变量...阅读全文
百度开源项目 ECharts 首进 Apache 孵化器
近日全球著名开源社区 Apache 基金会,宣布“百度开源的 ECharts 项目全票通过进入 Apache 孵化器”。这是百度第一个进入国际顶级开源社区的项目,也标志着百度开源正式进入开源发展的快车道。 ECharts 成为 Apache 孵化器项目之前,已经是国内可视化生态领域的领军者,近年内连续被开源中国评选为“年度最受欢迎的中国开源软件”,并广泛被各行业企业以及事业单位、科研院所应用。涉及行业包含金融、教育、医疗、物流、气候监测等众多领域,其中甚至包括阿里巴巴、腾讯、华为、联想、小米、国家电网、中国石化等。 ECharts 负责人祖明介绍到:“ ECharts 作为拥有丰富的可视化图表类型和深度交互能力的开源可视化库,配置便捷容易上手,同时上千的配置项和不同层面的扩展机制带来了灵活...阅读全文
全民HTTPS时代:盘点免费SSL证书那些事儿
证书,也就是 wildcard certificates。这对于广大个人站长来说,无疑是个不错的利好消息。唯一的缺憾就是,Let’s Encrypt 发行的证书有效期只有 3 个月,虽然可以通过定时任务来自动续期。 如何申请?可以通过安装 LAMP 后,使用 lamp add 命令来自动创建 SSL 证书。也可以通过以下在线申请网站,手动申请证书。 在线申请网址1(中文):https://freessl.org/ 在线申请网址2(英文):https://www.sslforfree.com/ 在线申请网址3(英文):https://gethttpsforfree.com/ 二、TrustAsia 官方网站:https://www.trustasia.com/ 点评:TrustAsia 是国内...阅读全文
Go 语言的大版本更新:Go 2.0 安排上了
任何类型的向后兼容的“增量”语言特性变更,因为他们认为无论变更多么小,都要有更全面的支持计划,并将 Go 2 考虑在内。 对于这些累积下来的提案,官方表示现在是时候采取行动了! 近况 本文发布时,官方表示目前在 Go 2 的提案中,大约有 120 个尚未解决且被标记为提案的 issue。这些提案都涉及到重要的库或语言特性变更,而它们通常不能与 Go 1 互相兼容。Ian Lance Taylor 和 Robert Griesemer 一直在研究这些提案,并对它们进行了分类(Go2Cleanup, NeedsDecision 等),以理解这些提案背后的含义并使它们后续更易进行。此外,他们还合并了相似的提案,并关闭了那些看似明显超出 Go 范围的提案,或者其他方面无法实现的提案。 早期出现的两个...阅读全文
如何对一个deb包解压、修改、重新打包 全过程
extract目录下dpkg -X ../openssh-xxx.deb extract/#解压出包的控制信息extract/DEBIAN/下:dp... deb解压软件 01-04 用于解压deb文件,后续可以用其它软件将解压后的文件转ipa 获取deb包并进行解压方法 狂客队长 05-26 1万+ 获取deb包: apt-get download 包名 解压deb包: 在这里保证你已经下载好了deb包,并且自己已经在deb包所在的目录了,然后解压缩deb包 ar -x pakname.deb 解压deb完毕后会发现多出几个文件,这里主要用到data.tar.gz等包,这个是放着二进制文件的包,用tar解压这个包 tar -zxf data.tar.gz Ubuntu中deb包详解及打包教程 张懿的博...阅读全文
Synopsys全球首发PCIe 6.0完整方案:用上5nm工艺
几乎零宕机时间。值得一提的是,PHY物理层还使用了先进的5nm工艺,搭配独特的模拟和DSP技术,可将功耗降低20%。Synopsys PCIe 6.0 IP方案中的验证IP现已可用,控制器、PHY物理层计划在今年第三季度提供早期试用。PCIe 6.0标准规范目前还在制定中,计划在今年正式发布,按照传统继续让I/O带宽翻番达到64GT/s,应用到实际中,PCIe 6.0 x1单向实际带宽8GB/s,PCIe 6.0 x16单向带宽128GB/s、双向带宽256GB/s。PCIe 6.0将延续PCIe 3.0时代引入的128b/130b编码方式,但加入全新的脉冲幅度调制PAM4,取代PCIe 5.0 NRZ,可以在单个通道、同样时间内封包更多数据,以及低延迟前向纠错(FEC)和相关机制,以改进带...阅读全文
PostgreSQL 10 有哪些新特性
PostgreSQL 继续向着将在 2017 年 9 月份发布的第 10 个主版本迈进,EnterpriseDB 首席架构师和 PostgreSQL 贡献者 Robert Hass 根据 PostgreSQL官方路线图 编制 了一份 PostgreSQL 10 重要特性列表。 数月之前发布的 PostgreSQL 10 路线图包含多个单独的路线图,每个路线图对应一个特定的公司或个体贡献者。想要概括地了解路线图的内容并不容易。以下是 Hass 选出的一部分特性: 表分区 :这可以视为是表继承的简化版本,在表继承中,父表总是为空,子表(分区)有一个隐式约束,当元组插入父表时,它可以影响元组实际上添加到哪个分区。当使用继承关系推导表的属性时,表分区有望简化这个过程,让特定的优化成为可能。 逻辑复...阅读全文
Debian Live 项目的剧变
尽管围绕 Debian Live 项目发生了很多戏剧性事件,关于 Debian Live 项目结束的公告的影响力甚至小于该项目首次出现时的公告。主要开发者的离开是最显而易见的损失,而社区对他本人及其项目的态度是很令人困惑的,但是这个项目也许还是会以其它的形式继续下去。 所以 Debian 仍然会有更多的工具去创造启动光盘和其他介质。尽管是用这样一种有遗憾的方式,项目创始人 Dabiel Baumann 和 Debian CD 团队以及安装检测团队之间出现的长期争论已经被「解决」了。 在 11 月 9 日, Baumann 发表了题为「 Debian Live 项目的突然结束」的一篇公告。在那篇短文中,他一一列举出了自从这个和他有关的项目被发起以来近 10 年间发生的不同的事件,这些事件可以...阅读全文
深入了解Docker背后的namespace技术
口,这样你的容器将拥有它自己的桥接ip地址,通常是docker0。接下来,我们不再继续讲述如何在namespace安装接口。相关内容将在另一篇文章中讲述。 MNT Namespace mount namespace可以让看到系统中所有挂载点在某个范围下的目录视图。人们经常把它和在chroot中禁锢进程混淆在一起,或者是认为他们是相似的,还有人说容器使用mount namespac来把进程禁锢在它的根文件系统中,这都是不对的! 让我们再来拷贝一份skeleton.c用来做挂载相关的修改。可以快速的构建和运行, 从而看下执行mount命令后我们当前的挂载点的样子。 > cp skeleton.c mount.c > gcc -o mount mount.c > ./mount mount...阅读全文
Ubuntu 17.04(Zesty Zapus)正式版发布
本开始,不再支持 32 位 PowerPC(PPC)架构,以后的发行版也不再会支持。但是 PPC64el(PowerPC 64 位 Little Endian)会持续支持。现在,已经可以从我们网站上下载 Ubuntu 17.04的 64 位(amd64)和 32 位 ISO(i386)镜像。 其他的 Ubuntu 风味版本也在今天开始发行,包括 Ubuntu GNOME 17.04、Ubuntu MATE 17.04、Kubuntu 17.04、Xubuntu 17.04、Lubuntu 17.04、Ubuntu Kylin 17.04、Ubuntu Studio 17.04 以及 Ubuntu Budgie 17.04,这也是 Budgie 桌面作为官方的 Ubuntu 风味版本的首次亮相...阅读全文
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 自己...阅读全文
Linux Kernel 5.10本周末发布 十个功能盘点
Linux Kernel 5.10 有望在本周末发布,外媒 Phoronix 盘点了 10 个值得关注的改进和新功能。5.10 不仅是 2020 年最后一个内核版本,而且还是长期支持(LTS)版本。 Linux Kernel 5.10 合并窗口期在今年 10 月关闭,当时外媒 Phoronix 就发文概览了主要功能。而在 5.10 即将发布之际,外媒体再次盘点了 10 项比较有趣的功能: 1.AMD Zen 3 温度监控 AMD Zen 3 温度监控现在可以在支持 k10temp 驱动程序和其他持久 Zen 3 扩展的 Linux 上运行,这对操作至关重要。Ryzen 5000 系列在 Linux 5.8-5.9 上运行良好,并且具备所有核心功能。 2.英特尔图形 在英特尔图形方面...阅读全文
谷歌如何为数十万台设备更新内部 Linux 发行版 - OSCHINA
负责任的选项。 在每个操作系统使用周期内,谷歌还面临软件包重大版本升级的挑战,因为这可能需要对软件配置进行重大改变。为了让这个过程自动化,谷歌工程师编写了一个无人值守的升级工具来处理很多常见的问题。这种“自动化升级”意味着大多数谷歌员工无需通过重新安装机器,并重新创建所有配置来手动升级。不过为了实现这一点,谷歌需要对升级过程进行全面测试,并检查所有已更改的主要软件包是否继续运行(在 Ubuntu 中,主要版本之间的升级可能多达数千个软件包)。有时,在发生软件包弃用且工程师必须决定如何推进的情况下,很难提供自动化。 据称,谷歌完成所有 Goobuntu 的升级通常要花费一年的时间,整个过程对于团队来说是一个巨大的压力。而且很多时候他们遇到的一些 bug 已经在上游被修复了,但这些改进却从未被合...阅读全文
Go 泛型的括号选择:[ ] or ( )
( ) 和 [ ] 可供选择。然而缺少修饰的方括号会在数组和 slice 的类型声明中造成歧义,在解析索引表达式时也会引起小程度的歧义。因此在设计之初他们决定使用小括号,因为小括号似乎更符合 Go 语言的风格,而且看起来问题最少。 为了使小括号正常工作,并且为了向后兼容,他们表示不得不在类型参数列表中引入type关键字。最后,他们在参数列表、复合字面量和嵌入类型中发现了额外的解析歧义,而这些歧义需要嵌套更多的小括号来解决。不过即便如此,他们还是决定继续使用小括号,因为当时还有更重要的设计问题需要解决。 现在他们决定重新考虑这个最初的决定。如果仅使用方括号声明类型参数,那么声明数组的方式如下所示: type A [N]E 不过这就无法与泛型的声明进行区分: type A[N] E 但如果能接受额外的...阅读全文
开源软件对于商业机构的6大好处
持周期,以避免更新混乱的出现。 2、有利于产品的长期发展 福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更换供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。 而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个体志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以实现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。 3、更安全 以开源的方式进行开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也...阅读全文
粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件
更早之前,AMD在其EYPC系列CPU中,也用到了"黏合"这一步骤,让芯片设计成本减少一半。自家芯片的“黏合”似乎已经不成问题,那么能否从全球市场上挑选出性能最优的芯片黏合在一起,创造出更强大的芯片?几周前,能够实现芯片互连的"万能胶"出现了,英特尔、AMD、台积电等芯片公司联合成立小芯片互连产业联盟,定制UCIe 1.0(Universal Chiplet Interconnect Express)标准。如果将同一家芯片公司的互连方式(例如英伟达的NVlink)视为只能黏合一种材质且功能单一的胶水,那么UCIe标准的提出则意味着能够实现各种芯片互连的芯片万能胶的雏形初现。芯片万能胶,是否已经有足够的能力替代不断微缩的晶体管,成为摩尔定律的"续命丹"?“胶水”芯片时代的真起点"胶水"芯片发...阅读全文
在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群
://get.k3s.io | sh - 等到命令完成后,一个单节点集群就已经运行起来了。让我们检查一下,在这个派上执行命令后,可以看到以下输出, kmaster$ sudo kubectl get nodes NAME STATUS ROLES AGE VERSION kmaster Ready master 2m13s v1.14.3-k3s.1 部署工作节点 主节点完成安装后,我们开始部署工作节点。在工作节点上安装 K3s 时,会用到 join token 连接令牌,它可以使用如下命令从主节点上获取到。获取到令牌 join token 后,先保存起来,便于后续使用, sudo cat /var/lib/rancher/k3s/server/node-token 我们把两个树莓派工作节点的主机名分别设置为...阅读全文
海盗船发布1.6TB NVMe SSD新品:采用PCIe 3.0 x4接口
海盗船(Corsair)刚刚为 Neutron NX 500 系列固态硬盘驱动器添加了 1.6TB 的新版本,其售价为 1575 美元(约 10389 RMB),折合每 GB 容量 0.98 美元。 在 ATTO 基准测试中,其持续读 / 写性能分别达到了 3000MB/s 和 2800MB/s;换用 CrystalDiskMark 的话,则是 2800MB/s(读取)和 1600MB/s(写入)。随机读 / 写性能上,1.6TB 版本分别可达 300k 和 270k IOPS 。 不过与外媒在今年早些时候评测过的 400GB 版本相比,1.6TB 版本 NX500 NVMe SSD 的性价比反而并不高。如果官方的读写数据是可以相信的,那 1.6TB 版本的售价未免也太高了。 作为对比,三...阅读全文
说透IO多路复用模型_京东云开发者的博客
遍历,O(n)的轮询时间复杂度。 poll模型 考虑到select模型的几个限制,后来进行了改进,这也就是poll模型,既然是select模型的改进版,那么肯定有其亮眼的地方,一起来看看吧。当然,这次我们依旧是先翻阅linux man二类文档,因为这是官方的文档,对其有着最为精准的定义。 int poll(struct pollfd *fds, nfds_t nfds, int timeout); 其实,从运行机制上说来,poll所做的功能和select是基本上一样的,都是等待并检测一组文件描述符就绪,然后在进行后续的IO处理工作。只不过不同的是,select中,采用的是bitmap结构,长度限定在1024位的文件描述符表,而poll模型则采用的是pollfd结构的数组fds,也正是由于...阅读全文
Web前端知识体系精简
,服务器返回该文件; 如果
中引用了外部js文件,则发出js文件请求,服务器返回该文件后开始运行; 渲染引擎继续载入html中的部分的代码,并开始解析前面返回的css文件,然后根据css选择器计算出节点的样式,创建渲染树; 从根节点递归调用,计算每一个元素的大小、位置等,给每个节点所应该出现在屏幕上的精确坐标; 如果body中的引用了图片资源,则立即向服务器发出请求,此时渲染引擎不会等待图片下载完毕,而是继续渲染后面的代码; 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排版,因此引擎需要回过头来重新渲染这部分代码; 如果此时js脚本中运行了style.display="none", 布局被改变,引擎也需要重新渲染这部分代码; 直到为...阅读全文一位五年工作经验架构师的感悟
,生存不易,这些经历同样丰富了我,内心也变得越来越强大。这些年影响我最大的一些思想有: 1、不要给自己设限:不在把自己禁锢在舒适区,不要怕前面有挡着你的人 2、缩小自己的反馈环: 3、不断以小的正能量,不断积累成就感。 4、不要怕做决定:错误的决定,比没有决定好。 渐渐地,我从不说的人,变成了比较能说的人,能说可能还不是会说。会说更考验技巧,情商。 渐渐地,周围的人又说我是段子手。 渐渐地,变成了一个经常黑人的人。哈哈。 不断去思考,总结,提炼做事模式,思考方式,这些方式可以指导你持续成功。 视野,越大,收获越多,站在全局去看问题,这也是一个架构师需要的。 所以,保持开放心态,视野决定格局,格局改变命运。 写在最后 如果大家能看到最后,首先谢谢。 有的人要骂:标题就是唬人的,一点都没有讲技术...阅读全文
协议介绍之深入了解 gRPC
选择。 如果大家对解析 HTTP/1.x 很感兴趣,可以研究下 http-parser,一个非常高效小巧的 C library,见过不少框架都是集成了这个库来处理 HTTP/1.x 的。 Request/Response HTTP/1.x 另一个问题就在于它的交互模式,一个连接每次只能一问一答,也就是client 发送了 request 之后,必须等到 response,才能继续发送下一次请求。 这套机制是非常简单,但会造成网络连接利用率不高。如果需要同时进行大量的交互,client 需要跟 server 建立多条连接,但连接的建立也是有开销的,所以为了性能,通常这些连接都是长连接一直保活的,虽然对于 server 来说同时处理百万连接也没啥太大的挑战,但终归效率不高。 Push 用...阅读全文
Harbor 1.9 发布:新增多项企业级功能
Harbor 1.9 发布了,此版本新功能众多,包括 tag 保留和配额、可与 CI/CD 工具集成的 Webhook 通知、数据复制、Syslog 集成以及 CVE 例外策略等安全功能。 Webhook 如果您是项目管理员,可以通过 Webhook 的通知机制,将 Harbor 的项目与您技术栈的其余部分连接在一起。简言之,如果您配置了 Webhook,Harbor 会就把该项目中发生的某些事件(包括推送、拉取、删除镜像和 Helm Charts、镜像扫描及 CVEanqu 漏洞发现)向 Webhook 端点发出通知。通过这些事件,您可以将 Harbor 与其他系统集成在一起,以简化持续集成和开发过程。理想情况下,获得 Webhook 的端点应具有一个操作侦听器,用于解释 JSON 格式...阅读全文
PostgreSQL 13 正式版发布
索引所需的整体空间使用率,同时提高了整体查询性能。 PostgreSQL 13 引入了增量排序,即在查询中较早步骤的排序数据可以加速后面步骤的排序。此外,PostgreSQL 现在可以使用扩展的统计信息(可通过CREATE STATISTICS访问)来为带有OR子句和IN/ ANY查找列表的查询创建改进的计划。 在 PostgreSQL 13 中,更多类型的聚合查询和分组查询可以利用 PostgreSQL 的高效哈希聚合功能,因为具有大型聚合的查询不必完全放入内存。对分区表的查询也得到了性能提升,因为现在有更多的情况下可以修剪分区和直接联接分区。 优化管理 清理(Vacuuming)是 PostgreSQL 管理的一个重要部分,使数据库在更新和删除行后能够回收存储空间。此过程也会带来管理上的...阅读全文
JDK 11 版本时间表公布
在 JDK 10 发布两天之后,Oracle Java 平台组首席架构师 Mark Reinhold 提出了 JDK 11 GA 发布的时间表: 6 月 28 日:第一阶段开发(从主分支 fork) 7 月 19 日:运行所有测试 7 月 26 日:第二阶段开发 8 月 16 日:初始候选版本 8 月 30 日:最终候选版本 9 月 25 日:正式版 到目前为止,包含在 JDK 11 中的 JEP 有: JEP-309:动态类文件常量 JEP-318:Epsilon:一款低开销的垃圾收集器 JEP-320:移除 Java EE 和 CORBA 模块 JEP-323:Lambda 参数的局部变量语法 JDK 11 的 早期体验版本 在 JDK 10 发布前的一个月就有了。Reinhold 之...阅读全文
最全的 DevOps 工具集合
用程序集成特性。 Teams 是基于聊天的协作工具,可为跨越全球、远程和分散的团队提供在一个公共空间共同工作和共享信息的能力。它有一些很酷的功能,如文档协作、一对一聊天和团队聊天等等。 Google Hangouts Google Hangouts 是谷歌开发的一种通讯软件产品。Hangouts 最初是 Google+ 的功能,后来在 2013 年成为独立产品,当时谷歌也开始将 Google+ Messenger 和 Google Talk 的功能集成到 Hangouts 中。 Hangouts Chat 是一种与组织中的成员交流的有效方法。你可以向一位或多位同事发送消息,创建空间来与多人开始持续会话,并使用机器助手来帮助你自动化操作。Chat 可在你的计算机浏览器以及适用于 Android...阅读全文
Tor 项目联合创始人称 暗网并不真正存在
在拉斯维加斯举行的 DEF CON 会议上,Tor 项目联合创始人 Roger Dingledine 试图纠正有关匿名网络的错误观念。他指出,只有 3% 的 Tor 用户访问 Tor 隐藏服务,绝大部分用户是出于完全合法的目的通过 Tor 访问公共网站。这些网民只是想隐藏身份,他们不是什么黑社会恶棍。 他告诉出席 DEF CON 会议的与会者,暗网并不真正存在,它们只是少许网页罢了。Tor 用户访问最多的网站是 Facebook,有超过一百万人通过 Tor 登录 Facebook。一百万,这只是 Facebook 十亿用户群中的一小部分,但对于像 Tor 这样的项目来说却非常重要。 他还解释了 Tor 浏览器继续使用 Firefox 的原因,称 Chrome 的代理绕过仍然引起担忧...阅读全文