最新 | 最热门 | 最高评价

+0  RHEL/CentOS/OracleLinux 8 yum 能看到,安装却没有的情况

Tag: Tech Notes
kxn 发于 2021年03月05日 15:15 | 点击: 387 | 展开摘要
最近发现 CentOS 强制升级到 OracleLinux 8 以后有些包用 yum search 可以看到,但是 yum install 却说没有。比如 golang 就是这样的。

简单研究了一下,是因为 RHEL8 里面引入了 module 的概念,可以把一些软件包给做成 module , 可以自己选择用哪个分叉,比如 gcc8 和 9 会依赖完全不同的两套软件包,这就可以做成两个不同版本的 module 。 yum search 能看到,但是安装不了就是因为 modu

查看全文: http://www.udpwork.com/item/17759.html

+0  让服务器响应整个网段中的请求

Tag: Tech Notes
kxn 发于 2021年02月28日 12:31 | 点击: 351 | 展开摘要
最近有个需求是让某个服务器能够响应一整个网段的请求,研究了一下,发现比想象的容易。

假设需要的网段是 172.16.0.0/16 (好多IP!) 我们需要让用户能用这个段里面任何一个 IP 访问我的服务器,服务器IP实际是 192.168.1.4 ,那么分这样两步走就行。

1: 在路由上将 172.16.0.0/16 设置一条静态路由,网关是 192.168.1.4

在别的机器上 ping 172.16 段里面任何一个 IP,肯定现在还 ping 不通,但是在 192.

查看全文: http://www.udpwork.com/item/17760.html

+0  Revealing a Forgotten Chinese Compute History: Stone MS-1300 and MS-1301: Re-branded Victor V86p

Tag: misc | tech
Difan Zhang 发于 2021年02月05日 12:00 | 点击: 445 | 展开摘要
So this is really a quick update for some new discoveries. If anyone has a
Victor V86p and found this page -- today is your lucky day.

Recently, I ordered another set of Stone Chinese Typewriter, Stone MS-1300 and
MS-1301. They're dirty ch

查看全文: http://www.udpwork.com/item/17827.html

+0  不要买技嘉 X570 Gaming X 主板

Tag: Tech Notes
kxn 发于 2021年01月31日 16:05 | 点击: 346 | 展开摘要
装了这么多年电脑,头一次遇到被电脑主板散味熏的头疼了好几天的情况。。。

之前台式机是 3700X + MSI Mortar B450m, 用的没啥问题就是槽不够用,因为有加设备的需求,打算借机就换个 X570 飞一下,于是选择了一线品牌里面最便宜的这个 GIGABYTE X570 Gaming X,1099 大元入手。

拿到以后一看 PCB 觉得比较一般,看上去不像一线品牌应该有的样子,也没多想就直接上机了。结果开始烤机以后电脑机箱里面温度上升,主板就开始发出比较浓的化学

查看全文: http://www.udpwork.com/item/17761.html

+0  Golang socket 里面奇怪的 pipe 使用

Tag: Tech Notes
kxn 发于 2021年01月21日 14:06 | 点击: 349 | 展开摘要
有个 golang 写的 proxy server, 大概日常 tcp 连接数两万多左右,结果某次在 /proc/pid/fd 下面一看,竟然有五到六万多文件,ls -l 一看,居然 socket 只有两万多,pipe 反而有三万多小四万,这就奇了怪了,哪儿来的这么多 pipe?

读了一阵子源码搞清楚了,golang 在 Linux 下面,对于 fd 对拷这种操作【具体是 net.Conn.readFrom(net.Conn)】,有个用 splice 系统调用的优化,会先试

查看全文: http://www.udpwork.com/item/17762.html

+0  用RenderDoc和安卓模拟器抓帧手游

Tag: Tech Notes
kxn 发于 2021年01月14日 22:44 | 点击: 435 | 展开摘要
知乎上有一篇用 Intel GPA 和安卓模拟器抓帧手游的帖子,不过 Intel GPA 配置相对比较繁琐,还有版本问题。还是 RenderDoc 比较习惯。所以研究了一下如何用RenderDoc来抓帧模拟器,倒是蛮简单的。这样手游只要能用模拟器运行,就一定可以被抓帧,什么 ro.debuggable 啊,USB 调试啊都不需要管,root 也不用开,绝无被检测到的可能。

首先要设置 Windows 环境变量 RENDERDOC_HOOK_EGL = 0 ,这个是为了防止

查看全文: http://www.udpwork.com/item/17763.html

+0  浅谈配置文件

Tag: Technical | Kubenetes
老王 发于 2020年12月28日 08:58 | 点击: 451 | 展开摘要
很少有人关注配置文件,但它绝对是一个值得讨论的问题。

一个常见问题是:如何处理不同环境下不同的配置?传统的解决方案是为每个环境都单独设置一个配置文件,比如 rails 项目里一般会有 development、production、test 等几个配置文件,不过此方法不易扩展:更多部署意味着更多新的环境,随着项目的不断深入,开发人员可能还会添加他们自己的环境,这将导致各种配置组合的激增,从而给管理部署增加了很多不确定因素,此外,直接在文件中保存配置的话,如果有用户名密码等敏感

查看全文: http://www.udpwork.com/item/17713.html

+0  解决 Mac 电脑原生 EFI 安装 Windows 启动很慢的问题

Tag: Tech Notes
kxn 发于 2020年12月26日 21:43 | 点击: 295 | 展开摘要
Mac 电脑如果不用 bootcamp,直接用 EFI 方式安装 windows 或者其他操作系统,会发现开机的时候会黑屏或者灰屏停留 30 秒才开始引导。网上搜到的很多帖子都说需要用 recovery 盘启动,用 bless 命令修改 bootloader 参数,实际上这个方法并不适用于原生 EFI 方式,只适用于用 bootcamp 方式安装 bios 启动的操作系统。

真正导致这 30 秒 delay 的原因是 bootloader 找不到原本的 EFI 启动项 Ma

查看全文: http://www.udpwork.com/item/17764.html

+0  CentOS 在线升级 Oracle Linux 的方法

Tag: Tech Notes
kxn 发于 2020年12月09日 23:33 | 点击: 298 | 展开摘要
1:强制安装 oraclelinux-release 和 redhat-release 的包

从 yum.oracle.com 找到对应版本这两个包的最新版,例如 Oracle Linux 8(对应 CentOs 8) x86_64 这两个包最新版是

https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/oraclelinux-release-8.3-1.0.4.el8.x8

查看全文: http://www.udpwork.com/item/17765.html

+0  Hello Oracle Linux

Tag: Tech Notes
kxn 发于 2020年12月09日 22:12 | 点击: 297 | 展开摘要
为了响应红帽给 CentOS 判的死刑,本站今晚成功在线升级到 Oracle Linux 8,完全平滑无障碍。

[root@blog ~]# cat /etc/oracle-release

Oracle Linux Server release 8.3

[root@blog ~]# cat /etc/redhat-release

Red Hat Enterprise Linux release 8.3 (Ootpa)

[root@blog ~]# uname -a

查看全文: http://www.udpwork.com/item/17766.html

+0  实战etcd的服务发现

Tag: Technical | ETCD | Golang
老王 发于 2020年11月17日 21:17 | 点击: 501 | 展开摘要
在云原生的时代,服务发现已经是必不可少的功能,我借着最近迁移 gRPC 服务的机会尝试了一下如何用 etcd 实现服务发现,期间遇到诸多问题,本文逐一记之。

虽然 gRPC 并没有内置 etcd 的服务发现功能,但是它提供了相关接口让我们扩展:

// Builder creates a resolver that will be used to watch name resolution updates.
type Builder interface {
// Buil

查看全文: http://www.udpwork.com/item/17714.html

+0  实战Prometheus

Tag: Technical | Kubenetes | Prometheus
老王 发于 2020年10月26日 15:12 | 点击: 422 | 展开摘要
最近手头的项目开始从 PHP,Lua 迁移到 Golang,心想正好趁此机会夯实监控,提到 Golang 的监控,不得不说 prometheus 已经是标配,在 Golang 里集成起来非常简单:

package main

import (
"net/http"

"github.com/prometheus/client_golang/prometheus/promhttp"
)

func main() {
http.H

查看全文: http://www.udpwork.com/item/17715.html
|<<<1234567>>>| 一共30页, 355条记录