我正在使用一个docker容器(基于官方的centos:6.4图像)来构建一个ISO,然后我需要安装和验证.我无法使用以下方式安装ISO:
sudo mount -o loop /path/to/iso /mnt
Run Code Online (Sandbox Code Playgroud)
得到:
mount: Could not find any loop device. Maybe this kernel does not know
about the loop device? (If so, recompile or `modprobe loop'.)
Run Code Online (Sandbox Code Playgroud)
看起来内核已经编译而没有循环设备支持.是否可以构建支持循环设备的docker镜像?我找不到任何关于此的信息,但是,看看这个帖子似乎这可能是一个持续的主题.
我想知道是否有办法规避这种限制?
标准Linux库中是否有一个函数(或接口; ioctl,netlink等),它将直接从内核返回当前的挂载而不解析/ proc? strace在mount命令中,它看起来像是解析/ proc中的文件
为什么docker有docker卷和容器容器?它们之间的主要区别是什么.我已经通过docker docs阅读了但是却无法理解它.
如何通过bash-on-Ubuntu-on-windows访问外部硬盘.它似乎没有出现在任何一个/media,/mnt或者/dev,似乎人们说在Ubuntu系统中寻找它们的常见地方.
注意:硬盘驱动器是HFS +格式化的:我使用Paragon的HFS + for Windows并且已经完成了apt-get install hfsprogs我认为应该允许Linux部分读取HFS +格式的内容.我也试过普通的USB记忆棒,似乎没有出现在任何地方.
驱动程序确实出现在/cygdrivecygwin中,但是当我在bash中导航到cygdrive时它不会出现.显然它没有正确安装在那里,但是bash看不到某种形式的象征性联系.
我不确定这是Linux还是Windows问题,但微软似乎没有任何关于它的内容,尽管我意识到这是它们的早期阶段.
这是我在 google colab 中的代码:
from google.colab import drive
drive.mount('content/drive/My Drive/ML')
Run Code Online (Sandbox Code Playgroud)
我有一个包含空格符号的路径,我收到此错误:
/usr/local/lib/python3.6/dist-packages/google/colab/drive.py in mount(mountpoint, force_remount, timeout_ms) 89 90 if ' ' in mountpoint: ---> 91 raise ValueError('Mountpoint must不包含空格。') 92 93 mountpoint = _os.path.expanduser(mountpoint)
ValueError: Mountpoint 不能包含空格。
我试过 drive.mount('content/drive/My\ Drive/ML') 但这不起作用
以下非常不健壮的shell代码将给出挂载点$path:
(for i in $(df|cut -c 63-99); do case $path in $i*) echo $i;; esac; done) | tail -n 1
在shell中有更好的方法吗?
后记
这个脚本非常糟糕,但具有可在我的系统上运行的兑换质量.请注意,几个挂载点可能是前缀$path.
示例 在Linux系统上:
cas@txtproof:~$ path=/sys/block/hda1 cas@txtproof:~$ for i in $(df -a|cut -c 57-99); do case $path in $i*) echo $i;; esac; done| tail -1 /sys
在Mac OSX系统上
cas local$ path=/dev/fd/0 cas local$ for i in $(df -a|cut -c 63-99); do case $path in $i*) echo $i;; esac; done| tail -1 /dev
注意需要改变切割参数,因为df的输出方式不同; 使用awk解决了这个问题,但即使是awk也是不可移植的,给定了结果格式化df返回的各种实现.
回答 …
我最近旋转了一个Ubuntu盒子(运行12.04,内核3.8.0-44-gen),并且很难连接任何USB /闪存/笔式驱动器.它出现在我运行lsusb时:
Bus 002 Device 012: ID 0781:5202 SanDisk Corp.
Run Code Online (Sandbox Code Playgroud)
但是当我运行fdisk时没有找到新的设备:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 233381887 116689920 83 Linux
/dev/sda2 233383934 250068991 8342529 5 Extended
/dev/sda5 233383936 250068991 8342528 82 Linux swap / Solaris
Run Code Online (Sandbox Code Playgroud)
我读过的所有内容都说它应该显示为类似于/ dev/sdb的新设备,但事实并非如此,lsblk会返回类似的结果.我也没有看到输出到dmesg的任何明显错误:
[18224.059027] usb 2-1.7: USB disconnect, device number 12
[18228.085986] usb 2-1.7: new high-speed USB device number 13 using ehci-pci
[18228.178716] usb 2-1.7: New USB device found, idVendor=0781, idProduct=5202
[18228.178721] usb 2-1.7: New USB device strings: Mfr=1, Product=2, SerialNumber=3 …Run Code Online (Sandbox Code Playgroud) 要显示创建虚拟软盘映像文件作为超级用户或用户可以运行sudo命令,有很多帖子.基本步骤是:
dd命令创建空的1.44MB图像文件mkfs.msdosumount 虚拟软盘映像文件我的问题是,如果我只是一个无法运行sudo命令的普通用户,我如何按照上述步骤创建虚拟软盘映像并在其中写入内容?
非常感谢.
我使用docker命令独立运行 keycloak docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:15.0.2
容器停止后如何挂载卷来保存数据?