macOS 使用 dd 制作 USB 启动盘
安装操作系统时,当前常用的方式是获取操作系统对应的 ISO 文件,并制作 U 盘启动盘,使用 U 盘引导系统进行安装。
当使用 MacOS 时,可以很方便的利用系统自带工具,完成上述工作,具体步骤如下。
首先获得操作系统镜像,推荐从官方进行下载 ISO 类型的镜像,下载到的文件名如 Win10_20H2_v2_Chinese(Simplified)_x64.iso、ubuntu-20.04.1-desktop-amd64.iso、CentOS-7-x86_64-DVD-2003.iso 等。
之后通过以下步骤制作启动盘
# 使用 diskutil 查看 U 盘设备 ID
$ diskutil list
...
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: *15.5 GB disk2
...
# 取消 U 盘挂载,否则在后续操作中可能会提示资源忙,无法进行启动盘制作
# 注意使用上面查询到的设备 ID,本例中为 /dev/disk2,一定注意不要写错
$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
# 使用 dd 将操作系统镜像写入 U 盘
# if=file 代表要写入的源文件路径
# of=file 代表要写入的目标文件,此处为代表 U 盘的设备 ID,但注意,命令中使用的是 rdisk2 而不是 disk2,也可以使用 disk2,区别稍后再讲
# bs=n 代表同时设置输入输出的块大小,n 代表字节数,默认为 512,可以使用 b/k/m/g 等字母后缀代表不同的单位,如下面命令代表每个块大小为 1048576(1m) 字节
# 写入时间较长,过程中没有任何输出,最终成功结束时会输出统计信息
$ sudo dd if=/Users/alphahinex/Downloads/CentOS-7-x86_64-Minimal-2003.iso of=/dev/rdisk2 bs=1m
1035+0 records in
1035+0 records out
1085276160 bytes transferred in 415.019150 secs (2615003 bytes/sec)
写入完成后,会弹出 此电脑不能读取您插入的磁盘。 的提示,直接点 忽略 或 推出 即可,不要点 初始化…。
也可以使用 diskutil 将 U 盘弹出:
$ diskutil eject /dev/disk2
Disk /dev/disk2 ejected
制作好的启动盘,在 Mac 或 Windows 上都无法查看其中内容,但并不影响使用。
References
推荐几个 AI 生成 logo 的方法
最近在筹划这个新的博客网站,再次遇到头疼的 logo 问题,本着将精力用在刀刃上的决心,这种事情还是 继续阅读
基于chatGPT 创建个人知识库助手 – copilot hub
目前 chatGPT 的资料截止 2021,许多资料是过时的,如何使用自己现有的资料构建个人的 ch 继续阅读
破解海外 ChatGPT 检测技巧
用 ChatGPT 学日语
看到一些即友会使用 ChatGPT 学日语,感觉很有意思,在这里分享一下: 启发开始用 ChatGP 继续阅读
虚拟磁盘扩容后扩展 LVM vg
新空间分区
在使用 fdisk 工具将新增的磁盘空间分配到 LVM PV 上时,您需要按照以下步骤操作:
- 运行
fdisk -l命令查看系统中当前可用的磁盘和分区信息。 - 运行
fdisk /dev/sdX命令(其中 sdX 表示要调整大小的磁盘),以编辑该磁盘的分区表。 - 使用命令
p查看磁盘分区表,确定要修改的分区号码。 - 使用命令
n创建一个新的分区。按照提示输入分区类型、起始和结束位置等信息即可。请注意,新分区的起始位置必须与现有的 LVM PV 的终止位置相同。 - 使用命令
t更改新分区的类型。选择类型 8e,以便将其设置为 LVM 分区类型。 - 使用命令
w将新的分区表写入磁盘,并退出 fdisk 工具。 - 运行
pvresize /dev/sdXn命令(其中 sdXn 表示新创建的 LVM PV 分区设备文件名)以将新分区添加到现有的 LVM 物理卷中。
完成以上步骤后,您可以使用 lvextend 命令扩展逻辑卷的大小,并使用 resize2fs 命令调整文件系统大小以反映新的逻辑卷大小。
扩展 vg
# 查看 vg
vgs
# 将物理卷添加到存储池
vgextend <vg name> /dev/sdd
创建 lv
# 类似这样创建 lv
lvcreate -L 10G -n lv_var_log vg0
mkfs.xfs /dev/mapper/vg0-lv_var_log 查看 Docker cp 进度
docker cp 命令本身不提供进度查看功能。但是,您可以使用第三方工具,如 pv(Pipe Viewer)在执行 docker cp 时查看进度。以下是使用 pv 查看 docker cp 进度的步骤:
首先,安装 pv。根据您的操作系统,使用相应的包管理器安装 pv。
# Ubuntu/Debian:
sudo apt-get install pv
# CentOS/RHEL:
sudo yum install pv
# macOS(使用 Homebrew):
brew install pv
容器到主机
要将文件从容器复制到主机并查看进度,请执行以下命令:
docker exec
<container_name> tar -cf - <source_path_inside_container> | pv | tar -xf - -C <destination_path_on_host>
将
替换为容器名称, 替换为容器内的源文件/目录路径, 替换为主机上的目标文件/目录路径。 例如,从名为 my_container 的容器复制 /data 目录到主机上的 /tmp/data 目录: “` docker exec my_container tar -cf – /data | pv | tar -xf – -C /tmp/data “` pv 将显示一个进度条,以及已传输、剩余和总字节数。 ## 主机到容器 如果要从主机复制到容器并查看进度,可以使用以下命令: “` tar -cf – | pv | docker exec -i tar -xf – -C “` 将 ` ` 替换为主机上的源文件/目录路径,` ` 替换为容器名称,“ 替换为容器内的目标文件/目录路径。 例如,从主机上的 /tmp/data 目录复制到名为 my_container 的容器中的 /data 目录: “` tar -cf – /tmp/data | pv | docker exec -i my_container tar -xf – -C /data “` 这个命令会将主机上的文件/目录通过 tar 命令打包,然后通过 pv 查看进度,并通过管道将数据发送到容器中。在容器中,tar 命令会将数据解包到指定的目录。pv 将显示一个进度条,以及已传输、剩余和总字节数。迁移 Docker volume 到本地挂载点
要将 Docker volume 迁移到本地挂载点,您需要执行以下步骤:
- 首先,确保已停止正在使用此 volume 的所有容器。您可以使用以下命令停止容器(将 替换为您的容器名称): “` docker stop
1. 使用 docker cp 命令将 volume 的内容复制到本地文件系统。首先,创建一个临时容器,将要迁移的 volume 挂载到该容器: ```
docker run -d --name temp_container -v
<volume_name>:/volume_data busybox tail -f /dev/null
将
替换为要迁移的 volume 的名称。 1. 使用 docker cp 命令将 volume 数据从临时容器复制到本地目录: “` docker cp temp_container:/volume_data “` 将 替换为要将数据复制到的本地目录。 1. 删除临时容器: “` docker rm -f temp_container “` 1. 更新您的 docker run 命令或 docker-compose.yml 文件,将原来的 volume 更改为本地挂载点。例如,如果您以前的 docker run 命令如下: “` docker run -d –name my_container -v :/data my_image “` 将其更改为: “` docker run -d –name my_container -v :/data my_image “` 将 替换为您在步骤 3 中使用的本地目录。 1. 启动更新后的容器,并验证数据是否已成功迁移到本地挂载点。 请注意,根据 volume 的大小和复杂性,迁移过程可能会花费一定时间。在迁移期间,请确保不要对 volume 进行修改以避免数据不一致。 “`适合海淘的诺贝 nobepay 虚拟信用卡申请 – 小 z 博客
以下内容转载自 适合海淘的诺贝 nobepay 虚拟信用卡申请 – 小 z 博客 虚拟信用卡是一种新 继续阅读