Debian中国 为您找到相关结果 547

如何查看当前 Debian 系统的版本

有多种方式查看当前 Debian系统 的版本信息,这里我们会分别介绍。最简的查看方法,是查看 /etc/issue 这个文件,样例如下; root@debian:~# cat /etc/issue Debian GNU/Linux 9 \n \l 上面的命令有个小问题,它没有显示 Debian 的小版本号。要获取 Debian 的小版本号 Point Release 信息,我们可以使用以下这几个命令。 joseph@debian:~$ cat /etc/debian_version 9.9 /etc/debian_version 提供了完整的版本信息。另一个文件,则会提供更详细的版本信息,文件名是 /etc/os-release,样例如下; joseph@debian:~$ cat...阅读全文

博文 2019-04-20 13:06:36 debian.cn

Debian 相比 Ubuntu 有哪些不同之处

非常易于使用。如果你的工作习惯与这些概念不一致,可能会强烈反对Ubuntu易于使用这一观点。 然而,虽然Ubuntu源自Debian,但两者的区别还是很明显。从安装和桌面,到程序包管理及社区,大家认为自己对于Ubuntu和Debian了解的情况可能是错误的,或者至少需要作一些严格限制――这一切使选择哪个发行版适合贵公司的业务战略显得非常困难。 安装方面的区别 眼下,你可以使用哪个发行版取决于拥有的硬件。Debian目前面向大约13种硬件架构:从标准的32位和64位英特尔架构到ARM和PowerPC架构,还支持另外两种正在开发的架构。相比之下,Ubuntu支持32位和64位版本这两大不同的计算桌面环境,现正在为移动设备开发Ubuntu ARM版本。 要考虑的另一个方面是面向每个发行版的安装程...阅读全文

博文 2017-12-22 23:41:07 debian.cn

聊聊很重要的内核技术eBPF

。它使用其他输入流(例如容器运行时度量标准和Kubernetes度量标准)丰富了收集的数据,并允许连续监视和检测容器,应用程序,主和网络活动。 5:Katran Katran是一个C ++库和eBPF程序,用于构建高性能的第4层负载平衡转发平面。 Katran利用Linux内核中的XDP基础结构来提供用于快速数据包处理的内核功能。它的性能与NIC接收队列的数量成线性比例,并且使用RSS友好的封装转发到L7负载平衡器。 6:Sysdig Sysdig是提供深层系统可见性的简工具,并具有对容器的原生支持。 其他基于eBPF技术的项目还有很多,比如kubectl-trace ,ply 等,这里不再赘述。 如何编写一个eBPF程序? 在很多情况下,不是直接使用eBPF,而是通过Cilium,bcc...阅读全文

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

图解 Debian 系统通用安装教程

这篇文章我会尽可能详细地说明如何快速安装纯净的Debian新系统,需要懂一点vi编辑器的使用方法。 如果是新手,没用过 vim 编辑器也不用担心,我会尽量详细地说明使用方法。 首先在Debian官网上下载网络安装CD或者完整DVD镜像,DVD镜像只需DVD-1即可。如果你的网络环境不错,推荐下载 netinst 包,通过网络安装 Debian 系统。 下载好镜像后做成U盘启动盘,从U盘启动开。在引导界面选择Graphical install(图形化安装),进入安装过程,如图: 选择语言界面,选择中文吧, 提示虽然是好心,但是安装过程中我就见到一处乱码还就是下面这个图上,直接选是,下一步。 区域选择,选择中国。 主名,自己随便填吧。 域名可不填,直接下一步。 设置root密码,自己设定好...阅读全文

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

Debian 如何安装无线网卡驱动

在安装 Debian 10 的时候提示没有iwlwifi驱动,因为当时没有安装有 iwlwifi 的驱动盘,跳过后开发现没有 wifi。这里我们将介绍,有线网正常的状态下,如何下载安装 iwlwifi 驱动,并开启 wifi 。 因为我用的是 Intel Wireless-N 的无线网卡,所以本教程以 Intel Wireless-N 为例说明。如果你使用的是其他厂商的无线网卡,请参考 Debian wiki,查找相应的配置方法。如果不确定无线网卡的型号,可以通过命令 lspci 查询,或者在 dmesg 的命令输出中找到线索。 更新安装源 我们需要添加 non-free 的安装源,到系统中,更新 /etc/apt/sources.list,添加以下记录: deb http...阅读全文

博文 2020-02-19 15:18:51 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

Debian中如何设置静态IP地址 网关 DNS

态 IP 地址、网关 首选备份原始的网络配置文件, sudo cp /etc/network/interfaces /etc/network/interfacesbak 编辑文件 /etc/network/interfaces,内容如下: auto lo auto eth0 #设置开自动连接网络 iface lo inet loopback allow-hotplug eth0 iface eth0 inet static #static表示使用固定IP地址上网,dhcp表示使用动态ip address 192.168.9.100 #设置静态ip地址 netmask 255.255.255.0 #子网掩码 gateway 192.168.9.254 #网关 使用 ctrl+o 保存配置,使...阅读全文

Debian 9更新到最新的Linux内核

喜欢折腾的同学,会豪气如何升级 Debian Stretch 的内核到新版。遗憾的是现在能搜到的升级 Debian Linux 内核的文章多数是使用Ubuntu的deb安装包,其实这样装上去是有问题,常见的问题是,总会提示需要 apt --fix-broken install 。 这里简记录一下,如何使用Debian官方源更新到最新的内核;以及如何是用 Kernel.org 的deb源,更新内核到最新的 5.x 版本。 修改更新源 name@debian.cn:~$ echo -e "deb http://http.debian.net/debian stretch-backports main\ndeb-src http://http.debian.net/debian stretch...阅读全文

博文 2019-03-25 22:33:22 debian.cn

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

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后续会完善内容并提升易读性。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文

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

Golang 中的 channel 通道详解

,channel的零值也是nil。两个相同类型的channel可以使用==运算符比较。如果两个channel引用的是相同的对象,那么比较的结果为真。一个channel也可以和nil进行比较。通道的操作发送ch := make(chan int,0) // 创建一个无缓存区的int channel ch <- 998 // 向通道发送一个int类型的值10 接收receiver := <-ch //将通道ch的值取出,赋值给变量receiver <- ch //将通道ch的值取出,忽略结果 关闭close(ch) // 关闭通道 关于关闭通道需要注意的事情是,只有在通知接收方goroutine所有的数据都发送完毕的时候才需要关闭通道。通道是可以被垃圾回收制回收的,它和关闭文件是不一样的,在结束操作之后关闭...阅读全文

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

Debian 项目团队宣布其稳定发行版 Debian 10 (代号 "buster")的第八次更新。本次更新主要是对安全问题进行了修正,同时也对一些严重的问题进行了调整。安全公告已经独发布,并在可用的地方进行了参考。 需要注意的是,这个点发行版(point release)并不构成 Debian 10 的新版本,只是更新了其中的一些软件包。没有必要扔掉旧的 "buster "介质。安装后,可以使用最新的Debian镜像将软件包升级到当前版本。 那些经常从 security.debian.org 安装更新的人不会需要更新很多软件包,大多数这样的更新都包含在点发布中。新的安装镜像很快就会在常规位置提供。 将现有的安装升级到这个版本可以通过将软件包管理系统指向Debian的许多HTTP镜像之一...阅读全文

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

Mac OS下如何安装卸载 Homebrew

Homebrew 是一款 Mac OS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简的一条指令,就可以实现包管理,你不用关心各种依赖和文件路径的情况,十分方便快捷。 引用官方的一句话:又提示缺少套件啦?别担心,Homebrew 随时守候。Homebrew —— OS X 不可或缺的套件管理器。 Homebrew的安装有一些前置依赖,具体如下, 64 位 Intel CPUMac OS X High Sierra 10.13 或更新的系统版本Xcode 的命令行工具 xcode-select --installBourne 兼容的 shell (zsh 或 bash) 安装 Homebrew 安装 Homebrew 只需要用普通用户,执行一条命令即可,如下...阅读全文

博文 2020-04-04 21:48:16 debian.cn

如何重启 Kubernetes 中的 Pods

{namespace} 这个方法简粗暴有效。因为 Kubernetes 是声明式 API,所以删掉了之后,Pod API 对象就与预期的不一致了,便会自动重新创建 Pod 保持与预期一致。但是如果ReplicaSet 管理的 Pod 对象很多的话,那么要一个个手动删除,会很麻烦,所以可以使用命令来删除 ReplicaSet, kubectl delete replicaset {rs_name} -n {namespace} 由于 Deployment 对象并不是直接操控的 Pod 对象,而是操控的 ReplicaSet 对象,而 ReplicaSet 对象就是由副本数目的定义和Pod 模组成,所以我们也可以通过调整 ReplicaSet 的数量来实现重启,比如先 scale 到 0,然后再 scale...阅读全文

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

Debian 系统中如何禁用 IPv6

国内腾讯云和阿里云的器是没有ipv6的,但安装完 Debian 9 却发现默认启用了ipv6,所以需要将 IPv6 禁用,或者降低优先级。 方法一:降低 IPv6的优先级 使IPv4优先 默认的安装中,ipv4 和 ipv6 并存,并且 ipv6 却优先于 ipv4。如果不需要彻底关闭 ipv6,可以设置让 ipv4 优先于 ipv6。配置方式如下: echo "precedence ::ffff:0:0/96 100" >>/etc/gai.conf 当然也可以直接修改 /etc/gai.conf 文件,找到下面这一行 #precedence ::ffff:0:0/96 100 把前面的#去掉即可。 方法二:设置 GRUB 启动参数禁用 IPv6 编辑 /etc/default...阅读全文

博文 2019-07-12 11:06:50 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

树莓派4B修复USB

树莓派4B因为性能的巨大提升,采用电源性能更好的 type c 作为供电口。令人不可思议的是树莓派4B的 USB-C 居然缺少一个 5.1k 欧姆的电阻:原本有两个电阻,分别是R1和R79,结果变成了共用一个电阻。于是所有带有 e-mark 的 type c 电源(可以简的理解为pd标准的电源)连接树莓派4B的时候都会被当作非供电设备,比如耳等。 树莓派4B的初始版本是v1.1,包括 1G/2G/4G,revision code 分别是a03111 / b03111 / c03111 。当时树莓派基金会只表示会在后期修复这个硬件bug,但是并没有明确的时间。但是在2019年12月时,已经有明确的案例报道4G版本的树莓派4B已经有v1.2了,这个版本已经增加了电阻。pd标准的...阅读全文

博文 2020-01-28 11:17:21 C供电问题的新版已出货

Debian 9.3 Stretch 安装镜像ISO文件下载

Endian),PPC64el(PowerPC 64位Little Endian)和s390x(IBM System z)。 Debian GNU/Linux 9.3 “Stretch”Live ISO已经可以下载了 另一方面,Debian GNU/Linux 9.3 “Stretch” Live ISO 仅适用于32位和64位计算,并且带有KDE Plasma,GNOME,Xfce,LXDE,Cinnamon 和 MATE 桌面环境。应该注意的是,还可以下载一个多重(64位和32位)的 netinstall ISO 映像。 所有这些Debian GNU/Linux 9.3 “Stretch” ISO映像包含了自Debian GNU/Linux 9.2.1 “Stretch”以来通过官方软件库发布的...阅读全文

如何在 Debian 下配置邮件服务器

tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:993 0.0.0.0:* LISTEN tcp 0 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 使用邮件用户代理(MUA)连接邮件服务器 邮件服务器现在可以使用了。可以在台式、笔记本电脑、平电脑或手上用你最喜爱的电子邮件客户端软件配置邮件账户。以下是与Mozilla Thunderbird配置参数的截图。 故障排除 日志文件/var/log/mail.log是你最好的朋友。任何的问题都可以在这里找到线索。 确保防火墙正确配置。 确保DNS服务器配置了适当的条目。 综上所述,本教...阅读全文

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

K8S中Pod的四个阶段及状态分析

Kubernetes 中, pod 从创建到成功运行会分别处于不同的阶段,每个阶段又分为不同的状态,本文将简介绍这个环节。 在 K8S 源码中,使用了 PodPhase 这个变量定义这几个阶段信息,如下图所示: 运行中(PodRunning):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态。等待中(PodPending): 创建 Pod 的请求已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。可能的原因有,写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending 伴随的事件通常会有:ADDED, Modified这两个事件的产生。等待时间包括调度 Pod 的时间和下...阅读全文

博文 2020-07-15 13:11:45 debian.cn

深入学习golang — channel

Channel 1. 概述 “网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发支持使得它有更好的性能。 Goroutine和channel是Go在“并发”方面两个核心feature。 Channel是goroutine之间进行通信的一种方式,它与Unix中的管道类似。 Channel声明: ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType . 例如: var ch chan int var ch1 chan<- int //ch1只能写...阅读全文

博文 2021-01-25 12:39:17 博客园

Debian 上安装搭建 Shadowsocks 服务

-cfb, aes-192-cfb, aes-256-cfb,**bf-cfb, camellia-128-cfb, camellia-192-cfb,**camellia-256-cfb, cast5-cfb, des-cfb timeout:连接超时时间,位秒。要适中。 如果客户端有OpenWRT路由器等设备,推荐rc4-md5,性能更好;否则可以选用安全性更好的aes-256-cfb等,不过计算复杂度上升,会有性能的损失,不过对于PC以及现在的只能手来说没有任何问题。路由器性能较弱所以可以考虑rc4-md5 保存配置文件后,就重启 shadosocks-libev 服务 $ service shadowsocks-libev restart 然后就搭建完成了,查看shadowsocks...阅读全文

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

几种常用的方法论、思维方式

方法论,就是关于人们认识世界、改造世界方法的经验性的理论,它是一种以解决问题为目标的体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、总结并最终提出较为一般性的原则。 这里汇总介绍几种方法论。 吉德林法则 美国通用汽车公司管理顾问查尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观点在管理学上被称为吉德林法则。 墨菲定律(Murphy's Law) 主要内容有四个方面:一、任何事都没有表面看起来那么简;二、所有的事都会比你预计的时间长;三、会出错的事总会出错;四、如果你担心某种情况发生,那么它就更有可能发生。 彼德原理 每个人在层级组织里都会得到晋升,直到不能胜任为止。换句话说,一个人...阅读全文

Proxmox VE 6.1 正式版发布

双重身份验证有所改进。 高可用的方案也已得到了改进,并新增了"迁移"关闭策略,可以在关闭时将正在运行的服务迁移到另一个节点,类似于 AWS 的宿主故障迁移方式。 存储上,版本 6.1 已支持 Ceph 和 KRBD 在较新内核上支持的所有功能。 我们有一些值得注意的错误修复,其中之一是 QEMU 监视器超时问题或 corosync 的稳定性改进。发行说明中列出了无数其他错误修复和较小的改进。详情请参考发行说明。 常见问题: 问题1:我可以用 apt dist-upgrade 把 VE 6.0 升级为 6.1 吗?回答:可以放心使用。可以通过GUI界面,或者命令行把 VE 6.0 升级为最新的 VE 6.1,一般执行以下命令即可 apt update && apt dist-upgrade...阅读全文

博文 2019-12-05 10:16:44 debian.cn

Debian 系统如何配置 iptables

iptables在Linux发行版本如Centos、Debian、Ubuntu、Redhat等的配置内容基本一致,但是配置方式有所不同。由于工作日常用的是Centos 6.x,它的配置较简。下面对Debian上配置iptables做一个说明。 配置步骤 使用用户名/密码登录系统 root@localhost:~# 安装iptables root@localhost:~# apt-get install iptables 安装成功后查看iptables端口开放情况 root@localhost:~# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy...阅读全文

博文 2018-08-08 16:35:38 debian.cn

树莓派4上如何安装 Raspbian Buster

随着 Raspberry Pi 4 主的问世,了解如何使用Raspbian Buster设置您的操作系统。你的新Pi 4到了邮箱,你已经设置了办公桌,您已准备好安装操作系统。 对于初学者来说,Raspbian为Pi制造商提供了出色的桌面体验。最重要的是,Raspbian Buster是专为树莓派 4创建的。考虑到这些情况,我们将在 microSD卡上载入这个操作系统,用其启动树莓派。 下载 Raspbian Buster 首先,访问 Raspbian 下载页面,下载最新版 Raspbian Buster 的图像文件。第一个链接 “桌面+推荐软件版” 附带了处理日常需求所需的大部分软件,建议初学者使用。如果你计划在命令行下使用你的Pi,桌面就不需要了,可以选择第三个 Lite 的选项。 下...阅读全文

博文 2020-02-04 19:33:29 debian.cn

Debian 10使用 Wine 安装配置微信、QQ与TIM

中列出的程序,比如笔者安装的WeChat,这时Remove按键高亮,点击Remove即可卸载想要安装的程序。这样能够安装一些简的软件。比如可以安装360压缩,然而wine安装的360压缩打开来自Windows压缩的zip文件”入乡随俗“一样是乱码,而Windows的360压缩或者其他压缩软件就能够正常不乱码解压。值得一提,4G以下的zip文件在Linux下可以用unar命令直接unar XXX.zip解压,而且不会乱码。 有输入框的如微信、QQ与TIM 参考文章wine新版 wine-5.12 微信、QQ 等软件输入框无法输入的问题解决办法,安装这类软件需要安装winetricks,直接输入如下命令安装 sudo apt install winetricks 然后输入 winetricks...阅读全文

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

,也可以在一台不同的远程计算上工作。 Chrony 和 NTPD 精度对比测试 我们可以从 Chrony 的官方网站上可以看到与 NTPD 各维度详细对比: 从其测试结果上看似乎是各维度性能都可以吊打 NTPD。因此 Chrony 的整体评价还是比较高的。 Chrony 相较于 NTPD 服务的优势 更快的同步只需要数分钟而非数小时时间,从而最大程度的减少时间和频率误差,这对于并非全天运行的台式计算或系统而言非常有用。能够更好的响应时间频率的快速变化,这对于具备不稳定时钟的虚拟或导致时钟频率反复变化的节能技术而言非常有用。在初始同步后,它并不会停止时钟,以防对需要系统时间保持调的程序造成影响。在应对临时非对称延迟时,(例如:大规模下载造成连接饱和时)提供了更好的稳定性。无需对服务器进行...阅读全文

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

Apollo 分布式配置中心详解

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 本文简从功能特点做介绍,更详细的说明请参考Apollo配置中心介绍。本地快速部署可以参考这里。线上的演示环境从这里可以访问到: 106.54.227.205 (账号/密码: apollo/admin) Apollo 配置中心产生背景 大多情况下程序随着功能的复杂,程序的配置也会增多:包括各种功能开关、参数配置、服务地址信息配置等,同时开发人员对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群的管理配置、权限控制、审核制等。 在这样的大环境下,传统的通过配置文件、数据库...阅读全文

博文 2020-04-12 12:16:26 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

Debian 9 使用kubeadm创建 k8s 集群(上)

- 设置工作区目录和Ansible清文件 在本节中,您将在本地计算上创建一个用作工作区的目录。 您将在本地配置Ansible,以便它可以与远程服务器上的命令通信并执行命令。 完成后,您将创建一个包含库存信息的hosts文件,例如服务器的IP地址和每个服务器所属的组。 在三台服务器中,一台服务器将成为主服务器,其IP显示为master_ip 。 其他两个服务器将是worker,并且将具有IP worker_1_ip和worker_2_ip 。 在本地计算的主目录中创建一个名为~/kube-cluster的目录并将其cd入其中: mkdir ~/kube-cluster cd ~/kube-cluster 该目录将成为本教程其余部分的工作区,并包含所有Ansible Playbook。 它也将...阅读全文

博文 2019-05-13 22:47:39 debian.cn

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

博文 2021-02-25 09:27:27 lxkaka

你应该选择Cinnamon作为Linux桌面环境的十个理由

混乱的使用感受。 6. Cinnamon面。Cinnamon面作为一款工具栏非常易用,其中提供用于启动程序的菜、基本系统托盘与应用选择器。右键点击程序图标,选择“Add to panel”即可将应用添加至程序启动栏中。大家还可以将启动图标添加到桌面中以及Cinnamon的“Favorites”启动栏内。另外,进入“Edit”模式即可对各图标进行重新排序。 7. 灵活性。有时候,我们很难找到已经被最小化或者隐藏运行的应用。而Cinnamon提供了我最喜爱的功能之一,即直接拖动运行中的应用按钮,并在选择栏中进行重新排列。这意味着我能更轻松地找到对应窗口。 Cinnamon桌面还提供一套非常漂亮的弹出菜,右击即可呼出。其中包含的常用任务包括桌面设置、添加桌面部件选项以及其他多种桌面操作任务...阅读全文

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

Debian 安装后要做哪些修复?

记录一下, ``` # 修复vim中鼠标右键无法复制 参考 https://debian.cn/articles/307 perl -pi -e 's/mouse=/mouse-=/g' /usr/share/vim/vim8?/defaults.vim 2>/dev/null # 关闭 IPv6,绝大部分环境不需要IPv6 perl -pi -e 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"/g' /etc/default/grub update-grub ```...阅读全文

Debian 安装配置 v2ray 服务端

作为拥有多个 VPS 服务器的人,当你买了海外的 VPS 后,或多或少有科学上网的需求。目前来说,v2ray 是比较安全、方便的方式。 v2ray是一个功能强大,配置不算复杂的上网工具。相比 SS 的配置稍显复杂,v2ray 功能比 SS 强大太多,只要上手了,可以很方便、安全的使用。系统还是我最喜欢的Debian 系统,轻巧、稳定、流畅,让我能在上面做很多事。 安装 v2ray 也很简,只需要安装依赖,然后一行命令就能安装好。当然,你也可以不自己安装依赖,而让v2ray去安装依赖。 #### 安装 v2ray 依赖 在终端执行命令: `apt install curl unzip daemon` 如果系统已经有这几个包,则无需手动安装。 #### 安装 v2ray 上面说了,v2ray...阅读全文

博文 2021-03-11 16:49:32 diablo4

Debian 环境安装新版 nginx

&& apt install nginx -y 到这一部分就完成了最新稳定版的 Nginx 的安装。 需要注意的是,这一步安装的 Nginx 和系统自带的 nginx 的配置目录略有区别,可以用一下几个简的命令修正: sudo mkdir /etc/nginx/{sites-available,sites-enabled}sudo mv /etc/nginx/conf.d/* /etc/nginx/sites-availablesudo rmdir -f /etc/nginx/conf.d/sudo perl -pi -e 's/conf.d/sites-enabled/g' /etc/nginx/nginx.conf...阅读全文

博文 2019-01-21 13:58:08 debian.cn

Ubuntu 20.04 LTS 正式版发布

,优麒麟。优麒麟由工信部、Canonica 和国防科技大学联合开发,整合了多个中国本土流行 Linux 应用。 Ubuntu 20.04 使用 Linux 5.4 内核,该版本具有内核锁定模式和 exFAT 支持等新特性。 内核锁定功能主要是为了防止 root 帐户篡改内核代码,从而在用户态进程和代码之间划清界限。启用该功能后,即便是 root 帐户也无法访问某些内核功能,从而保护操作系统免受受损的 root 帐户影响。 exFAT 文件系统则是 FAT32 的替代者,它由微软开发,但是不仅用于 Windows 系统,目前 exFAT 在整个电子行业中都得到了广泛应用,特别是 SD 卡、USB 闪存驱动、数码相和 MP3 播放器中使用最为充分,你平时用这些电子产品的时候,多半就使用到了...阅读全文

博文 2020-04-24 01:58:26 debian.cn

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

境传输提供保障: 若缺少上述“充分性认定”,控制者或者处理者当且仅当其提供了适当的保障时,可以将个人数据传输给第三国及国际组织。 这种“适当的保障”可以通过以下几种方式提供: (a)在公共构或团体之间有法律约束力和执行力的文件; (b)由欧盟委员会通过的标准数据保护条款(即《欧盟数据跨境转移协议模(SCC)》所设定的条款,内容一般不可变更); (c)由监管构通过、并由欧盟委员会批准的数据传输方和接收方之间签订的特定标准数据保护协议(即“Ad-hoc data protection clauses”,与上述“SCC标准模”相互区分。但截至2018年尚未有欧盟成员国的数据保护监管构批准这类协议); (d)代表不同种类的控制者和处理者的协会和其它构可以制定行为准则(Code of...阅读全文

Go1.16 新特性:一文快速上手 Go embed

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简,就是 go:embed 指令声明,外加读取的内容的地址,可支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了变量 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

博文 2021-02-17 08:44:12 CSDN

Go 语言的大版本更新:Go 2.0 安排上了

废话不多说,先来看看 Go 2.0 有哪些值得关注的内容: 最大程度保持对 1.x 的兼容,以避免分裂 Go 语言生态系统 采用增量升级的方式,而非独发布重大更新版本 实施新的提案评估流程,以评估尚未解决且被标记为提案的 issue 将会在 Go 1.13 版本中选择 Go 2 部分的提案 背景 早在2017年的 GopherCon 大会上,Russ Cox(Go 核心开发团队的技术 leader)就已经正式开始思考 Go 的下一个大版本(相关文章)。当时官方非正式地将它称为 Go 2,但我们知道,所谓的 Go 2.0 并非一个独的重大更新版本,而是通过“增量更新(incremental)”的方式以逐渐抵达 "Go 2.0"。所以本文对这个未来版本的称号 —— 也暂且用 Go 2 来描...阅读全文

Linux 进程 PID 编号最大为多少

文件的默认值32768,与早期内核的PID范围相同。 在32位系统中,32768是pid_max的最大值。64位系统,pid_max最大可达2^22。(PID_MAX_LIMIT,约4亿)。 到达极限的情况: 1、当 PID 达到上限后,内核会从 0 重新开始寻找可用的 PID 并分配。 2、而所有 PID 均已被占用的话,则将抛出 fork failed: Resource temporarily unavailable 提问者所说的最大值应该只是发行版设置( CentOS 8.0 64 位上为 400w 左右)。通过上述Linux手册中的说明,我们也可以通过修改 /proc/sys/kernel/pid_max 的值来调整 pid 取值范围。 在 Debian 10 的器上,这个文件的...阅读全文

博文 2021-01-12 11:47:15 debian.cn

如何使用 ipset 将单个国家的所有IP加入黑名单

ipset 是 iptables 的扩展,它允许你创建匹配整个地址集合的规则,而不像普通的 iptables 链只能IP或网段匹配。 ipset 规则中的IP地址集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,从而减少系统资源占用或网络拥塞。IPset 也具备一些新防火墙设计方法,并简化了配置。ipset 的官网:http://ipset.netfilter.org 下面我们以一个实际场景为样例,介绍如何在Debian系统中,使用 ipset 将个国家的左右 IP段 加入黑名。 #### 准备工作:安装 ipset、或者网段列表 sudo apt-get -y install ipset wget -P . http://www.ipdeny.com...阅读全文

博文 2021-02-06 16:43:47 joseph

工业版树莓派HackBoard 2众筹中 支持Win10专业版和4G/5G网络

作为工业版本的“树莓派”,HackBoard 已经迎来了第二代产品更新。这款配备了双核 @ 2.8GHz 的英特尔赛扬 N4020 处理器,具有高度的可配置特性,且支持 4G / 5G 蜂窝移动网络。感兴趣的朋友,可拿出 99 美元(约 649 RMB)去支持 HackBoard 2 的 Ubuntu Linux 版本、或以 140 美元(约 649 RMB)的价格获取 Windows 10 专业版。 除了英特尔赛扬 N4020 处理器,HackBoard 2 还载了 4GB DDR4 内存,辅以支持 4TB 存储空间的两个 NVMe SSD 插槽。 显示方面,赛扬 N4020 集成了 Intel UHD Graphics 600 核显,支持 4K HDMI 输出,另有支持...阅读全文

博文 2020-12-15 13:06:35 debian.cn

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

本文记录如何从 Debian 安装 Proxmox VE,以及配置 IPv4 和 IPv6 网卡,为硬盘分区。 预配置系统装好后,从 NOCIX 后台面取得 登陆用户名 和 密码。 用户名是 customer密码是一串随生成的字符串 使用 su 切换到 root 还需要输入密码,这样频繁操作比较麻烦。 免密登陆 root安装 sudo 实现免密 su 12apt updateapt install -y sudo 修改 /etc/sudoers 文件注意:只能用 visudo 交互式来修改 sudoers 文件 这是为了防止被脚本修改,就别想用 echo 来改了 visudo 会验证配置的格式,如果不验证,而你写的配置有问题,那么你无法切换到 root,而只有 root 用户才能修改...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

Gitlab CI 配置文件 .gitlab

this after my script coverage 注意:GitLab 8.17 中 引入。 coverage允许你配置代码覆盖率将会从该job中提取输出。 在这里正则表达式是唯一有效的值。因此,字符串的前后必须使用/包含来表明一个正确的正则表达式规则。特殊字符串需要转义。 一个简的例子: job1: coverage: '/Code coverage: \d+\.\d+/' Git Strategy GitLab 8.9中以试验性功能引入。将来的版本中可能改变或完全移除。GIT_STRATEGY要求GitLab Runner v1.7+。 你可以通过设置GIT_STRATEGY用于获取最新的代码,可以再全局variables或者是在个job的variables模块中设置。如果没有设置...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

在树莓派上搭建 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 我们把两个树莓派工作节点的主名分别设置为...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Debian下安装搜狗拼音输入法

Linux上的中文输入法,基本上都比较原始,仿佛还停留在上个世纪。唯有搜狗还行。 简介 2013年12月,搜狗与Ubuntu Kylin团队开始合作开发“搜狗输入法Linux版”。经过五个月的合作,于2014年4月17日,正式发布了1.0版本。2015年10月16日更新至2.0版本。 搜狗输入法Linux版基于开源小企鹅输入法框架、开源Qimpanel面以及搜狗输入法引擎开发。目前,我最看重的功能有: 智能输入,动态调频,动态组词 可自由导入的细胞词库 模糊音输入,智能纠错 方便的中英文切换 长词联想 逗号句号翻页 皮肤替换 添加源安装 由于Debian官方是不支持搜狗输入法的,因此纯命令行操作,要先添加源。 如果没有apt-add-repository,先用sudo apt-get...阅读全文

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

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

AWS的预留实例(Reserved Instance)是一种计费方式,并不是一种计算实例,简讲是一个“包年包月”的优惠方式。购买RI后,可以获得30%以上,至最高 75% 的优惠。你可能会说:“这些我都知道,并且RI我已经在用了。” 你真的熟悉 RI 吗? 我们知道预留实例(RI)分为两种: 标准RI与可转换RI(CRI),可转换RI的价格往往较高而不容易被接受,而我们又经常遇到需要调整RI,那么我们购买的标准RI能不能进行适当的转换呢?答案是没问题的,AWS为满足客户的需求,提供了很灵活性的设定。 今天主要介绍一下RI的三个灵活属性:大小灵活性匹配,合并拆分,可转换(CRI),我们暂且这么称呼,三者适用于不同的场景,是互相补充的关系。 大小灵活性匹配 场景:区域范围RI 、相同实例类型...阅读全文

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

Debian 安装包的简单制作

在Linux分发软件有两种形式,一种是源码,一种是安装包。当目标器不带有编译环境,且不能联网时,安装包就是唯一的方案了。 Linux 下的安装包有多种格式,不同Linux使用的格式并不完全相同。市场上主流的安装包格式是*.deb *.rpm 其中deb是debian系列的安装包,rpm是CentOS系列的安装包。 本文主要介绍的是一种简的deb安装包的制作方法,使用范围有限。如需了解更多可以阅读Debian 新维护人员手册 所需工具 如果没有安装dpkg工具包的话,就先安装(一般是默认安装的) sudo apt-get install dpkg 文件结构 example-package ├── DEBIAN (必须) │ ├── control (必须) │ └── md5sums...阅读全文

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

系统分析工具 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

Golang后端面试题目

,merge跟rebase 技术二面 项目相关 通过腾讯会议,腾讯的两个大佬一起面试。 项目实现爬虫的流程爬虫如何做的鉴权吗怎么实现的分布式爬虫电商系统图片多会造成带宽过高,如何解决micro服务发现mysql底层有哪几种实现方式channel底层实现java nio和 go 区别读写锁底层是怎么实现的go-micro 微服务架构怎么实现水平部署的,代码怎么实现micro怎么用怎么做服务发现的mysql索引为什么要用B+树?mysql语句性能评测?服务发现有哪些制raft算法是那种一致性算法raft有什么特点当go服务部署到线上了,发现有内存泄露,该怎么处理还有一些非常底层的问题 总结 腾讯对于基础部分是相当重视的,总体回答的还算可以项目部分腾讯也是非常重视,从电话里面听出来有一个架构在面试我...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招