InfraPub 为您找到相关结果 647

历数2017年五大Linux痛点

问题被频繁提及,这不免令人有些惊讶。如果你不运行主流的发行版,这个问题会更严重。也许你在使用中没有更多的体会,但越来越多人在使用AppImage、Flatpak或者Snaps,这让我们意识到问题的存在,笔者很想更多地了解软件不兼容的问题,如果你最近遇到了,请在评论中告诉我们。 3.UEFI和安全引导 UEFI(UnifiedExtensibleFirmwareInterface)全称"统一的可扩展固件接口",是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。尽管随着署更多支持的硬件,UEFI和安全引导问题仍在改善,许多用户表示,他们仍然存在与UEFI安全启动相关的问题。使用一个完全支持UEFI安全启动开箱分配是最好的解决之道。 4.32位操作系...阅读全文

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

Linux Kernel 5.0将于2018年夏季发布

Linus Torvalds揭示了为什么在2018年夏天将会有一个Linux Kernel 5的理由。他还讨论了对新的Linux Kernel维护者的需求。 在最近结束的布拉格开源峰会上,Linux创始人Linus Torvalds与VMware副总裁进行了座谈,并讨论了Linux内核的相关问题。 Linux内核需要新的维护者 Linux内核已经有26岁,内核维护者比26岁还要老。这就产生了一个问题,因为虽然内核开发有很多年轻的贡献者,但是内核维护者(负责审核向内核提交代码的人)是40多岁的人, 甚至50多岁了。分问题是维护内核的复杂性。 但是Torvalds认为,内核维护者的主要原因是“老”,因为他们需要从疯狂的邮件流入中了解补丁。这需要良好的经验。 第二个原因是内核维护者应该足够长的...阅读全文

博文 2017-12-11 22:27:31 debian.cn

Debian 9 Stretch 安装配置 Caddy Server

网站目录。 接着,重新加载 systemd daemon,让配置生效。 sudo systemctl daemon-reload 让 Caddy 开机自启: sudo systemctl enable caddy.service 至此,Caddy 已经成功注册服务,并能够开机自动运行了。 配置Caddy 这分的内容我不打算详细记录,主要是官方文档已经写的很详细了。下面是我的配置, example.com { proxy / 127.0.0.1:9001 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote...阅读全文

博文 2017-12-24 10:18:33 debian.cn

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

80; server_name git.hakase-labs.co; location / { proxy_pass http://localhost:3000; } } 保存退出。 注意: 请使用您的域名修改 server_name 项。 现在激活虚拟主机并且测试 nginx 配置。 ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/ nginx -t 确保没有遇到错误,重启 Nginx 服务器。 systemctl restart nginx 步骤 8 - 测试 打开您的网页浏览器并且输入您的 Gogs URL,我的是 http://git.hakase-labs.co 现在您将进入安装界面。在页面的顶,输入您...阅读全文

博文 2018-03-10 09:52:28 debian.cn

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

我司使用钉钉作为主要的内通讯工具,基本上大家在电脑和手机上都开着,消息可以第一时间查看,报警消息的即时性要求比较高,我们计划使用钉钉来发送报警通知。本文将简要介绍发送消息的API使用样例。钉钉的API接口文档,请查阅钉钉开放平台。 介绍如何用 Python 实现钉钉自动发送消息,你可以用来和报警平台整合,或者做ChatOps。 获取 access token 要使用钉钉发送消息,首先需要获取access token,代码如下: def get_access_token(): url = 'https://oapi.dingtalk.com/gettoken?corpid=%s&corpsecret=%s' % (corp_id, corp_secret) request...阅读全文

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

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

个 SATA 就要迷糊了。其实上面的 SATA 更多是指插槽,而这里的 SATA 是指数据走的通道,目前的新设备普遍都是 SATA3 接口了,但是 SATA3 是向下兼容 SATA2 跟 SATA1 的(所以下文我们只讨论SATA3)。 PCI-E 跟 SATA3 简单说就是数据走的“路”。PCI-E 就像是特别宽大的路,数据可以走的特别快,而 SATA3 与之相比更像是一条崎岖的小路,数据走的特别慢。但是CPU内就那么大一点,修不了特别多的大路,所以PCI-E通道也就仅有那么几条。 通常 SATA 的插槽只能走 SATA3 的通道。而 M.2 的插槽上文我们说了分为 Socket 2 跟 Socket 3。M.2(Socket 2)的固态可以走 SATA3 或者 PCI-E 3.0×2...阅读全文

博文 2019-01-23 13:28:23 debian.cn

Golang 之禅: 如何写优质代码

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

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

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

在 Elasticsearch 5.0.0 发布之后,Elasticsearch 在 333 个 commite、2236 个合并请求下,发布了基于 Lucene 7.0.1 的 Elasticsearch 6.0.0 正式版。 Elasticsearch 6.0.0 下载地址 Elasticsearch 6.0 重大改变 Elasticsearch 6.0.0 发行说明 Elasticsearch X-Pack 6.0 重大改变 Elasticsearch X-Pack 6.0.0 发行说明 Elasticsearch 6.0.0 分亮点如下: 无宕机升级: 使之能够从 5 的最后一个版本滚动升级到 6 的最后一个版本,不需要集群的完整重启。无宕机在线升级,无缝滚动升级。 跨多个...阅读全文

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

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启容器,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或者尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方式来重启 pod。 这里我总结了几种重启 Pod 的方式,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方式:Deployment方式下重启Pod 大多数生产环境,使用的是 Deployment 方式署应用。这种场景下,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

博文 2020-07-13 21:23:30 debian.cn

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

本指南解释了从 Debian 10 升级到 Debian 11 的步骤。 Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。 代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结状态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就可以从 Debian 10 安装或升级到 Debian 11。 以下是方法。 前提条件 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。特别是如果你正在升级一台服务器。 对你的系统进行备份,包括所有重要的数据和文件。 尝试禁用/删除你可能在一段时间内添加的任何外仓库...阅读全文

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

系统分析工具 Sysdig 详解

=80 and evt.buffer contains GET查看机器所有的SQL select查询:sudo sysdig -s 2000 -A -c echo_fds evt.buffer contains SELECT查看本地Apache对外MySQL的实时查询:sysdig -s 2000 -A -c echo_fds fd.sip=192.168.30.5 and proc.name=apache2 and evt.buffer contains SELECT 硬盘 I/O 查看使用硬盘带宽最多的进程:sysdig -c topprocs_file列出使用大量文件描述符的进程:sysdig -c fdcount_by proc.name "fd.type=file"查看读写字节数最频...阅读全文

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

轻量级发行版 Alpine Linux 介绍

real 0m5.315s user 0m0.028s sys 0m0.019s 迁移至 Alpine 基础镜像 目前大分 Docker 官方镜像都已经支持 Alpine 作为基础镜像,可以很容易进行迁移。例如: ubuntu/debian -> alpine python:2.7 -> python:2.7-alpine ruby:2.3 -> ruby:2.3-alpine 另外,如果使用 Alpine 镜像替换 Ubuntu 基础镜像,安装软件包时需要用 apk 包管理器替换 apt 工具,如, $ apk add --no-cache Alpine 中软件安装包的名字可能会与其他发行版有所不同,可以官方网站上搜索并确定安装包名称。如果需要的安装包不在主索引内,但是在测试或社区索引中。那么...阅读全文

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

在 Mac OS X 上安装 Nessus 10

在 macOS 上安装 Nessus 10 macOS安装Nessus一、下载二、 安装三、初始化登录四、 安装插件和创建配置文件五、重启服务编译插件六、验证七、如何更新插件 macOS安装Nessus 修复分破解方法在安装Nessus10重启之后重置授权问题。 一、下载 下载 macOS:https://sysin.org/blog/macOS/ 下载 Nessus:https://sysin.org/blog/nessus-10/ 或者链接:https://pan.baidu.com/s/1DrkX1nbysFgdmbO4657JIg?pwd=9jxl 提取码:9jxl 下载插件: 插件版本202301231642 链接:https://pan.baidu.com/s...阅读全文

提问的智慧(精简版)

用替换一幅图片的色码(color table)成自己选定的色码,我现在知道的唯一方法是编辑每个色码区块(table slot), 但却无法从某绘图程序的颜色选择器取得十六进制的 RGB 值。问题解决后,加个简短的补充说明补充说明不必很长或是很深入。简单的一句 你好,原来是网线出了问题!谢谢大家。 比什么也不说要来的好。事实上,除非结论真的很有技术含量,一句话就够了:说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。对于有深度的问题,张贴调试记录的摘要是有帮助的。但请记住,先描述问题的最终状态,说明是什么解决了问题,在此之后才指明踩坑的地方。在即时聊天软件里问问题为了避免重复答疑,你应该在群里询问常见问题。由于分聊天软件没有话题串的功能(或着实现很差),同时群里还可能有多个同时讨论的...阅读全文

博文 2023-10-07 15:02:42 infras

Scrapy 架构及数据流图简介

Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘、信息处理或存储历史数据等一系列的程序中。本文着重介绍 Scrapy 架构及其组件之间的交互。 Scrapy 组件介绍 Scrapy Engine 引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 详细内容查看下面的数据流(Data Flow)分。 调度器(Scheduler) 调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。 下载器(Downloader) 下载器负责获取页面数据并提供给引擎,而后提供给spider。 Spiders Spider 是 Scrapy用户编写用于分析response并提取item(即获取到的item)或额外跟进的...阅读全文

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

Debian GNU/Linux 诞生 27 周年

心的 Debian GNU/kFreeBSD 系统等。现在大家说 Debian 的时候,默认就是 Debian GNU/Linux。 Debian GNU/Linux 被全球数百万计算机用户使用,并在十多种架构上得到支持,在生活中的方方面面为我们提供服务。从你附近机场的内运作到你的汽车娱乐系统,从托管你喜欢的网站的云服务器到与它们通信的物联网设备,Debian 都是他们背后的支持。 今天,Debian 项目是一个庞大而蓬勃发展的组织,拥有由志愿者组成的无数自组织团队。虽然它通常看起来很混乱,但该项目由两个主要的组织文件维持:Debian 社会契约(Debian Social Contract),用以提供改善社会的愿景,以及 Debian 自由软件指南(Debian Free...阅读全文

博文 2020-08-17 08:32:32 debian.cn

如何在 Debian 上安装 TensorFlow

TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和署由机器学习提供支持的应用。 TensorFlow可以在系统范围内,Python虚拟环境中,作为Docker容器或与Anaconda一起安装。在本教程中,我们将讲解如何在Debian 10的Python虚拟环境中安装TensorFlow。 虚拟环境使你可以在一台计算机上拥有多个不同的隔离Python环境,并在每个项目的基础上安装模块的特定版本,而不必担心会影响其他项目。 以下内容提供了如何在Debian 10上的Python虚拟环境中安装 TensorFlow。 1、安装Python 3 venv 首先我们要验证...阅读全文

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

Debian 25 岁生日快乐!精彩仍在继续

Release"会成为今天知名的 Debian 项目,它是最大和最有影响力的自由软件项目之一。它的主要产品是 Debian GNU/Linux,一个适用于计算机的免费操作系统,更是被用作无数其他发行版的基础。流行的 Linux 发行版 Ubuntu 是基于它的,甚至基于 Ubuntu 的 Linux Mint 也有 Debian 版本,更不用说 Raspbian —— 树莓派的官方操作系统,也是基于 Debian 的。 Debian GNU/Linux 被全球数百万计算机用户使用,并在十多种架构上得到支持,在生活中的方方面面为我们提供服务。从你附近机场的内运作到你的汽车娱乐系统,从托管你喜欢的网站的云服务器到与它们通信的物联网设备,Debian 都是他们背后的支持。 今天,Debian 项目是一个庞大...阅读全文

博文 2018-08-17 00:01:33 debian.cn

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

单击“安装发行版”选项并继续安装。在显示成功的安装消息之前,需要一些时间才能完成。 你现在可以在已安装分中看到发行版了。对于另外的操作系统,重复该过程。这是我安装 Ubuntu 16.10 和 Fedora 24 后的样子。 MultiBootSystem with Ubuntu and Fedora 步骤 6 下次通过 USB 启动时,我可以选择任何一个发行版。 Boot Menu 只要你的 U 盘允许,你可以添加任意数量的发行版。要删除发行版,请从列表中选择它,然后单击卸载发行版。 最后的话 MultiBootUSB 真的很便于在 U 盘上安装多个 Linux 发行版。只需点击几下,我就有两个我最喜欢的操作系统的工作盘了,我可以在任何系统上启动它们。 如果你在安装或使用...阅读全文

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

深入了解Docker背后的namespace技术

,这是系列博客的第一篇,深入探讨Docker对namespace技术的应用。 Namespaces 在第一分,我会在文章中讨论Docker在使用Linux namespace时,如何创建Linux namespace。在之后的博客中我们会讨论namespace如何与其它特性如cgroups和隔离的文件系统相结合,去实现更多有用的功能。 从根本上说,namespace是Linux系统的底层概念,有一些不同类型的命名空间被署在核内。跟踪docker run -it --privileged --net host crosbymichael/make-containers这段代码,我们就可以深入到每个不同的namespace。开始会有一些预加载文件和配置。尽管我们也会在用Docker为我们运行的...阅读全文

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

Linux下多线程程序为什么消耗大量虚拟内存

最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负责跟第三方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内根本没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

博文 2015-01-28 10:35:39 debian.cn

SVN切换分支用法汇总

常;Step 2:检查定时同步是否被禁用;Step 3:查看是否有锁定冲突。3. 非版本库URL地址不能使用svn switch在切换分支时,如果选定的URL地址不在源码的SVN版本控制中,就不能使用svn switch,而是需要使用svn checkout命令来创建一个新的代码副本。这里需要提醒的是,SVN是针对版本控制库来操作的,所有URL地址必须与版本控制库相关联。五、SVN切换分支的注意事项在使用SVN进行分支切换的过程中,还有一些需要注意的地方,下面我们来看一下这些事项:1. 切换分支前先保存修改在切换分支的过程中,我们需要先将工作副本的修改保存下来。因为在切换分支的时候,SVN会删除当前工作副本并重新检出新的代码版本,如果我们在工作副本中有未提交的修改,这些修改将会全丢失。所以...阅读全文

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

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

的文本文件。如果一台服务器有16个 CPU,每秒抽样99次,持续30秒,就得到 47,520 个调用栈,长达几十万甚至上百万行。 为了便于阅读,perf record命令可以统计每个调用栈出现的百分比,然后从高到低排列。 $ sudo perf report -n --stdio 这个结果还是不易读,所以才有了火焰图。 二、火焰图的含义 火焰图是基于 perf 结果产生的 SVG 图片,用来展示 CPU 的调用栈。 y 轴表示调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶就是正在执行的函数,下方都是它的父函数。 x 轴表示抽样数,如果一个函数在 x 轴占据的宽度越宽,就表示它被抽到的次数多,即执行的时间长。注意,x 轴不代表时间,而是所有的调用栈合并后,按字母顺序排列的。 火焰图就...阅读全文

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

Linux:为什么那么多人讨厌 Systemd

systemd的各种不方便,比如命令太长,不熟悉daemon报错等。systemd几乎没有所需的外依赖,它们主要由glibc(或兼容的libc),setcap和libmount组成。 由于systemd项目合并了udev, logind等基础设施,以及Gnome/KDE积极与systemd集成,这给其它开源内核的桌面用户(以及Debian这样的多内核发行版)造成了困扰。 想想systemd最开始出现时,还是以一个纯粹的init软件的身份,之后短短的时间内大肆攻城略地,合并了很多进程,与Gnome暧昧不清,还设置了API锁定。虽然我可以理解很多linux用户为什么不喜欢复杂的桌面环境,但还是有很多人希望选择一个完整的桌面环境。 init系统中,虽然你可以轻松地选择桌面环境和窗口管理器,但在大多数发行版中...阅读全文

你和 Linux 高手只差了一个 LFS

很多同学都已经学习了 Linux ,可能已经在自己的机器上安装过 Linux,甚至都能搭建个简单的个人博客,也有可能编译署过邮件服务器之类的软件,可是感觉仍然对 Linux 有点摸不着,颇有隔靴挠痒的感受。 总是好奇 Linux 内核是怎么回事,究竟里面有点什么?总是好奇 Linux 是怎么启动起来的,那个什么 GRUB 怎么知道读取引导信息?总是好奇设备怎么就可以被当成文件操作,为什么可以从 /proc 读到进程的信息?总是好奇如何才能构建一个操作系统,从无到有的做成一个可引导的 Linux 启动盘? 不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。 LFS 是什么? LFS(英文 Linux From Scratch 的缩写),中文释意...阅读全文

博文 2017-07-17 17:45:59 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 版本时间表公布

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

博文 2018-04-27 08:33:08 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

Rust 1.37.0 稳定版发布

Cargo 项目中选择默认二进制文件 cargo run 对于快速测试 CLI 应用程序是可以的,当多个二进制文件出现在同一个包中时,必须使用 --bin 标志显式声明要运行的二进制文件的名称。这使得 cargo run 不像我们想要的那样符合人机工程学,特别是当一个二进制文件比其他的更频繁地被调用时。 Rust 1.37.0 通过添加 default-run 来解决这个问题,这是 Cargo.toml 中的一个新键,当这个键在 [Package] 分中声明时,如果没有传递 --bin 标志,cargo run 将默认为所选的二进制文件。 枚举上的 #[repr(align(N))] #[repr(align(N))] 属性可用于提高类型定义的对齐性。以前,该属性仅允许在 struct 和...阅读全文

博文 2019-08-17 21:17:23 debian.cn

使用 setfacl 管理文件的访问控制列表ACL

。在 Debian 系统中,执行命令: sudo apt-get install acl ACL 使用样例 ACL即Access Control List,主要的目的是提供传统的 owner, group, others 的 read, write, execute 权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的访问控制有一定帮助。例如,某一个文件不让单一的某个用户访问。 ACL使用两个命令来对其进行控制: getfacl:取得某个文件/目录的ACL设置项目 setfacl:设置某个文件/目录的ACL设置项目 setfacl 的命令参数: -m:设置后续acl参数 -x:删除后续acl参数 -b:删除全的acl参数 -k:删除默认...阅读全文

Systemd 及 Service 文件含义解析

# graceful stop. Normally, Systemd sendsSIGTERM signal right after the # ExecStop, which would kill httpd. We aresending useless SIGCONT here to give # httpd time to finish. KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.target ``` 这个文件由三个分组成:Unit、Service、Install。 [Unit] 主要是为了解决依赖关系。常见的添加 Requires、After,如果这个依赖是可选的,那么是 Wants、After。依赖关系通常被用...阅读全文

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

Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA

+\ ) 以将一个编辑器分成两分,而无需第二个编辑器组。这允许你在同一个文件上并排使用两个编辑器。你还可以通过"切换布局"按钮... 4 1 GeoGebra 6.0.668.0 发布,绘图神器 Geogebra 是动态数学软件,它将几何、代数、电子表格、绘图、统计和微积分集成在一个易于使用的软件包中。 GeoGebra 6.0.668.0 版本现已发布,具体更新内容如下: Fixed:丢失的 Labelling 菜单 Fixed:绘制抛物线等的问题 Fixed:在 iOS 上,输入框滚动小程序的问题 Fixed:IntersectPath(P, a) 与 Zip() Fixed:列表中... 0 6...阅读全文

博文 2021-10-09 12:23:58 中文开源技术交流社区

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

下使用) /yusi123 //向光标下搜索yusi123字符串 ?yusi123 //向光标上搜索yusi123字符串 n //向下搜索前一个搜素动作 N //向上搜索前一个搜索动作 六、跳至指定行(vi命令模式下使用) n+ //向下跳n行 n- //向上跳n行 nG //跳到行号为n的行 G //跳至文件的底 七、设置行号(vi命令模式下使用) :set nu //显示行号 :set nonu //取消显示行号 八、复制、粘贴(vi命令模式下使用) yy //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 nyy //将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a也可以替换为a到z的...阅读全文

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

如何在 Debian服务器 上启用双因子身份验证

位置。emergency scratch codes 是单一的使用代码,应急时使用。即使你的手机不可用,它总是允许你访问。 要将服务器注册到Authenticator App中,只需打开应用程序并点击右下角的红色加号即可。然后选择扫描条码选项,扫描打印到终端的二维码。你的服务器和应用程序现在连接。 回到服务器上,我们现在需要编辑用于 SSH 的 PAM (可插入身份验证模块),以便它使用我们刚刚安装的身份验证器安装包。PAM 是独立系统,负责 Linux 服务器上的大多数身份验证。 需要修改的 SSH PAM 文件位于 /etc/pam.d/sshd ,用以下命令编辑: vim /etc/pam.d/sshd 在文件顶添加以下行: auth required...阅读全文

博文 2018-12-05 11:44:56 debian.cn

Debian 10 Buster 正式版即将发布

Debian 10 Buster 即将发布。第一个发布候选版已经发布,我们预期可以在接下来几周内,会见到最终版。如果你期待对 Debian 10 Buster 的新版本有所期待,那么让我告诉你这个版本里面会有什么。 Debian 10 Buster 发布计划 Debian 10 Buster 的发布日期并没有确定。为什么这样呢?不像其他分发版,Debian 并不基于时间发布。相反地它主要关注于修复 release-critical bug。发布版重要 Bug 要么是严重的安全问题(CVE),要么是一些其他阻止 Debian 发布的严重问题。 Debian 在它的软件归档中分为三个分,叫做 main、contrib 和 non-free。在这三者之中,Debian 开发者和发布管理者最关心...阅读全文

博文 2019-04-29 11:04:15 debian.cn

项目总结报告应该怎么写

意以上统下,中心句可以概括表达下方层级的内容。在结论中如果涉及层级关系时,要注意逻辑递进,便于理解。比如说老板、经理、职员这三个职位排列时要按照职位的重要程度进行从上到下排列。结论:1)结论的排列顺序遵循先扬后抑,结论内容是正向的放在前面,结论内容是负向时放在后面;2)结论中必须有观点,且观点有数据支撑,表达方式为结论→理由→支撑理由的事实和依据;3)结论中的内容是正向的文字颜色可以标为绿色,内容是负向的文字颜色可以标为红色。6.方案落地执行这分内容其实是报告发布之后,对报告中的解决方案进行跟踪落实,让我们做的事情有始有终,形成一个闭环。写在最后好的项目总结都是相似的:结构清晰、重点突出、观点明确且有数据支撑,便于快速获取关键信息。愿大家都可以写出一份可以解决实际问题好的项目总结。...阅读全文

Docker 快速入门之 Dockerfile

---> 30db5a889d0a Step 10/10 : CMD /usr/sbin/nginx -g daemon off; ---> Using cache ---> d29b9d4036d2 Successfully built d29b9d4036d2 然后用该镜像启动容器: # docker run -d -it --rm --name test-nginx -p 8080:80 locez/nginx e06fd991ca1b202e08cf1578f8046355fcbba10dd9a90e11d43282f3a1e36d29 用浏览器访问 http://localhost:8080/ 即可看到署的内容。 3 Dockerfile 指令解释 Dockerfile 支持 FROM, RUN, CMD...阅读全文

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

图解 Debian 系统通用安装教程

登录,进入后输入一下命令即可完成桌面环境的启动。 startx 这下就能看见桌面环境了,剩下的就不用多说了。 如果出现中文乱码,以root权限进入xfce终端或在命令行界面输入以下命令: dpkg-reconfigure locales 方向键上下选择,Page Up/Down可以翻页,空格键选中。 将开头为zh_CN的几个全选中,按回车键保存,选择zh_CN.UTF-8为默认locale,等待完成后重新启动系统即可解决乱码问题。 最后,在你晚上睡觉前还有个事情,那就是执行下面的命令。 apt-get update apt-get upgrade 之后关闭显示器电源,让系统自动更新去吧,所谓的快速安装就是把安装过程中的系统更新放到了最后,仅此而已。 这种安装方法有个不足之处,就是每次启动后...阅读全文

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

最全 MongoDB 基础教程

: } ) query: update的查询条件,类似sql update查询内where后面的 update: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的 upsert: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入 multi: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全更新 writeConcern: 可选,抛出异常的级别 案例 db.ruochen.insert({ title: 'mongodb', description: 'Nosql 数据库', by...阅读全文

博文 2021-02-22 07:45:45 OSChina
9. 嵌入 header 和 footer HTML5.1 允许你在另一个 header 嵌入 header 和 footer。你可以向头元素添加一个 header 或 footer ,假如它们在段落内容里包含它们自己。假如你想添加详细阐述诸如
标签到语义段落元素,这个特性将变得非常有用。 在下面的代码中,
标签包含一个
标签,它有个自身包含
标签的
博文 2021-01-28 17:50:20 debian.cn

下一代时间同步服务 Chrony 详解

NTP Server 功能,必须开启防火墙和监听地址为外可访问地址。如需修改,你可以通过配置 port 参数来修改。端口 323/udp 为默认的管理端口。如需修改,你可以通过配置 cmdport 参数来修改。 最后,修改防火墙设置,以放行对 123/udp 的请求,这里以 Firewalld 为例。 # firewall-cmd --zone=public --add-port=123/udp --permanent # firewall-cmd --reload 其他:一些设置时区和时间的命令 查看当前系统时区 # 直接使用 timedatectl 命令也等同于以下命令 root@hk:~# timedatectl status Local time: Mon 2021-01-04 08...阅读全文

博文 2021-01-04 08:41:14 debian.cn

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

kubernetes 中的垃圾回收机制主要有两分组成:一是由 kube-controller-manager 中的 gc controller 自动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在每个节点上需要回收已退出的容器以及当 node 上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个参数:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文

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

journalctl 清理journal日志 - 九重霄

件。 换句话说, 日志目录中不应该存在后缀名不等于 ".journal" 或 ".journal~" 的文件, 因为这些文件永远不会被清理。 SystemMaxUse= 与 RuntimeMaxUse= 限制全日志文件加在一起最多可以占用多少空间。 SystemKeepFree= 与 RuntimeKeepFree= 表示除日志文件之外,至少保留多少空间给其他用途。 systemd-journald 会同时考虑这两个因素, 并且尽量限制日志文件的总大小,以同时满足这两个限制。 SystemMaxUse= 与 RuntimeMaxUse= 的默认值是10%空间与4G空间两者中的较小者; SystemKeepFree= 与 RuntimeKeepFree= 的默认值是15%空间与4G空间两者中...阅读全文

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

Kafka生产问题总结以及性能优化

消息发送端: 发送消息如果配置了重试机制,比如网络抖动时间过长导致发送端发送超时,实际broker可能已经接收到消息,但发送方会重新发送消息 消息消费端: 如果消费这边配置的是自动提交,刚拉取了一批数据处理了一分,但还没来得及提交,服务挂了,下次重启又会拉取相同的一批数据重复处理 一般消费端都是要做消费幂等处理的,比如每条消息使用redis的setnx分布式锁,把消息放redis里,这样两次消息一样的话,第二次的消息是放不进去的。 2.1.3 消息乱序 如果发送端配置了重试机制,kafka不会等之前那条消息完全发送成功才去发送下一条消息,这样可能会出现,发送了1,2,3条消息,第一条超时了,后面两条发送成功,再重试发送第1条消息,这时消息在broker端的顺序就是2,3,1了 所以,是否一...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

Git 介绍与使用详解

,代码重新检查,避免修改问题引发新的问题 3.6撤销提交(reset) 当发现这一次commit的内容是有错误的,有两种处理方法: 1、修改错误内容,再次commit一次 2、使用git reset 命令撤销这一次错误的commit 第一种方法比较直接,但会多次一次commit记录,而且有可能改错 推荐第二种方法,因为错误的commit没必要保留下来,还原到上一次也能保证正常工作 git commit提交后的结果 重置有三种模式:soft,mixed,hard git reset --hard HEAD 重置stage区和工作目录,就是没有commit的修改会被全擦掉,适用于重新理清思路 git reset --hard HEAD^ 将你的 HEAD 和当前 branch 切到上一条...阅读全文

博文 2017-02-25 09:00:27 程序员