AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-5462

0xC0000022L's questions

Martin Hope
0xC0000022L
Asked: 2023-06-02 16:41:05 +0800 CST

在管道中使用 Bash 中的`:`(冒号)函数的语义?

  • 9

问题

:关于它在管道中的使用的语义是什么?

Bash文档指出:

: [arguments]
没有效果; 该命令除了扩展参数和执行任何指定的重定向之外什么都不做。返回状态为零。

:但是,我应该期望在管道中使用什么行为并不明显。它只是通过吗std{in,out,err}?

关于参数,:似乎可以替代任何其他命令。但是我需要澄清一下在管道中的使用;澄清不仅基于观察,而且引用了权威来源。

背景

我有一种情况,根据脚本运行的环境,我需要运行输出以tr -d '\r'从输出中删除回车符。

las,目前这意味着一个if/else/fi块,沿着(函数内部):

if [[ "$OSTYPE" == "cygwin" ]]; then
    my_commands | tr -d '\r' || return $?
else
    my_commands || return $?
fi

其中 the是 the和branch| tr -d '\r'之间的唯一区别。任何一个分支的内容当然比这里显示的要复杂得多。ifelse

现在,我知道tr -d '\r'在没有回车的情况下是良性的。但这是一个调用和(在 Windows 上)可以避免的开销(该函数是一个“热”代码路径)。所以我想到tr用内置的 shell 函数代替:。

bash
  • 3 个回答
  • 1016 Views
Martin Hope
0xC0000022L
Asked: 2023-06-01 20:11:08 +0800 CST

在 Bash 中仅获取全局和局部 shell 变量(不是函数或环境变量)的简洁方法

  • 5

我将如何在 Bash 中获取局部变量和全局变量的值,跳过任何函数和环境变量?

declare -p给我一大堆。但不清楚我是否可以依赖declare -p. 从help declare输出中也不清楚是否declare -p可能包含函数。实验表明它不会。

示例:有些变量的输出类似于:

declare -- VARNAME="Variable value"

declare...以及其他给出选项而不是 的选项--,例如:

declare -ir UID="197609"

现在,如果我知道我可以依赖这种格式输出declare,我可以简单地使用一个while类似于这个的循环来将输出限制为只读整数变量:

while read -r decl opts keyval; do
    if [[ "$opts" == *ir* ]]; then # could obviously also be case/esac
        echo "$keyval"
    fi
done < <(declare -p)

...从而剔除我不感兴趣的变量类型。

问题:但是我可以相信这是真的吗?如果不是,还有什么其他简洁的方法可以根据给定的标准过滤变量?

注意:我对 Bash >=5.0 感兴趣并且我目前在我的机器上使用 5.2.15。

bash
  • 2 个回答
  • 64 Views
Martin Hope
0xC0000022L
Asked: 2020-03-07 04:52:54 +0800 CST

三种不同的方式配置单个网络接口并根据某些条件设置路由?

  • 2

我有一个运行 Debian的USB Armory Mk II ,与 USB 主机建立通信相当简单。

但是,我想要实现的是以下。我希望能够有条件地在 USB Armory上配置网络适配器。三个角度:

  1. 如果主机上启用了 DHCP 并绑定到CDC以太网适配器,我想用dhclient它来为其分配一个 IP。
  2. 10.0.0.0/24 网络无条件地获得(在 InversePath 提供的 Debian 映像上预先配置的网络)在分配了 10.0.0.1 的接口上配置...
  3. 将 192.168.137.2(或 .1 以外的另一个 192.168.137.0/24 IP 地址)配置为另一个 IP 地址(Windows ICS)

到目前为止,这样做并不是什么大问题。例如,StackOverflow 上的这个答案显示了实现它的两种方法(我将选择第二种方法,将 ICS 范围地址添加为另一个别名)。

但关键是应该如何设置路线。这就是我现在卡住的部分:

  1. 如果 DHCP 成功,我想使用通过它配置的任何内容作为上行链路(网关)
  2. 如果没有,我想检查我是否可以在剩余的两个已配置子网中的任何一个上进行通信......最好我想要 USB Armory Mk II 上的一些脚本来确定使用哪个网关(即尝试显而易见的.1、.2 和 .254 在相应的 /24 子网中,然后根据需要扩展“搜索”)

我需要以下方面的建议:

  • 如何最好地确定哪些 IP 范围可作为上行链路?例如,我应该嗅探 ARP 流量并将其用作指标吗?还是有更可靠的方法(例如ping -I <address>)?作为事后的想法:如何处理上行链路可用性的变化?
  • 除了使用一些脚本之外,是否有一种可靠的方式来表达这一点ip-rule(8)?
networking debian
  • 1 个回答
  • 63 Views
Martin Hope
0xC0000022L
Asked: 2020-02-20 12:58:54 +0800 CST

如何将基于 Android 的手机连接到具有蓝牙和 Internet 访问权限的 Linux?

  • 4

网络上充斥着关于如何将某某设备(包括基于 Linux 的设备)绑定到提供 Internet 上行链路的 Android 手机的解释。

我想反其道而行之。我希望能够使用带有蓝牙加密狗的基于 Linux 的小型路由器作为我的 Android 手机的上行链路,通过蓝牙 PAN 连接我的 Android 手机。

我可以设置Android端。如何设置 GNU/Linux 端?

  1. 目前这有可能吗?
  2. 我该怎么做?

我正在运行 Android 10(连接设备)并且我在 Linux 端(目前它是 Debian 或 OpenWRT,取决于我尝试的设备)很灵活,通过蓝牙和上行链路以及路由提供系绳。

注意:我想强调一下,我对基于 WiFi 的解决方案不感兴趣。我需要通过蓝牙,即 PAN。

linux bluetooth
  • 1 个回答
  • 908 Views
Martin Hope
0xC0000022L
Asked: 2020-02-20 02:30:42 +0800 CST

如何抑制 .bash_history 在 Bash 中的创建?

  • 0

我想抑制在Bash 中的创建。.bash_history这是可能吗?

请注意,我知道export HISTSIZE=0,但这仍然会留下一个空旷.bash_history的地方。

bash
  • 1 个回答
  • 114 Views
Martin Hope
0xC0000022L
Asked: 2019-07-30 12:02:02 +0800 CST

在 Debian 10 中,为了获得最新内核而安装的正确虚拟包是什么?

  • 3

我正在尝试将debootstrapDebian 10 安装到将与 APU2D4 板一起使用的磁盘上。

但是,我在选择正确的内核包时遇到了困难。

假设我的主机(运行debootstrap)和目标主机上的架构是相同的,apt-get install linux-image-$(dpkg --print-architecture)(假设 Bash 语义)会安装正确的内核吗?...或者是否有另一个虚拟包甚至与架构无关,并且 - 可能 -$(dpkg --print-architecture)在内部使用来找出适当的特定内核包?

注意:我肯定在寻找一些虚拟软件包,以便我始终获得最新的内核更新。

debian linux-kernel
  • 2 个回答
  • 269 Views
Martin Hope
0xC0000022L
Asked: 2018-11-09 13:13:03 +0800 CST

关闭内核错误或通过配置 Prometheus Node Exporter 来避免它

  • 0

让我首先给出我在其中看到的/var/log/syslog输出dmesg:

[559151.898586] ACPI Error: SMBus/IPMI/GenericSerialBus write requires Buffer of length 66, found length 32 (20170831/exfield-427)
[559151.911578] No Local Variables are initialized for Method [_PMM]
[559151.911580] No Arguments are initialized for method [_PMM]
[559151.911584] ACPI Error: Method parse/execution failed \_SB.PMI0._PMM, AE_AML_BUFFER_LIMIT (20170831/psparse-550)
[559151.916648] ACPI Exception: AE_AML_BUFFER_LIMIT, Evaluating _PMM (20170831/power_meter-338)

显然,Prometheus 节点导出器正在触发错误,尽管它似乎不是记录错误的原因。

现在我想要实现的是——最好是——告诉 Prometheus 节点导出器停止查询它试图查询的任何信息。如果做不到这一点,我想使这些消息静音,以免它们向我的日志文件发送垃圾邮件。

我将如何处理这些选项中的任何一个?...或者也许还有其他我没有考虑过的选择...

这发生在打包好的 Ubuntu 18.04 上prometheus-node-exporter(它也发生在 0.16 和 0.17 版本中prometheus-node-exporter,可以通过stretch-backports- 是的,在 Ubuntu 上安装)。

ubuntu prometheus-exporter
  • 2 个回答
  • 2540 Views
Martin Hope
0xC0000022L
Asked: 2018-11-08 00:42:34 +0800 CST

如何使用 Ubuntu 在 Netplan 中获得这些功能?

  • 2

因此,显然 Ubuntu 18.04(或者甚至可能是 17.x 版本之一)引入了一种新机制来配置网络接口,称为netplan.io或netplan简称。

现在所有这一切乍一看似乎都很好,直到您发现您的非常可定制的配置/etc/network/interfaces无法轻松映射。我想这是我们为什么netplan没有渲染器的/etc/network/interfaces原因。

背后的主要目的netplan似乎是提供一种统一的方法来表达网络配置,并以在撰写本文时 NetworkManager 和 Systemd-networkd 可以理解的格式呈现。显然/etc/network/interfaces是事后才想到的(如果有的话)。我没有首先注意到这个开关,因为升级后的系统保留了包中实现的旧机制ifupdown(以及许多提供替代方案的类似包)。

/etc/network/interfaces允许通过将 shell 脚本放置在正确的文件夹中来引入新类型的节(参见此处的示例)。这种机制曾经(或在上游 Debian中)非常强大,但似乎在netplan. 现在netplan迎合了addresses上述链接脚本引入的节的功能,但任何其他自定义脚本似乎都正确(我有一些脚本要为虚拟机和容器附加一些桥接并应用与它们相关的防火墙规则) .

我怎样才能实现类似的东西netplan?或者更一般地说,如何从( , , , )中获得灵活性/etc/network/if-{down,post-down,pre-up,up}.d和相应的节?interfaces(5)downpost-downpre-upupnetplan

networking ubuntu
  • 1 个回答
  • 3265 Views
Martin Hope
0xC0000022L
Asked: 2018-11-06 03:54:27 +0800 CST

本地自定义软件包的 Debian 软件包版本编号

  • 3

我想构建和打包一个特定的 Go 程序。与我从上游获得的相比,Ubuntu 18.04 和 Debian 9.5(实际上是 PVE 5.2)提供的上述程序的打包版本都相当旧。

为我的构建正确获取依赖项不是问题,构建 Debian 软件包也不是问题(去过那里,做过)。

我需要知道的是如何为我的包分配一个版本——它不会发布给其他任何人——这样如果包维护者发布了比我的包更新的版本,它将被安装并替换我的自己的软件包(一种这样的情况可能是 Ubuntu 的do-release-upgrade)。

有没有办法在不破坏内部版本比较的情况下以这种方式“标记”一个包(dpkg --compare-versions)?

我知道反向移植通常包含bpo在包名称中(或者是版本?),但是很难找到所有类似“标签”的完整列表,所以我在想也许已经有一种方法可以实现这一点并且避免冲突。所以主要目标是遵守规则,同时获得我能得到的最新版本。

debian ubuntu
  • 1 个回答
  • 604 Views
Martin Hope
0xC0000022L
Asked: 2018-08-21 05:38:17 +0800 CST

如何在不清除使其成为交换文件的原因的情况下将 /swapfile 归零?

  • 9

我有一个脚本,我运行该脚本是为了在备份虚拟来宾之前优化磁盘空间(使用哪个管理程序实际上并不重要)。

现代 Ubuntu 版本(例如 18.04)似乎默认使用 a/swapfile而不是分区。那也很好。

但是,我想将交换文件以及包含它的根分区清零。

使用交换分区,这相对容易,因为总有一种方法可以$UUID从交换分区中提取现有的,并且 - 在对分区进行零填充之后 - 运行mkswap -U $UUID以重新创建所述交换分区。

但是,/swapfile我不知道该怎么做。虽然我意识到你不能通过/swapfileUUID挂载 a /etc/fstab,但我仍然想保留 UUID。

所以我认为需要以下其中一项才能继续:

  1. 我需要一种方法,可以在不擦除那些使其成为交换分区的结构的情况下对交换文件进行零填充(即避免运行mkswap -U $UUID)
  2. 我需要一种从交换文件中检索现有 UUID 的方法(而不是我可以使用任何东西的分区blkid来查看/dev/disk/by-uuid/$UUID...)
ubuntu swap
  • 1 个回答
  • 1264 Views
Martin Hope
0xC0000022L
Asked: 2018-05-03 14:45:22 +0800 CST

通过 Debian 8.10 启动 Ubuntu (18.04) 有点麻烦

  • 7

我使用的主机提供了一个 Debian 8.10(内核 4.9.85)作为救援系统。过去,我一直使用它来引导 Ubuntu,使用debootstrap from here。

我正在使用一些准备步骤,例如安装,这是我使用的 URL 中出现apt-cacher-ng的原因( http://localhost:3142/us.archive.ubuntu.com/ubuntu/)和.localhost:3142ubuntu-archive-keyring

debootstrap调用如下:

LANG=C debootstrap --keep-debootstrap-dir --verbose --include=ubuntu-server,bash-completion,sudo,lshw,tmux,unzip,pciutils,usbutils,openssh-server,unattended-upgrades,linux-image-generic,cron --variant=minbase --arch=$(dpkg --print-architecture) bionic /target http://localhost:3142/us.archive.ubuntu.com/ubuntu/

(我添加了--verbose唯一的,希望看看是否有任何问题,但无济于事。)

现在debootstrap运行的奇怪之处在于,在这个新版本中,我最终只看到了步骤Retrieving、Validating和Extracting(对于包的一个子集),但没有看到这些包的设置。

所以我对自己说:“好吧,我用xenial.

+ debootstrap --keep-debootstrap-dir --verbose --include=ubuntu-server,bash-completion,sudo,lshw,tmux,unzip,pciutils,usbutils,openssh-server,unattended-upgrades,linux-image-generic,cron --variant=minbase --arch=
amd64 xenial /target http://localhost:3142/us.archive.ubuntu.com/ubuntu/
I: Retrieving InRelease
I: Checking Release signature
I: Valid Release signature (key id 790BC7277767219C42C86F933B4FE6ACC0B21F32)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional base dependencies: acpid apport apt-utils at bcache-tools btrfs-tools busybox-initramfs byobu ca-certificates cloud-guest-utils cloud-initramfs-copymods cloud-initramfs-dyn-netconf cpio crda
cryptsetup cryptsetup-bin curl dh-python distro-info-data dmeventd dmsetup ethtool fonts-ubuntu-font-family-console gawk gcc-5-base gettext-base gir1.2-glib-2.0 git git-man gnupg gpgv grub-legacy-ec2 ifenslave i
fupdown initramfs-tools initramfs-tools-bin initramfs-tools-core iproute2 iso-codes iw klibc-utils kmod libapt-inst2.0 libapt-pkg5.0 libasn1-8-heimdal libasprintf0v5 libbsd0 libcurl3-gnutls libdbus-1-3 libdbus-g
lib-1-2 libdevmapper-event1.02.1 libdrm2 libdumbnet1 libedit2 liberror-perl libevent-2.0-5 libexpat1 libffi6 libfuse2 libgdbm3 libgirepository-1.0-1 libglib2.0-0 libgmp10 libgnutls30 libgpm2 libgssapi-krb5-2 lib
gssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libicu55 libidn11 libk5crypto3 libkeyutils1 libklibc libkrb5-26-heimdal libkrb5-3 libkrb5support0 libl
dap-2.4-2 liblvm2app2.2 liblvm2cmd2.02 liblz4-1 liblzo2-2 libmnl0 libmpdec2 libmpfr4 libmspack0 libnettle6 libnewt0.52 libnl-3-200 libnl-genl-3-200 libp11-kit0 libpci3 libperl5.22 libplymouth4 libpng12-0 libpopt
0 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libpython3.5-minimal libpython3.5-stdlib libreadline5 libreadline6 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules-db libsigs
egv2 libslang2 libsqlite3-0 libssl1.0.0 libstdc++6 libtasn1-6 libusb-0.1-4 libusb-1.0-0 libutempter0 libwind0-heimdal libwrap0 linux-base linux-firmware linux-image-4.4.0-21-generic linux-image-extra-4.4.0-21-ge
neric lsb-release lvm2 mdadm mime-support open-iscsi open-vm-tools openssh-client openssh-sftp-server openssl overlayroot patch perl perl-modules-5.22 plymouth python python-apt-common python-minimal python2.7 p
ython2.7-minimal python3 python3-apport python3-apt python3-chardet python3-dbus python3-debian python3-gi python3-minimal python3-newt python3-pkg-resources python3-problem-report python3-pycurl python3-six pyt
hon3-software-properties python3.5 python3.5-minimal readline-common screen software-properties-common sosreport ubuntu-cloudimage-keyring ubuntu-keyring ucf udev update-notifier-common vim vim-common vim-runtim
e vlan wireless-regdb xfsprogs xz-utils
I: Checking component main on http://localhost:3142/us.archive.ubuntu.com/ubuntu...
I: Retrieving acpid 1:2.0.26-1ubuntu2
I: Validating acpid 1:2.0.26-1ubuntu2
[...]
I: Chosen extractor for .deb packages: dpkg-deb
I: Extracting adduser...
I: Extracting base-files...
I: Extracting base-passwd...
[...]
I: Extracting zlib1g...

这很奇怪,因为在过去,设置阶段工作顺利。但现在它只是被默默地跳过了?!旧debootstrap版本不会这样做,因为那些人​​不知道 Bionic Beaver (Ubuntu 18.04)。

有两件事我认为可能是一个问题:

  1. 内核版本差异:Ubuntu 18.04 中的 4.15 与 Debian 8.10 中的 4.9.85。
  2. libc 版本差异:2.27-3ubuntu1 与 2.19-18+deb8u10。

...但在任何一种情况下,我都希望从debootstrap. 同样对于xenial(Ubuntu 16.04),我不应该期待同样的差异。但是我没有看到任何错误,而是跳过了重要的设置步骤并尝试chroot使用/target命令/bin/bash只给出

# LANG=en_US.UTF-8 chroot /target /bin/bash
groups: cannot find name for group ID 0
I have no name!@rescue:/#

挖一点结果没有/etc/passwd,依此类推。/dev,/proc并/sys绑定安装到/target.

我该如何解决这个问题,以便从所述 Debian 救援系统成功引导 Ubuntu?架构匹配主机和目标,那么是什么阻止了设置步骤的运行?

注意:我无法启动到更新的内核。或者更确切地说,实现类似目标的唯一方法是首先安装某种本地救援系统。


我正在使用的软件

$ debootstrap --version
debootstrap 1.0.95ubuntu1
$ uname -a
Linux rescue 4.9.85 #2 SMP Thu Mar 1 08:06:18 CET 2018 x86_64 GNU/Linux

我也安装了ubuntu-archive-keyring。


我还尝试了什么

我还尝试传递--foreign给debootstrap,这应该会导致我看到的行为,但也应该留下一个可执行文件/debootstrap/debootstrap,然后我可以使用--second-stage. 然而,虽然它表现出与我在没有--foreign命令行开关的情况下看到的完全相同的行为,但目标文件系统中没有完成/debootstrap/debootstrap引导。

此外,我尝试通过这种方式安装它来使用debootstrap:(jessie-backports它apt-get install -t jessie-backports debootstrap标识为debootstrap 1.0.89~bpo8+1)。然后链接/usr/share/debootstrap/scripts/bionic到/usr/share/debootstrap/scripts/gutsy.

debian ubuntu
  • 1 个回答
  • 6326 Views
Martin Hope
0xC0000022L
Asked: 2018-03-28 12:57:59 +0800 CST

通过跳转主机、ssh_config 文件和仅“ssh targethost”进行 SSH 端口转发

  • 9

注意:我使用的 OpenSSH 客户端都是7.2 版本,所以不可RemoteCommand用。

假设以下设置:

  1. machine是一个跳转主机,并通过其foo提供对主机的访问barlocalhost:10022
  2. bar位于网络内部,我们可以在其中访问主机rdp并访问其 RDP 端口(3389)。我实际上给出了我的命令行和配置内部的 IP rdp,但我认为只要名称查找有效,使用它的名称是合法的。为简洁起见,我在rdp这里使用。

rdp:3389现在的目标是通过连接到bar通过跳转主机获得访问权限,foo并将其转发到localhost:33389我正在调用的本地机器上ssh bar。

[local:33389] --> {foo} --> {bar} --> [rdp:3389]

插曲

我以前用 PuTTY 解决了这个问题,如下所示:

  1. 创建连接foo并配置本地转发-L 33389:localhost:33389,从而将本地机器绑定localhost:33389到localhost:33389on foo。
  2. 使用以下远程命令将端口转发传送到其所在的网络bar中ssh -L 33389:rdp:3389 -A bar。
  3. Host bar在 foo内部配置.ssh/config为连接到localhost:10022并最终bar通过跳转主机。

PuTTY 配置就像一个魅力,但它依赖于远程命令来执行。虽然 shell 别名是解决此问题的一种方法,但我想知道是否有办法将所有内容保存在ssh_config(5)我的客户使用的内部,使用ProxyCommand?


上述 PuTTY 配置的大致等价物是:

ssh -L 33389:localhost:33389 foo ssh -t -L 33389:rdp:3389 -p 10022 localhost

或者,只要Host bar配置为foo通过:localhost:10022foo

ssh -L 33389:localhost:33389 foo ssh -t -L 33389:rdp:3389 bar

这似乎完成了工作。

但当然,这已经足够输入了,如果能够将所有这些都放入配置文件并ssh bar在本地机器上简单地输入,那就更简洁了。

正如 OpenSSH 7.6 中介绍的那样, RemoteCommand这似乎相当简单:

Host bar
    HostName foo
    RemoteCommand ssh -L 33389:rdp:3389 -A -p 10022 localhost
    LocalForward 33389 localhost:33389

...这应该大致转换为ssh上面显示的调用。但如前所述,我使用的是 OpenSSH 的旧(打包)版本,不支持该RemoteCommand节。

这是似乎最接近我想要实现的尝试。

Host bar
    HostName localhost
    Port 10022
    ProxyCommand ssh -L 33389:localhost:33389 -W %h:%p foo
    LocalForward 33389 rdp:3389

这个想法是在本地机器上我将简单地调用ssh bar. 事实上,它的工作原理是我最终出现在 的 shell 提示符下bar,但端口转发根本不起作用。虽然sudo lsof -i|grep 3389在本地机器上给了我:

ssh       15271        accden    6u  IPv6 7933201      0t0  TCP localhost:33389 (LISTEN)
ssh       15271        accden    7u  IPv4 7933202      0t0  TCP localhost:33389 (LISTEN)

在跳转主机上,我看不到任何包含3389.

由于ProxyCommand建立了与 的连接,foo并且我提供了LocalForward与 的连接bar,因此我希望这可以正常工作。

我究竟做错了什么?


目标是用于ssh bar连接bar并同时rdp:3389在本地机器上作为localhost:33389. 调整ssh_config(5)本地机器上的文件并被foo允许。但是,传递远程命令不是一个有效的答案。

openssh ssh-tunneling
  • 1 个回答
  • 30397 Views
Martin Hope
0xC0000022L
Asked: 2017-11-28 06:42:56 +0800 CST

使用 LXC 2.x 将主机文件夹挂载到来宾,但它是只读的吗?

  • 2

注意:这个问题与这个问题直接相关,特别是与这个答案有关,但它不是重复的。

我想与来宾共享来自主机的文件夹,但请确保来宾的根目录不会意外写入该文件夹。

在我的情况下,文件夹在/toolchains主机和来宾上都是 。它包含许多用于针对不同平台的基于 GCC 的工具链。

现在共享本身是微不足道的:

lxc config device add CONTAINER toolchains disk source=/toolchains path=toolchains

从技术上讲,它似乎是一个绑定安装。但是,在容器内重新安装以使其只读失败:

# mount -o remount,ro /toolchains
mount: cannot mount /dev/sda1 read-only

不幸的是,这并没有提供很多细节。

为了更好地衡量,我还尝试了这种替代方法:

# mount -o remount,ro,bind /toolchains
mount: cannot mount /dev/sda1 read-only

在mount(8)下面提到mount --bind,ro foo foo...

我有什么选择来实现我想要的?即与来宾共享主机文件夹为只读。我应该在这里使用某种联合 FS 还是我唯一真正的机会获得只读挂载到 1.) 使用 CIFS 共享或 2.) 使用一些挂钩通过主机的mount命令将主机文件夹绑定挂载到访客根?

我正在使用 LXC 2.20。

lxc lxd
  • 1 个回答
  • 2125 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve