V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yanqiyu  ›  全部回复第 2 页 / 共 37 页
回复总数  721
1  2  3  4  5  6  7  8  9  10 ... 37  
@EZ4ZZW 可能出问题的地方太多了,比如直接上来就有 findmnt 来找挂载点,但是 findmnt 输出是带树状结构的,然后 grep 的结果直接就 for-loop ,这样子要是路径有空格也会出问题

然后前前后后就导致该卸载的卸载点没卸载掉,然后就把盘里面的文件干掉了
所以 AI 很容易搞出这种似是而非的代码,不过我吃过最大的亏就是似是而非的代码导致长达半小时的 debug 。

不过要是想要清理挂载点盖住的文件,完全可以考虑先 unshare -m ,然后把挂载点卸了(这时候就不用考虑卸载不掉的那种情况了),然后删除文件就行了。
100 天前
回复了 zuotun 创建的主题 Linux 什么情况下才会自己编译内核?
用灵车特性,然后炸了,然后找对应子系统开发者对线,他发我个 patch 让我把内核换掉之后跑起来把日志给他。如此反复定位问题
104 天前
回复了 gandiaojjj 创建的主题 NAS 似乎没人关注 nas 的 i/o 性能
一般的影音需求(哪怕是视频剪辑)也对于 iops 要求很低。我能想象的也就是把虚拟机镜像放在 NAS 上用虚拟机(或者直接把其他机器的启动盘用 iSCSI 放在 NAS 上这种用法)。但是家用场合很少有这么折腾的....
用 Windows 的安装程序重装,数据都会在 windows.old ,把又需要的数据拷出来就行
108 天前
回复了 zzzyk 创建的主题 Linux 求助大佬, fat32 预分配空间要怎么做?
fat32 不支持稀疏文件,所以不能预分配,就算预分配也是 dd 一串 0 进去,所以 sync 慢
@chundi #4
> 我回滚过很多次,常见的回滚情况比如系统更新了但网卡驱动还没更,上不了网,或者某些库被移除了部分软件打不开之类的,启动时 grub 菜单选一个只读的快照进去,打开终端 snapper rollback 之前的快照就可以了,很方便。

我猜原因就是回滚之后 `/usr/lib/modules/` 里面的内核版本和启动的时候用的对不上了?不过我不太清楚 snapper 会不会连着 /boot 里面的内核镜像一起快照了,没有的话就几乎肯定会有这个问题。

这时候就要推销 silverblue 这种 ostree 模式了,保证内核在内的一起回滚。

> 但也不是绝对的可以无痛回滚,比如 KDE5 升级到 KDE6 这样的大版本升级,在我电脑上就升挂了,回滚也不好使,不过就遇到过这一次。

有一种情况是升级的时候,第一次登陆 KDE 的组件对于什么数据库做了升级,然后回滚之后旧的 KDE 不认识了,然后就炸了。
除非是把 bootloader 搞炸了是可以实现一键回滚的(我记得 suse 可以在 grub 里面选择启动到某个快照)

不过想要避免更新导致爆炸真正的银弹是 Transactional Update ,比如 Fedora 的 silverblue 之类的 ostree 变种和 suse 的 micro os 版本。
112 天前
回复了 honmaple 创建的主题 NAS 绿联 nas 还没有升级到 UGOS Pro 的千万别升
0.0.0.0:53 就算被占领了你大概也能监听 host-ip:53 (host ip 就是你的 nas 的 ip 地址)
@BRS5672023 #8 一般我也不会太细究为什么,毕竟研究 iobuffer 行为大概率会变成无用功(这方面折腾不如用现成的 TUI 库),但是原因大概是 cin 的流操作会留一个\n 在 buffer 里面(对应的 getline 不会)

可能有些路径没有最后一个(输入的)换行之前用的 cin >>, 然后\n 就留给了最后的 cin.get();然后退出了。
general: cin.eof 除非我按 Ctrl+D ,或者 pipe 进来个文件,否则始终是 false ,所以有那个判断大概就是等价于删掉它包起来的代码。(并且一般交互式程序遇到 end of cin 大概就该结束了)

> 特别是如果我把 getValidInput 函数的这个判断给注释掉的话,那么在我输入 "2" 使用 "显示联系人" 这个功能时,需要再输入一个回车才会显示 "请按回车键继续" 的字符

cin.ignore(numeric_limits<streamsize>::max(), '\n'); 会一直等输入(堵塞)直到遇到回车,要是缓冲区里面没有回车的话。

> 而如果我仍然注释 getValidInput 中的这个判断,但取消 pause 函数定义中关于 cin.eof() 的注释(见上面的代码),那么在我输入 "1" 使用 "添加联系人" 的功能的时候,在我输入完联系人信息之后,pause() 似乎不会起作用,system("clear") 会直接清屏。。

那大概是缓冲区里面 somehow 留了一个\n...要是没有前面的 ignore 把它耗掉它就把那个 std::cin.get() pass 掉了
146 天前
回复了 pkokp8 创建的主题 信息安全 我不干净了
最差的情况:这类脚本服务器可以精心设计保证在 shell 执行和浏览器下载给你不同的输出。

建议重装系统
新手其实可以试一试 fedora 的 immutable 变种,https://universal-blue.org/ 甚至有配好了 nvidia 驱动的版本。不可变系统也不容易搞坏。软件也可以 flatpak/toolbox/distrobox 来安装,就无所谓软件什么来头了
个人体验,vscode 运行在 xwayland 下窗口开多了就会卡,用 ozone 跑在 wayland 下能解决问题,虽然代价是干掉了中文输入法
@EVANGELIONAir #62 > 我看不少人还喷 explorer patch 和 Windows 八字不合会蓝屏然后喷 MS 的

我到觉得 Windows 和 patch 开发商都有责任,Windows 提供了 patch explorer 的方法,但是没有提供“在这个版本的 explorer 的某些东西变了所以没有明确标示为可用的扩展都会被禁用”的方法或者特性。

结果就是在 Windows 上经常出现右键菜单莫名卡住之类的问题。然而想要列出有哪些扩展注册了又得用专门的程序(注册表的一堆 uuid 太反人类了),至少解决这些问题的门槛比 Linux 用户倒腾扩展要求高。
从本科开始就几乎只用 Linux 桌面(除了玩 3A 大作或者有反作弊的游戏会用 windows 设备之外),用 Linux 桌面的原因不是因为快之类的,而是因为方便和控制感。方便当然是开发工具链方便,都说 C++没有包管理,但是 Linux 系统包的各种 xxx-devel 就是 C++的开发的包管理。Linux 工具链也比 Windows 上面的 VS+windows SDK 来的要轻便

不过这么长时间用 Linux 也有 Linux 的问题,比如我很久之前用 beta 的时候就闹过笑话,同学叫我给他传文件,但是 xdg-portal 的一个 bug 导致我浏览器上传文件的窗口弹不出来。

但是换个角度,我发现浏览器选文件的窗口弹不出来之后我能立刻根据对于 Linux 桌面的了解知道挂个 dbus-monitor 、检查前后的系统日志和 coredumpctl 看谁的锅、看出来谁的锅了之后可以给对应的程序挂个调试器。定位到 bug 之后上 GitLab 一看,虽然发现 bug 已经被报告了,没有什么可以做的。但是在这个时间点,我可以选择忍耐 bug 等更新,或者回退到 bug 之前的版本,我就有了解决方案了。就这几天 dash-to-dock 和 gnome47 beta 闹毛病也是,简单观察下日志,定位问题,给 dash-to-dock 的 issue 评论,他也很快的帮我定位了卡顿的原因,就算有问题,都是在我的控制之下的。

Linux 给了这个自由和能力来解决问题。相对的,曾经一直服役的 Windows 游戏本,想拿出来玩玩黑猴,前几天拿出来发现触控板不灵了。检查了设置、厂商的私有 app 的设置、键盘组合键开关都无果,更新了系统也无果(不是硬件故障,UEFI 的图形界面里面能用)。然后我就没办法了。我也找不到资料告诉我应该怎么修,Windows 在丢了备份之后也没办法不丢数据的回滚(反观 Linux ,我可以精确的回滚我的/usr 到任意给定的某天的版本)。不过玩黑猴,也无所谓触控板了,插上鼠标玩玩,玩过了笔记本又放到角落吃灰了。

并且我也很少遇到 Linux 桌面恶性 bug ,最糟糕的也就是 Gnome 可能锁屏就整个 crash 这种,但是也没因此丢过文件所以无所谓了。但是 Gnome 有些很贴心的功能我很喜欢,最在意的就是 gnome 在线账号可以配置 krb5 账号,然后 gnome 就会自动更新 ticket 云云,对于集群用户很方便。以及容器允许我在自己电脑上搭建和集群几乎完全一致的环境,可以在网络不理想的时候测试更改。
174 天前
回复了 ChainLock 创建的主题 程序员 Linux 写时复制问题
@wxf666 是,除非是 mmap 的 shared 这种情况,之外父子进程都会看到 ro 的页面,等写入的时候中断介入复制
178 天前
回复了 mengyanshou 创建的主题 信息安全 Github 账号被盗了
其实出于好奇我也下载了,丢到容器解压一看一个 exe 几个 dll
甚至还是 libstdc++的 dll
非常失望,开源供应链攻击都瞧不上了 linux 用户
178 天前
回复了 mengyanshou 创建的主题 信息安全 Github 账号被盗了
@Pointless 我也遇到个,顺手举报了然后还评论了个 “The reply from @PiaoR in this issue seems to be a spam or an attacking attempt, please don't follow its guidance.”

GitHub 过了一个小时就删回复封号了
181 天前
回复了 mingtdlb 创建的主题 Linux 小弟问下 systemd 日志的问题
@skyrim61 这是 systemd 自己的 manpage
1  2  3  4  5  6  7  8  9  10 ... 37  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   873 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 20:56 · PVG 04:56 · LAX 12:56 · JFK 15:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.