小编tec*_*raf的帖子

如何将文件从一个 zfs 文件系统移动到同一池中的另一个 zfs 文件系统?

我在同一个 zfs 池中有两个文件系统,/mnt/fs_a并且/mnt/fs_b. 我想约1TB的数据,从移动fs_afs_b。但是当我:

mv /mnt/fs_a/mythtv_recordings /mnt/fs_b/
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,它开始逐块复制文件。鉴于移动 2GB 文件所需的时间,看来此操作需要数天的大量抖动才能完成。

必须有一种更聪明、更快的方法来做到这一点,对吗?

zfs

23
推荐指数
1
解决办法
1万
查看次数

从带有不需要的更改行的终端复制长的单行文本

locate ... | less 输出一条长路径,在终端中显示为几行,尽管它实际上是一行。

我通过用鼠标选择文本并点击Ctrl+ Shift+从终端复制路径C。当我将它粘贴到文本文件中时,我在文本中得到了不需要的更改行,与在终端中显示的方式完全相同。

但我记得有时我可以复制由 输出的长路径locate ... | less,而不会引入不需要的换行,有时我不能。我不知道我是否做了不同的事情。

所以我想知道如何确保问题不会发生?谢谢!

我的操作系统:Ubuntu 12.04。

我的终端:Gnome 终端 3.4.1.1

ubuntu terminal text

16
推荐指数
2
解决办法
2万
查看次数

为什么驱动器的大小有两个不同的值,以及如何将它们与设备映射器和 LVM 协调?

我有一个通过 USB 连接的 1 TB 驱动器。它包含一个填充整个设备的 LVM物理卷(没有任何分区表)。当我尝试使用整个 PV扩展逻辑卷时设备映射器开始抱怨 LVM 在 PV 上分配的部分大于设备。来自设备映射器的错误消息(如 所示dmesg)报告大小为1953320367 [dm] 扇区:

device-mapper: table: 254:0: sdf too small for target: start=1821353984, len=132169728, dev_size=1953320367
Run Code Online (Sandbox Code Playgroud)

但是 LVM 创建了一个具有 238467 个物理范围的 PV ,即1953521664 [lvm] 个扇区(大约多 100 MB):

$ pvdisplay /dev/sdf
  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               apu-vg1
  PV Size               931.51 GiB / not usable 1.71 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              238467 …
Run Code Online (Sandbox Code Playgroud)

linux lvm hard-disk device-mapper hdparm

14
推荐指数
1
解决办法
2327
查看次数

Docker + 网桥 + DHCP

我有很多 docker 容器,我需要在与它们的主机相同的 LAN 上进行寻址。到目前为止,我一直通过使用设置桥接器并手动为其分配 IP以及自己管理 IP来实现这一点。一个示例启动将是这样的:

docker run \
--net="none" \ \
--lxc-conf="lxc.network.type = veth" \
--lxc-conf="lxc.network.ipv4 = 192.168.1.3/24" \
--lxc-conf="lxc.network.ipv4.gateway = 192.168.1.254" \
--lxc-conf="lxc.network.link = br0" \
--lxc-conf="lxc.network.name = eth0" \
--lxc-conf="lxc.network.flags = up" \
-d [Docker Image ID]
Run Code Online (Sandbox Code Playgroud)

主机在/etc/network/interfaces(ubuntu) 中定义了网桥,如下所示:

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.254
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
Run Code Online (Sandbox Code Playgroud)

自从我发现了serf,我一直在尝试在容器内使用自动发现,以便 DHCP 可以跟踪 IP 并将它们分发给容器。我从那以后将启动命令更改为: …

dhcp bridge docker

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

如何将 LD_LIBRARY_PATH 导出到所有用户和系统服务

我想导出LD_LIBRARY_PATH到系统服务和所有用户。系统服务在登录前运行,因此.bashrc不适用。

如何实现这一目标?

libraries path environment-variables dynamic-loading

13
推荐指数
1
解决办法
4万
查看次数

是否可以在裸机上安装 KVM?

我浏览了许多关于 KVM 安装的站点和教程,每个教程都说“在 XYZ OS 下安装 KVM”。

KVM 是一种类型 1(裸机)管理程序。那么KVM不应该直接安装在硬件之上吗?

是否可以像 ESXi 一样在没有任何操作系统的完全裸机上安装 KVM?

对于 ESXi,我们不需要任何操作系统,我们可以直接从媒体安装它。我们的目标是在没有操作系统的裸机 CPU 上直接安装 KVM 管理程序。

kvm virtual-machine

13
推荐指数
2
解决办法
3万
查看次数

在 zsh vim 模式下执行命令

zshin 中vim mode,我写了一些东西

foo foo bar bar
Run Code Online (Sandbox Code Playgroud)

然后我点击Esc进入正常模式并输入 :

foo foo bar bar
execute: _
Run Code Online (Sandbox Code Playgroud)

然后,我假设我可以做到这一点,我想搜索并替换barbaz

foo foo bar bar
execute: s/bar/baz/g_
Run Code Online (Sandbox Code Playgroud)

然后我尝试按 Enter 键,但这不起作用。我只能从execute使用Ctrl+ 返回c

如何执行命令?

我用我的正常人试过这个,根本.zshrc没有.zshrc

vim zsh

13
推荐指数
1
解决办法
5291
查看次数

如何在 Linux 服务器上创建仅具有远程 ftp 访问权限的用户?

我正在运行 Ubuntu 10.04 LTS 服务器,我想创建只能从 FTP 访问服务器的用户。

到目前为止我所做的是:

  • 安装 vsftpd
  • 创建新用户,默认登录 shell 设置为 /bin/false

服务器上的普通用户都可以通过 ftp 访问他们的 home 文件夹,但是通过设置它来删除远程 shell 访问的用户/bin/false也无法通过 ftp 登录。

我不明白 shell 访问如何影响vsftpd服务器?如何在不重新启用 shell 的情况下启用 ftp 访问?

更新:
我发现这个参考资料指出我应该使用/sbin/nologin(似乎/usr/sbin/nologin在 Ubuntu 中)并且它不应该影响 ftp 访问,但它在我的情况下不起作用。

users ftp

12
推荐指数
1
解决办法
3万
查看次数

为什么 /etc/network/interfaces 中的 post-up 命令在启动时多次运行?

以下是内容/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

post-up /etc/network/if-up.d/sshstart
Run Code Online (Sandbox Code Playgroud)

而且sshstart是在它下面的脚本:

curl something something darkside send a file over ftps in the background &
/usr/bin/autossh -M 0 -f -N -o ServerAliveInterval=15 -o ServerAliveCountMax=3 -R 127.0.0.1:2005:127.0.0.1:22 -R 192.168.1.10:2006:192.168.2.110:1912 -L 127.0.0.1:5249:192.168.1.212:5249 username@17.16.15.2 -p 8080
Run Code Online (Sandbox Code Playgroud)

当机器重新启动时,该curl命令被执行多次,该文件在 ftp 服务器上结束了 2 或 3 次,当我查看进程时,似乎有多个 autossh 实例正在运行......不知道是不是这样autossh 会做或不做,但肯定 curl 不应该多次上传文件。

我的预感是整个sshstart脚本运行了多次,但我不明白为什么。

我尝试在启动时搜索有关网络设置过程的详细信息,但我能找到的只是接口文件的语法信息。

有人可以帮忙吗?

谢谢你。

---编辑---

按照下面的建议,我修改了我的接口文件如下(删除了上面的空行):

auto lo
iface lo inet loopback

auto …
Run Code Online (Sandbox Code Playgroud)

boot networkmanager network-interface

12
推荐指数
1
解决办法
5万
查看次数

立即打印存档文件列表(无需解压整个存档)

.tar.gz档案的一个问题是,当我尝试只列出档案的内容时,计算机实际上会对其进行解压缩,如果文件很大,这将需要很长时间。

其他文件格式,如.7z, .rar,.zip没有这个问题。列出它们的内容只需一瞬间。

在我天真的看来,这是.tar.gz存档格式的一个巨大缺点。

所以我实际上有两个问题:

  1. .tar.gz尽管有这个缺点,为什么人们使用这么多?
  2. 如果我想要“即时内容列表”功能,我有哪些选择(我的意思是其他软件或工具)?

tar archive compression gzip

12
推荐指数
1
解决办法
5606
查看次数