小编kil*_*ist的帖子

有没有办法在 ZFS 中创建文件副本?

我正在尝试制作一些文件/目录的副本,但在我所知道的几种方法中,似乎都不是最佳的。

例如,btrfs 可以与使用一起cp --reflink=auto快速生成文件副本。

我尝试过的:

  1. 符号链接:不好。重命名的文件,断开的链接。
  2. 硬链接:更好,但仍然不好。对一个文件的更改会更改另一个文件,我不一定希望更改另一个文件。
  3. 创建数据集的快照,然后克隆快照:这可以工作,但效果不佳。通常,我不是在寻找整个数据集的副本,也不是在寻找像另一个数据集一样的副本。然后是克隆/快照/原始之间的父/子关系,据我所知,如果不是不可能的话,这很难打破。
  4. 使用zfs send/receive并启用重复数据删除,将数据集复制到新数据集:这避免了使用克隆的父/子关系,但仍然不必要地创建另一个数据集,并且仍然受到必须100%读取文件所涉及的缓慢和再次引用而不是写入的块。
  5. 复制文件并让 dedup 完成它的工作:这可行,但速度很慢,因为必须 100% 读取文件,然后再次引用块而不是写入。

zfs 发送/接收和物理复制或 rsyncing 的缓慢进一步加剧,因为大多数东西都是压缩存储的,并且必须在读取期间解压缩,然后在 dedup 开始引用重复块之前进行压缩。

在我所有的研究中,我没有找到任何与 btrfs 中 --reflink 的简单性相似的东西。

那么,有没有办法在 ZFS 中创建文件副本?还是“物理”复制并让重复数据删除完成其工作是唯一真正的选择?

freebsd zfs

16
推荐指数
1
解决办法
4881
查看次数

哪些与 Windows 相关的文件对 *nix 用户毫无价值?

从我使用 Windows 开始,我已经积累了大量保留的文件系统副本以及系统和数据驱动器的存档。我试图将它们提炼成可用的部分,同时丢弃所有可能毫无价值的东西。

从观看一堆上述文件在复制时滚动,再一次,从一个固定驱动器到一个工作驱动器,我想我已经开始了一个“好”和“无用”文件的启动列表,但我想知道是否有应该立即丢弃无用的任何权威类型的文件列表(来自以前的 Windows 环境)?

获胜者:(我知道如果做出任何努力使其全面,这份清单可能会变得一团糟,所以这些不是我要找的,除非他们可能被垃圾包围,可能会无意中将他们摧毁) (编辑:如果唯一的方法是基于白名单的超级全面的方法,那就这样吧。如果不是这种情况,我更愿意,但乞丐不能成为选择者……大多数时候。 )

*.tar.*, *.rar, *.zip
*.mp(e)g, *.avi, *.mkv, *.wmv, *.asf
Run Code Online (Sandbox Code Playgroud)

失败者:( 这些才是我真正想要的)

*.exe, *.bat, *.dll, *.com, *.lnk
Run Code Online (Sandbox Code Playgroud)

我也知道会有例外。像安装程序 .exe 文件,用于在 Wine 中安装某些东西。就这个问题而言,这种担忧不是一个。所有有问题的文件都是副本(副本,可能还有更多副本),因此我真正想要保留的安装程序位于不错、安全且可能受写保护的地方。

linux backup files

11
推荐指数
2
解决办法
599
查看次数

退出时的 SSH LocalCommand

~/.ssh/configLocalCommand通过 SSH 连接到远程机器时,您可以使用该指令来执行本地命令。但是当我退出SSH 连接时如何执行命令?似乎 *.bashrc/.bash_profile* 文件在连接结束或关闭时不是来源。

osx bash ssh

9
推荐指数
1
解决办法
3876
查看次数

如何使用 netconsole 帮助解决内核恐慌?

当我尝试以 root 身份使用 raid 时,我的系统出现混乱。

我想在恐慌之前阅读内核输出,但无法向上滚动。在谷歌搜索了一下之后,我想尝试 netconsole。但我在第二台机器上根本没有输出

我当前 grub.conf 的相关部分

title Gentoo Linux 3.0.6
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo root=/dev/md3

title Gentoo Linux 3.0.6 (debug netconsole)                                                                                                    
root (hd0,0)                                                                                                                                   
kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 netconsole=@/,6666@192.168.0.27/00:18:f3:a8:09:61                                          
#kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 netconsole=6665@192.168.0.26/eth0,6666@192.168.0.27/00:18:f3:a8:09:61

title Gentoo Linux 3.0.6 (no root/auto root)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo
Run Code Online (Sandbox Code Playgroud)
  • 第一次因内核恐慌而失败
  • 第二个是我尝试使用 netconsole
  • 第 3 次开始但使用错误/旧根

另一台计算机正在运行我启动的 Kubuntu LiveCD nc -u -l 6666
如果我用第三个 grub 选项启动(第一台)计算机,我可以运行nc -u 192.168.0.27 6666以与第二台计算机进行通信。

/boot/linux-3.0.6-gentoo和之间的区别/boot/linux-3.0.6-gentoo-debug是我启用了:

  • 内核黑客 -> 内核调试
  • 内核黑客 -> 将每个启动 printk 消息延迟 …

networking kernel gentoo kernel-panic

7
推荐指数
1
解决办法
4111
查看次数

本地主机的 IP

Linux 实例如何确定自己的 IP 地址?

也就是说,不是 127.0.0.1。

这是存储在文件中还是 ifconfig 在每次调用时以某种方式计算它?

我设法解决了它,只是为了表明我付出了努力,但这并不是我在认真的申请中投入的任何东西:

sudo ifconfig | head -n 2 | tail -n 1 | tr -s " " | tr " " ":" | cut -d":" -f 4
Run Code Online (Sandbox Code Playgroud)

linux ip

6
推荐指数
3
解决办法
7万
查看次数

从一个笨手笨脚的管理员那里保护远程 *nix 安装的推荐方法是什么?

偶尔(通常是很长一段时间),我在执行一个完全搞砸 Linux 机器的命令时遇到困难。

最近,我不小心再次安装了根分区(认为这是我刚刚格式化的新 USB 驱动器),然后继续递归地将分区 chown 给自己(再次,只是试图授予自己用户访问 USB 驱动器的权限) )。一旦我意识到我做了什么(在进行中),我就放弃了它,但损害已经造成。许多核心程序不再是 root 拥有的,因此机器基本上处于僵尸状态。一些用户功能(ssh、rsync)仍然有效,但管理级别的东西被完全锁定。无法挂载、卸载、重新附加到屏幕会话、重新启动等。

如果机器和我一起在客厅里,“修理”它(重新安装)会很容易。但事实并非如此。它在我弟弟的家里。他对我带他进行维修/重新安装并不感兴趣,我理解这一点。所以,我将在几天后修复我所做的损坏(并希望安装一些更能抵抗管理员螺丝钉的东西)。

我说这一切是为了问一个问题:针对管理员的反抗强化安装的推荐方法是什么?

未考虑或考虑并迅速下降的事项:

  1. 加强管理员不执行愚蠢的命令:一个好主意,但行不通,因为作为一个人,我偶尔会做一些事后我意识到这是一个坏主意的事情。我想要做的是提前考虑自己,所以当我做一些愚蠢的事情时,机器会拒绝,我会意识到“哦,废话!那可能很糟糕(TM)!我们不要那样做再次。”

我考虑过的事情:

  1. 以只读方式挂载根分区:将保护根目录免受更改,如果预期部分可写,而并非可写,这可能会产生负面影响。也不一定能保护分区免于以读写方式再次安装在其他地方。
  2. 使用某种压缩的只读根映像,上面有一个类似联合的可写层,这样就不会真正对 root 进行任何更改,并且重新启动会清除任何错误:如果不需要更改,这将是好的/好的成为 root,也许 /etc 可以从其他地方的持久文件中重新加载/填充。
  3. 将 btrfs 与常规(可能是每天)快照一起使用,以便在发生错误时更容易恢复:可能仍然不是最佳的,因为它需要用户直接干预,而且我不知道我可以让其他人完成回滚 oops 的更改。
  4. 使用更“实时”/“嵌入式”的 Linux/BSD 发行版,而不是更通用的发行版,设计时更考虑稳定性/可预测性/安全性

就目前情况而言,我可能会使用选项 4 来安装一个比我一直使用的完整 Debian 安装更有限的系统。但作为一个文件服务器和 torrent 客户端,它应该可以正常工作,而作为一台远程机器,保护机器免受我自己的攻击是一项相当大的资产。

linux administration

6
推荐指数
2
解决办法
718
查看次数

$ls -lasrt 的输出包含 '.' 是什么意思 和 '..'

我输入命令:

     $ ls -lasrt
Run Code Online (Sandbox Code Playgroud)

并且输出包括(有更多结果,这些是让我困惑的结果):

   4 drwxr-xr-x 5 tuc40953 stdchem  4096 Jul  3 17:48 ..
   4 drwxr-xr-x 2 tuc40953 stdchem  4096 Jul  5 10:03 .
Run Code Online (Sandbox Code Playgroud)

这是否意味着最后写入的内容在上一个目录中?

ls directory

2
推荐指数
1
解决办法
2635
查看次数

标签 统计

linux ×3

administration ×1

backup ×1

bash ×1

directory ×1

files ×1

freebsd ×1

gentoo ×1

ip ×1

kernel ×1

kernel-panic ×1

ls ×1

networking ×1

osx ×1

ssh ×1

zfs ×1