我正在尝试在容器内使用循环设备来挂载一些图像文件:
> sudo losetup /dev/loop0 test.img
losetup: /dev/loop0: failed to set up loop device: No such file or directory
Run Code Online (Sandbox Code Playgroud)
/dev/loop0 确实不存在,并且
> sudo mknod /dev/loop0 b 7 0
mknod: ‘/dev/loop0’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我怎样才能使这项工作?容器是否需要一些它可能没有的 cgroup 权限?
我正在尝试创建一个格式化 Amazon EC2 EBS 卷的脚本,以便我可以挂载它。
从命令行看,它看起来像这样:
> mkfs -q -t ext4 /dev/sdf
/dev/sdf is entire device, not just one partition!
Proceed anyway? (y,n)
Run Code Online (Sandbox Code Playgroud)
(命令是正确的;不需要为我的目的创建分区表)
我的问题:因为这个命令应该在一个自动化脚本中运行,所以我不能在终端上问这个问题;没有人会接听,脚本将挂起。我如何避免这种情况?
我试过:
> echo y | mkfs -q -t ext4 /dev/sdf
Run Code Online (Sandbox Code Playgroud)
但这并不能解决问题。-q 选项也没有区别。
我试图理解以下两个术语之间的区别:
*:80
_default_:80
Run Code Online (Sandbox Code Playgroud)
在 Apache 配置文件中。我不清楚这里的文档,我在这里找到的唯一邮件列表对话也没有说明(对我来说是可以理解的)这件事。
我有一堆基于名称的虚拟主机,声明如下:
<VirtualHost *:80>
ServerName example.com
...
Run Code Online (Sandbox Code Playgroud)
并且我希望有一个条目在这些都不匹配时触发,即当请求没有虚拟主机名或具有尚未声明的虚拟主机名时。我应该使用*:80还是_default_:80?
我有两个 OpenVPN 客户端设置,由 systemd 服务openvpn.foo和openvpn.bar. 它们连接到不同的 VPN,并且在任何时间点都可能处于活动状态,也可能不处于活动状态。
我想为他们设置不同的 iptables 防火墙规则。问题是第一个 OpenVPN 进程似乎抢占了接口tun0,无论结果是配置 foo 还是 bar。问题是我无法将 iptables 规则附加到接口,因为我目前不知道它是否与 VPN foo 或 bar 一起使用。
问题:
persist-tun似乎不够,因为它似乎无法在重新启动后幸存。谢谢!
从systemctl status foo。我有 afoo.service和 a foo.timer:
Active: activating (auto-restart) (thawing) since Fri 2020-10-09 21:32:56 UTC; 3min 1s ago
Run Code Online (Sandbox Code Playgroud)
我在文档中找不到“解冻”这个词。这是 systemd 246.6。
我有一个当前具有以下权限的 mysql 用户:
mysql> show grants;
+--...--+
| Grants for debian sys-maint@localhost
+--...--+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY PASSWORD '*DA604C65D4EFF216D1F61FCD42726FA881FB6562' WITH GRANT OPTION |
+--...--+
Run Code Online (Sandbox Code Playgroud)
我希望它能够对另一个用户这样做:
mysql> grant all privileges on *.* to 'foo'@'%' identified by 'bar';
ERROR 1045 …Run Code Online (Sandbox Code Playgroud) Systemd 定义了一系列与关闭系统相关的特殊目标,例如本文标题中列出的目标。似乎还有更多。
man systemd.special给出了它们的定义,但并不试图区分它们。
在什么情况下我应该使用这些目标中的哪一个?
我注意到这dig google.com会产生四个不同的 IP 地址。这意味着什么?它可能是
或者这只是应该是循环的?(如果是这样,为什么它会返回 4 个值,而不是 1 个?)
我有点希望这意味着浏览器会按顺序尝试所有四个,直到他们找到一个有效的。
这是我得到的dig google.com::
;; QUESTION SECTION:`
;google.com. IN A
;; ANSWER SECTION:
google.com. 293 IN A 74.125.19.99
google.com. 293 IN A 74.125.19.103
google.com. 293 IN A 74.125.19.104
google.com. 293 IN A 74.125.19.147
;; AUTHORITY SECTION:
google.com. 81797 IN NS ns2.google.com.
google.com. 81797 IN NS ns4.google.com.
google.com. 81797 IN NS ns1.google.com.
google.com. 81797 IN NS ns3.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 255049 IN A 216.239.32.10 …Run Code Online (Sandbox Code Playgroud) 该mountall将手册页说:“这是一个临时的工具,直到的init(8)本身”可以做到这一点,基本上是这样。为什么不直接使用 mount -a?两者之间有区别吗,如果有,我应该使用哪个?
我想知道我的本地 postfix 在 STARTTLS 之后对 Amazon SES smtpd 说了什么。纯文本,所以我可以理解。Amazon SES 需要 TLS,所以我暂时无法关闭它。
我目前用这个技巧记录流量的两条腿:
mkfifo proxypipe
cat proxypipe | nc -l 11111 | tee -a inflow | nc email-smtp.us-east-1.amazonaws.com smtp | tee -a outflow 1>proxypipe
Run Code Online (Sandbox Code Playgroud)
然后我与 localhost:11111 进行 postfix 对话,而不是 email-smtp.us-east-1.amazonaws.com:25。只要他们用明文交谈,这就会产生一个很好的成绩单。一旦 STARTTLS 出现,当然一切都会变得乱七八糟。
有什么技巧可以通过openssl或使用openssl或类似的东西进行后处理,以弄清楚他们彼此之间到底说了些什么?谷歌搜索没有产生任何答案。
linux ×3
systemd ×2
amazon-ec2 ×1
apache-2.2 ×1
bash ×1
bind ×1
cgroup ×1
containers ×1
filesystems ×1
fsck ×1
iptables ×1
loop-device ×1
mount ×1
mysql ×1
netcat ×1
openvpn ×1
permissions ×1
smtp ×1
ssl ×1
starttls ×1
tls ×1
ubuntu ×1
virtualhost ×1