小编Sep*_*ero的帖子

如何在拉取前确定 Docker 镜像大小?

我们可以像这样在 docker 网站上搜索可用的图像文件:

在拉取之前,我如何知道下载大小是多少?

docker.io pull [image]
Run Code Online (Sandbox Code Playgroud)

docker

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

如何将每个进程的 I/O 限制到最大限制?

我正在寻找一种方法来将进程磁盘 io 限制为设定的速度限制。理想情况下,该程序的工作方式类似于:

$ limitio --pid 32423 --write-limit 1M
Run Code Online (Sandbox Code Playgroud)

将进程 32423 限制为每秒 1 兆字节的硬盘写入速度。

io process-management hard-disk limit ulimit

37
推荐指数
4
解决办法
5万
查看次数

Samba:安装错误:无法解析 XXX 的地址:未知错误

我已经阅读了一些关于安装 samba 共享的指南,但还没有运气。

我可以使用以下命令“登录”到我的 samba 共享:

smbclient //vvlaptop/Documents
Run Code Online (Sandbox Code Playgroud)

它要求输入密码,但没有密码,所以我只需按 Enter。然后它通过提示成功地让我登录smb: \>。由于某种原因,我无法安装共享。这是我正在使用的命令:

mount -t cifs //vvlaptop/Documents /mnt/virginia
mount error: could not resolve address for vvlaptop: Unknown error
Run Code Online (Sandbox Code Playgroud)

如何成功挂载此设备?

samba mount cifs

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

如何轻松对齐 fstab 条目

使用我的文本编辑器编辑 /etc/fstab 会使所有间距不对齐。我可以浏览文件并插入/删除空格以排列所有内容,但我正在寻找更自动化的解决方案。理想情况下,会有一个在线 javascript 页面,我可以将 fstab 放入其中,并让它“漂亮”地对齐所有内容。然后我可以将最终结果复制/粘贴回文件中。

是否有类似或更好的解决方案?

编辑:
我在我的桌面上使用 Linux,并且我并不寻求加入 vi 或 emacs 的宗教只是为了编辑我的 fstab。Emacs 对某些人来说可能是一个更好的解决方案,但对于其他一些人来说,它不是一个更好的解决方案。

EDIT2:
这是我使用选项卡的 fstab 的示例片段。列未对齐。

proc    /proc   proc    nodev,noexec,nosuid 0   0
/dev/disk/by-label/Linux    /   ext4    errors=remount-ro   0   1
/dev/disk/by-label/Home /home   ext4    defaults    0   0
Run Code Online (Sandbox Code Playgroud)

我希望它用空格自动格式化,看起来更像下面这样。

proc                        /proc   proc    nodev,noexec,nosuid 0   0
/dev/disk/by-label/Linux    /       ext4    errors=remount-ro   0   1
/dev/disk/by-label/Home     /home   ext4    defaults            0   0
Run Code Online (Sandbox Code Playgroud)

editors text-processing fstab columns

9
推荐指数
2
解决办法
7464
查看次数

无法使用 iptables 阻止蛮力 ssh

我正在尝试阻止(减慢)对我的 sshd 服务器的暴力攻击。我正在遵循本指南http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/基本上说我只需要输入下面的 2 个命令。

sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 60 --hitcount 4 -j DROP
Run Code Online (Sandbox Code Playgroud)

我的 sshd 端口是 6622,所以我将条目从“22”更改为“6622”,并将这些命令放入。然后我尝试简单地测试新的 iptables。我去了另一台电脑,故意输入错误的登录密码几次。不幸的是,新规则似乎并没有阻止我随心所欲地尝试。下面列出的是我目前的规则。我究竟做错了什么?

# iptables --list

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere             tcp dpt:6622 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: …
Run Code Online (Sandbox Code Playgroud)

ssh iptables sshd

9
推荐指数
2
解决办法
2249
查看次数

sed 只替换匹配组的行

目前,我有这个命令:

sed 's/\([^C]*\)/\1AB/'
Run Code Online (Sandbox Code Playgroud)

它在一行上的第一个“C”实例之前插入“AB”。但它也在每行末尾添加了“AB”而没有“C”。

我怎样才能让它只在找到“C”时进行编辑?

sed

7
推荐指数
2
解决办法
515
查看次数

帮助Shell脚本将变量传递给rsync

我正在尝试为 rsync 创建一个简单的包装器 shell 脚本。当我将文件名发送到我的脚本时,rsync 似乎永远无法识别正确的位置。文件名中有空格。我已经使用引号、双引号、反斜杠引号和使用 rsync -s --protect-args 标志尝试了十几种不同的变体。我终于没有想法了。这是我的脚本的简化版本。

#!/bin/bash
# Example usage:
#    pull.sh "file 1" "file 2"

LOCATION="/media/WD100"
all_files=""
for file in "$@"; do
        all_files="$all_files:\"$LOCATION/$file\" "
done
# Pull the given files from homeserver to my current directory.
rsync --progress --inplace --append-verify -ave ssh username@homeserver"$all_files" .
Run Code Online (Sandbox Code Playgroud)

我应该以不同的方式写这个吗?如何使这个脚本工作?

更新:

我更改了我的脚本以尝试反映 Chazelas 的答案,但它似乎仍然不起作用。这是我的新代码:

#!/bin/bash
# Example usage:
#    pull.sh "file 1" "file 2"

LOCATION="/media/WD100"
all_files=""
for file in "$@"; do
    all_files="$all_files\"$LOCATION/$file\" "
done
rsync --progress --inplace --append-verify -0 --files-from=<(printf …
Run Code Online (Sandbox Code Playgroud)

shell special-characters rsync shell-script quoting

5
推荐指数
2
解决办法
7787
查看次数