V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LindsayZhou  ›  全部回复第 3 页 / 共 18 页
回复总数  354
1  2  3  4  5  6  7  8  9  10 ... 18  
2023-11-08 13:58:28 +08:00
回复了 zuotun 创建的主题 Linux 赛博洁癖怎么治?
@fdghjk #24
好的,我是傻逼了。

默认有 kmod ,是 mkinitfs 的依赖,不知道我啥时候形成了没有的认知。

不过 mount 的时候要手动 modprobe 是确实的,我还没找到为什么要这样的原因。
2023-11-08 13:08:54 +08:00
回复了 zuotun 创建的主题 Linux 赛博洁癖怎么治?
@LindsayZhou #19
typo:
s/如果 btrfs 模块插入内核里/如果 btrfs 模块没在内核里/
2023-11-08 13:07:43 +08:00
回复了 zuotun 创建的主题 Linux 赛博洁癖怎么治?
私心安利一下 Alpine Linux ,说一个我印象比较深的。

alpine 默认不会装 kmod ,在 Arch Linux 上,kmod 是 linux 包的依赖。

如果对 kmod 没什么认识的话,简单说明是,接受来自内核代码的调用,自动 modprobe 内核模块的。
比如在 mount btrfs 分区时,如果 btrfs 模块插入内核里,会自动调用 kmod 来帮忙。

而在 Alpine 上,如果不手动 modprobe btrfs 的话,btrfs 分区是挂不上的,这对 ext4, xfs 之类东西也是一样的。
2023-11-08 12:55:09 +08:00
回复了 zuotun 创建的主题 Linux 赛博洁癖怎么治?
不用治,~~折腾到头了你就是下一个林纳斯/理查德·斯托曼(狗头保命 ~~

Dokcer 是最脏的东西,默认写一堆 iptables 就不能忍,用 btrfs 存储还会建一大堆子卷。
NixOS 也不能接受,尝试过一次安装,看到安装日志打出一大堆我不需要的软件就放弃了。


如果用 Arch ,pacman 可以列出你手动安装的哪些包,以及依赖关系,有命令可以删掉不再用到的依赖。

如果用 Alpine Linux ,有一个 /etc/apk/world 文件列出了手动安装的包。
apk fix 命令就能自动把不需要的包删了,把没有的包装上。
再进一步,用 Diskless 模式。
类似于楼上的 root on tmpfs ,Alpine 有个 apkovl 文件来保存数据文件,可以手动 include 和 exclude ,来确保系统重新启动时,只有 apkovl 保存过的文件应用到了系统上。
2023-11-07 16:42:32 +08:00
回复了 PerryHe 创建的主题 软件 哪个软件让你用起来感觉特别舒服,看见就发自内心的喜欢
Emacs is a Lifestyle
2023-11-07 16:34:59 +08:00
回复了 rev1si0n 创建的主题 Linux tmpfs 挂载后之前占用目录的进程无法发现刚 mount 目录中的文件
@LindsayZhou 续 #22
挂个 eBPF 程序进到内核空间把程序的 pwd 都改了 (狗头
2023-11-07 16:24:17 +08:00
回复了 rev1si0n 创建的主题 Linux tmpfs 挂载后之前占用目录的进程无法发现刚 mount 目录中的文件
@rev1si0n 不太了解内核,如果答错请指正

如果只是说 cd 这个命令,那只要能调用 chdir syscall 的其他命令都一样的。如果说 chdir 系统调用都不能用,大概率是无解的吧。

bash 启动子进程的时候,会继承 bash 进程的工作路径。
这个数据存储在 bash 进程的 current(struct task_struct *) -> fs(struct fs_struct *) -> pwd(struct path) 里,struct path 有两个成员 vfsmount 和 dentry ,都是和文件系统强相关的。
vfsmount 直接就是文件系统的挂载信息,而 dentry 里有 inode 之类各个文件系统独立的信息,不修改 pwd 对象大概是不行的。
怎么还有瞎答的。

debian 的网络服务是 networking ,看一下 journallog ( sudo journalctl -u networking) 有没有什么报错信息。

没报错的话,systemctl cat networking 看下怎么启动的,手动跑一下。
简单看了一眼, 用了 ifup 命令,这个命令有个 --verbose 参数,日志打印出来慢慢找问题吧。
2023-11-04 12:10:48 +08:00
回复了 hiplon 创建的主题 Linux 从现有 Linux 系统上安装 Gentoo [云环境无 VNC]
你这个把 boot 分区留下来了吧,我一般 Arch 重装用的 https://github.com/felixonmars/vps2arch
它把 boot 分区也给扬了。
2023-11-02 17:22:13 +08:00
回复了 cosmain 创建的主题 Linux Linux 时区环境变量 TZ 的一个问题
@LindsayZhou #3
我混乱了,请忽略第二段话
2023-11-02 17:20:36 +08:00
回复了 cosmain 创建的主题 Linux Linux 时区环境变量 TZ 的一个问题
这个命令给你显示的后缀,不是有个 UTC 吗,不是给你显示的本地时间。

我没用过 TZ 这个环境变量,看样子是给你的机器时间加了一个偏移,你机器的 UTC 时间 11-03 01:08 AM UTF 减 8h = 11-02 05:08 PM
2023-10-25 15:56:48 +08:00
回复了 lindongwu11 创建的主题 程序员 再推荐一下几个开源笔记软件
世界上只有两种笔记软件,Emacs OrgMode 和 其他 (狗头)

没有移动端需求,至少对我来说,OrgMode 绝对是笔记需求的终极解决方案。
觉得社区支持的发行版不一定比商业支持的慢。

给 alpine 打过包,觉得流程比较简单。
如果是 edge (滚动分支)的话,官方软件源要做什么改动,打包群众提个 pr ,流水线通过,管理员审核后合进去就完事了。绝大多数情况都能在一天之内得到回复。 Arch 那边好像也差不多。
stable 分支流程上可能会稍微麻烦一点,不过也就是一个 git 仓库的不同分支。

有那么多人盯着,理论上会比商业公司控制的快。

---
@hefish #6
又不是软件源里的包,全部都装了个遍。有些低风险,触发条件严苛的漏洞,应该也关系不大吧。
@LindsayZhou #4 哦,内核漏洞,内核漏洞就不确定了。
@hefish #1 是吗,lwn 有几个发行版的安全更新提醒。 https://lwn.net/Security/

上个 curl 的漏洞,debian 是 11 号修复的,RHEL 是 17 号,oracel linux 是 19 号。

瞟了一眼 alpine linux 的仓库,也是 11 号
2023-10-22 21:13:23 +08:00
回复了 chinesehuazhou 创建的主题 Python Python 潮流周刊#23: 35 个容易上手的 Python 小项目
[Progress on no-GIL CPython]( https://lwn.net/Articles/947138/ )
2023-10-18 13:49:48 +08:00
回复了 proxytoworld 创建的主题 Go 编程语言 goland 在 wsl2 git commit 签名时报错
@proxytoworld #4 盲猜是 goland 去调用 git 的时候,没有给 tty
```
> ssh tei env | grep GPG
GPG_TTY=not a tty
```

cache 里放那么久可能需要注意一下安全性,我是用物理密钥,拔了就 cache 失效了。
2023-10-17 16:51:09 +08:00
回复了 chaleaochexist 创建的主题 Go 编程语言 golang 是单进程的吗?
是不是可以这样想,goroutine 之间是可以共享全局变量的,那么表示所有的 goroutine 是共用一套内存地址空间的。

而环境变量存储的位置,如果我没记错,是在程序入口前面一小段的内存里面,既然所有的内存空间是共享的,那么这段环境变量的内存也是共享的。

这样就摆脱了线程进程的概念,不用考虑那些了。

(如果是进程,那内存页就是 COW 了)
2023-10-17 11:43:42 +08:00
回复了 proxytoworld 创建的主题 Go 编程语言 goland 在 wsl2 git commit 签名时报错
我不用 goland ,不过提供一些思路
1. .zshrc 是不一定会执行的,参考 https://medium.com/@rajsek/zsh-bash-startup-files-loading-order-bashrc-zshrc-etc-e30045652f2e 。放到 .zshenv 里应该更合适一点。
我不知道 goland 是怎么运行的。不过我的 VPS 用 ssh remote env 的方式能够确定 .zshrc 没有被执行

2. 你可以尝试一下在 ~/.gnupg/gpg-agent.conf 里加上 cache 配置

default-cache-ttl 86400
max-cache-ttl 604800

然后运行一下 gpgconf --kill gpg-agent 关掉旧的 gpg-agent 。再到终端里随便签个名,这样 gpg-agent 里就有了 cache ,一段时间内不会再要输入密码。
2023-10-15 13:45:51 +08:00
回复了 Aierk 创建的主题 自行车 南京有没有想一起骑单车的
去附近的车店打个气,上个油,然后要个群号就行了。找到的几率大得多。
1  2  3  4  5  6  7  8  9  10 ... 18  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5652 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 08:46 · PVG 16:46 · LAX 00:46 · JFK 03:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.