让我们假设进程在 ulimited 环境中运行:
(
ulimit ... -v ... -t ... -x 0 ...
./program
)
Run Code Online (Sandbox Code Playgroud)
程序终止。
可能有很多原因:超出内存/时间/文件限制;只是简单的段错误;甚至返回码为 0 的正常终止。
如何在不修改程序的情况下检查程序终止的原因?
PS我的意思是“当给出二进制文件时”。也许一些包装器(ptrace-ing 等)可能会有所帮助?
如何使用原始颜色的反转创建pdf?
(就像用 反转整个屏幕一样xcalib -i -a)
最好:不要丢失超链接。但这不是要求。如果图像也被倒置就好了。
Into:我喜欢通过阅读资源来学习。但是在许多不同的项目站点上的互联网上搜索它们很累。我很想在一个地方看到包含许多应用程序源的中央可浏览存储库。
man toolname。 是否有任何存储库将大多数工具的来源集中在一个地方?- 就像man持有文档或Linux 交叉参考内核源代码一样。
我的意思是“快速”“按需”检查东西是如何实现的。(是的,我知道 google -> 但我厌倦了日常工作:1. 搜索项目站点 2. 浏览 repo 或更糟 -> 查看它的 repo 3. 完成后删除)
评论:
我已经强调了,我想检查工具:快速、快速、按需。
这意味着:我不想安装带有它的源的整个应用程序只是为了查看它的源。(顺便说一句。网络资源更可取,所以我可以检查多台计算机的来源 - 我没有对所有计算机的管理员)
如何用零清除未使用的空间?(我要求用于btrfs文件系统的工具)
我正在寻找比它更聪明的东西
cat /dev/zero > /mnt/X/big_zero ; sync; rm /mnt/X/big_zero
Run Code Online (Sandbox Code Playgroud)
就像FSArchiver正在寻找“已用空间”并忽略未使用但相反的站点。
目的:我想压缩分区图像,因此强烈建议用零填充未使用的空间。
顺便提一句。对于 ext3,ext4 :用零 (ext3,ext4) 清除未使用的空间。我在这里要求 btrfs
澄清“更智能的算法”:我看到“更智能的算法”会导致混淆,在这里我终于决定添加一行。亲爱的读者,请将文件系统视为数据结构。为简单起见,让我们想象一下自平衡红黑树持有映射,用作关联键->值数组,其中值是整数。目标是用零清除所有负值。“不智能”算法将迭代它并将键:值对添加到新映射(最终将负值更改为零)。智能算法只会检测存储负值的位置并就地清除它们。
我是 Alice,我收到了 Bob 的签名电子邮件。
我使用 Web 电子邮件客户端(例如 GMail),我看到附件之一是smime.p7s.
我找到了“显示原始消息”选项并将内容保存到message.orig.
假设 Bob 签署了电子邮件,我如何从命令行验证它?
(让我们假设 Bob 使用由一些受人尊敬的机构签署的认证密钥 - 我不知道是哪个,但我想是)
(Alice 不想安装具有适当功能的电子邮件客户端,只是为了一封邮件)
为了在监视器上反转颜色,我调用:
xcalib -invert -alter
Run Code Online (Sandbox Code Playgroud)
问题是,在双显示器设置中,它仅在第一个屏幕上反转颜色。
我不能使用 Compitz 小工具进行颜色反转,因为我的设置是
当两者都是 Piovot 时,双屏无法在我的卡上进行创作。
Xorg 似乎是唯一的解决方案。
xcalib 很棒,因为我可以立即根据应用程序进行切换。
任何建议,解决方案如何使用 xcalib 在两个屏幕上反转颜色?
聚苯乙烯
-screen 参数不起作用:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 130 (XFree86-VidModeExtension)
Minor opcode of failed request: 19 (XF86VidModeGetGammaRampSize)
Value in failed request: 0x17
Serial number of failed request: 10
Current serial number in output stream: 10
Run Code Online (Sandbox Code Playgroud)
这是我的xrandr屏幕配置:
~$ xrandr
Screen 0: minimum 320 x 200, current 2400 …Run Code Online (Sandbox Code Playgroud) 我知道 "wait->stop" 设计的缺点,通常是用 netcat 提出的:
server$ cat test.dat | nc -q 10 -l -p 7878
client$ nc -w 10 remotehost 7878 > out.dat
Run Code Online (Sandbox Code Playgroud)
(这是不可靠的:不知道你等了多久,网络瓶颈总是可能多一秒钟。-另一件事->如果你能立即知道数据被传输并开始处理它们,为什么要等 10 秒!)
我想要解决方案,可靠且漂亮的 tcp 流关闭。
我找到了 socat,关闭如下man socat:
当其中一个流有效地到达 EOF 时,结束阶段就开始了。Socat 将 EOF 条件传输到另一个流,即尝试仅关闭其写入流,使其有机会正常终止。
我发现以下命令有效:
服务器发送文件:
server$ socat -u FILE:test.dat TCP-LISTEN:9876,reuseaddr
client$ socat -u TCP:127.0.0.1:9876 OPEN:out.dat,creat
Run Code Online (Sandbox Code Playgroud)
服务器接收文件:
server$ socat -u TCP-LISTEN:9876,reuseaddr OPEN:out.txt,creat && cat out.txt
client$ socat -u FILE:test.txt TCP:127.0.0.1:9876
Run Code Online (Sandbox Code Playgroud)
它可靠吗?可以改进吗?(我是否使用了正确的选项?是否有更好的设置选项?- socat 有很多选项)
块级或更详细的重复数据删除有哪些可用的解决方案?
有基于文件的 - 使用“Copy-On-Write”方法。
我正在寻找块级“写时复制”,因此我可以定期查找公共块,或者 - 最好是 - 文件的一部分,合并它们并标记 CoW 使用方式。是否有类似的东西可用,还是仍然需要创建?我不确定 Btrfs 重复数据删除是否是块/文件/子部分级别?有 LessFS,但我不确定它提供什么级别的重复数据删除?也许其他解决方案?
如何安全可靠地恢复使用或完成的将文件复制$A到备份位置的过程?$Bpv "$A" > "$B"cat "$A" > "$B"
(假设文件$A很大,例如 LVM2 快照文件)
它可以实现dd吗?
首选:bash 或 python(最好是 python3)解决方案。
示例场景:pv "$A" > "$B"复制 90% 后中断。如何恢复它,以完成复制过程而不是再次重复整个工作?
我即将将该rsync --delete目录 /mnt/foo 的服务写入远程服务器。但是,由于--delete选项的原因,除非挂载 /mnt/foo,否则我不想运行它,因为这可能会导致删除远程上的所有文件。
用ConditionX(例如ConditionPathIsDirectory)和RequiresMountsFor=指令实现什么,有什么区别(每个的优缺点)?
草稿:这是我目前的草图:
RequiresMountsFor=/mnt/foo
Run Code Online (Sandbox Code Playgroud)
对比
# assuming there is `bar_only_on_foo` subdirectory on monted directory, which does not exis on unmounted one.
ConditionPathIsDirectory=/mnt/foo/bar_only_on_foo
Run Code Online (Sandbox Code Playgroud)
添加到.service文件:
# /etc/systemd/system/rsync_to_remotey.service
# or : /home/$USER/.config/systemd/user/rsync_to_remotey.service
[Unit]
Description=rsync USER X data to REMOTE Y
[Service]
Type=simple
ExecStart=/home/USERX/rsync_userx_to_remotey.sh
Run Code Online (Sandbox Code Playgroud)
为了正确起见,这里是.timer文件:
# /etc/systemd/system/rsync_to_remotey.timer
# or : /home/$USER/.config/systemd/user/rsync_to_remotey.timer
[Unit]
Description=Runs every 30 minutes rsync USER X data to REMOTE Y
[Timer]
OnBootSec=30min
AccuracySec=1h …Run Code Online (Sandbox Code Playgroud) backup ×2
colors ×2
storage ×2
btrfs ×1
compression ×1
conversion ×1
cryptography ×1
file-copy ×1
file-sharing ×1
filesystems ×1
learning ×1
linux ×1
openssl ×1
pdf ×1
process ×1
programming ×1
resources ×1
security ×1
signature ×1
source ×1
systemd ×1
tcp ×1
xorg ×1