我读到 ZFS 和 Btrfs 使用校验和来防止数据降级,并且我读到 Git 通过对每次提交的所有内容进行散列来实现完整性。
我打算在带有 Btrfs RAID 1 的 Linux NAS 上使用 Git 服务器进行存储,但是如果 Git 具有完整性,我想这不是必需的(至少如果我想要防止数据降级的话,则不需要)。
问题: 那么 Git 的完整性虽然在每次提交时对所有内容进行散列,但是否可以防止或帮助防止位腐烂?
我在这里看到了一些问题,人们不小心做了rm -rf --no-preserve-root
或rm -rf *
,在他们做出反应之前擦除了大部分或全部文件系统。
是否有理由使用--no-preserve-root
,无论是在正常使用中,作为开发人员还是作为管理员?
我有一个 100GB 的驱动器,里面有一个 95GB 的文件。我需要释放驱动器上的一些空间(现在不能将文件从驱动器传输出来)。该文件将与压缩以及gzip
或bz2
或什么,但所有这些程序写入的压缩文件到一个单独的文件。我没有足够的可用空间。
有没有办法使用标准压缩工具或其他 Unix 实用程序来压缩文件而不使用任何额外的磁盘空间(或至少是最少的额外磁盘空间)?我正在想象一次压缩文件的一部分并将结果直接写在文件上的东西。我意识到这会有风险,因为如果压缩中断,文件就会损坏,但我认为我别无选择。
在 Windows 7 家庭高级版中,在 C 驱动器根目录下的 PuTTY 密钥生成器(又名 Puttygen)中保存私钥后,它在资源管理器中不可见。
如何重现:
C:
。id_rsa
,将文件另存为C:\id_rsa.ppk
.C:
。结果:没有id_rsa.ppk
可见。
证明文件存在:
C:
。在此窗口中,您可以与文件进行交互。我从那里检查了文件属性:
附加信息:
确实使文件显示在资源管理器中的事情:
C:\
. 我确实收到了“目标文件夹访问被拒绝”的请求,我必须先单击“继续”。D:
在本例中)并导航到那里。未能使文件显示在资源管理器中的事情(F5在每次操作后点击资源管理器窗口中的刷新):
foo.ppk
.C:\
Puttygen …我有一个脚本可以在我的主目录中递归创建符号链接到我的设置目录,以保持文件处于版本控制之下。我希望它跳过已经通过父目录进行符号链接的文件。也就是说,如果我有这些文件/目录:
~/foo/ -> ~/settings/foo/
~/settings/foo/
~/settings/foo/bar
Run Code Online (Sandbox Code Playgroud)
, 我如何检查 ~/foo/bar 和 ~/settings/foo/bar 是同一个文件?
编辑:D'oh,又经过几分钟的搜索揭示了答案:readlink -f $path
华硕主板上BIOS POST 之前不同 DRAM_LED、电源按钮和蜂鸣模式的规范含义是什么?我的手动和其他网络搜索在论坛中只找到了模糊的概念。
我的具体问题是在将 PSU(旧的没有死,但有电源按钮问题)更改为Corsair AX760并仅连接 CPU 和 24 针主板电缆后:
按 MemOK 后!按钮
我试过按 MemOK!带有各种内存配置的按钮(第 1、第 2 和第 3 个插槽),有时会闪烁 3 次,有时会闪烁两次,有时会闪烁一次。拥有所有这些的参考将非常有用。
如果我将任何其他电缆连接到 PSU(SATA、GPU),电源按钮会保持红色但不执行任何操作。也就是说,如果我按下它,则没有蜂鸣声、DRAM_LED 灯或风扇运行。
这应该不是电源问题,因为新 PSU 的瓦数比旧 PSU 高,并且运行相同的硬件。24+8主板+CPU接口都接好了。
更新:切换到随 PSU 提供的电缆后,我现在可以启动了。谁知道为什么?不幸的是,在此过程中,似乎一个 SSD 和一个 HDD 被灰尘短路炸毁了 - 如果我将电源插头连接到 HDD(我尝试了多条电缆),则未检测到 SSD 并且机器拒绝启动。无论如何,最初的问题仍然存在——你如何解释这些模式?
我试图在不打开盒子的情况下弄清楚我的系统是否支持 PCI Express。lspci 没有在任何地方提及“Express”或“PCI-e”,但 dmesg 报告说“PCI Express 热插拔控制器驱动程序”正在使用中。
kill -9
由于无用使用 Kill -9 form letter 中描述的原因,我试图避免。这个功能是否足够,或者我是否需要kill
在超时后终止进程或处理其他微妙之处?
soft_kill()
{
# Try to avoid forcing a kill
# @param $1: PID
kill $1 || kill -INT $1 || kill -HUP $1 || \
(echo "Could not kill $1" >&2; kill -KILL $1)
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这个函数的更好的名字是什么?现在的名字让我想起了《温柔地杀了我》,manslaughter
听起来有点严厉。也许spoon_kill
(谷歌它)?
在Seahorse的“默认信任”选项卡中,有几个名为“(null)”的个人证书,由“No name”颁发。他们的属性页上没有任何内容。这些是什么?它们可以安全删除吗?
eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export GPG_AGENT_INFO SSH_AUTH_SOCK
Run Code Online (Sandbox Code Playgroud) 使用 简化 Git 分支的历史记录后git rebase -i
,我在使用遥控器时遇到了一些麻烦:
$ git push remote-name branch-name
CONFLICT (add/add): Merge conflict in ...
error: failed to push some refs to 'ssh://...'
$ git pull remote-name branch-name
...
Automatic merge failed; fix conflicts and then commit the result.
$ git mergetool
$ git commit -m "Merge"
Run Code Online (Sandbox Code Playgroud)
现在分支的历史被搞砸了,在我第一次提交之前的某个看似随意的点之后,我的提交出现了两次(gitk 中的平行线)。我试过了git rebase -i
,但现在它抱怨它“无法应用 123abc...”。如何摆脱并行提交?
linux ×6
git ×2
arch-linux ×1
btrfs ×1
certificate ×1
compression ×1
kill ×1
motherboard ×1
ntfs ×1
pci-express ×1
putty ×1
rm ×1
unix ×1
zfs ×1