一、启动镜像
1、创建一块启动镜像的系统盘
进入母机的 /data 目录下
qemu-img create -f qcow2 ubuntu20.04.qcow2 20G
2、启动一个镜像
virt-install --virt-type kvm --name ubuntu20.04 --ram 2048 --cdrom=/data/ubuntu-20.04.1-live-server-arm64.iso --disk /data/ubuntu20.04.qcow2,format=qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5912 --os-type=linux
3、查看创建好的虚拟机信息
virsh list --all
virsh dumpxml ubuntu20.04 | grep vnc
virsh dumpxml ubuntu20.04 | grep qcow

1、终端输入命令
以普通用户登录系统,创建root用户的密码 ,然后输入你要设置的密码,这样就完成了设置root用户密码的步骤
sudo passwd root
2、修改sshd远程服务的配置
使用 vi 打开文件 /etc/ssh/sshd_config,
sudo vi /etc/ssh/sshd_config
注意两点:
Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-59-generic x86_64) 上
PermitRootLogin without-password 变成了 PermitRootLogin prohibit-password
如果 PasswordAuthentication 这一项是开启的,务必从 no 改成 yes

三、设置一个IP地址作为母机临时IP设置
本次制作镜像在物理机上进行操作,其它环境可以酌情参考类比
物理机服务器:192.1.1.111
1、配置网卡文件
注意:不同的Linux系统,网卡配置文件是不同的,这里Ubuntu的网卡配置文件是/etc/network/interfaces
输入下面命令进行编辑网卡文件
sudo vi /etc/network/interfaces
默认的文件内容如下:
auto lo
Iface lo inet loopback
现在修改配置文件,修改方式有两种
方式一:静态IP
修改内容如下:
下面的enp0s3需要改成自己的网卡名称,就是上面IP地址:192.1.1.111,掩码 网关自己合理配置就行了最后记得wq!保存退出
auto enp1s0
iface enp1s0 inet static
address 192.1.1.111
netmask 255.255.255.0
gateway 192.1.1.1
编辑interfaces之后,使用 IP命令进行配置和启动网卡:
ip a add 192.1.1.111/255.255.255.0 dev enp1s0
ip link set dev enp1s0 down
ip link set dev enp1s0 up
ip a
2、【问题描述】解决在无任何互联网的环境下,安装软件时缺少依赖包的问题
方法一:搭建临时本地软件源
进行iso挂载:
执行下面三条命令进行iso挂载
如果这一步有报错找不到CD-romm,可以将上一步的CD/DVD删掉重新添加一次,重启系统再执行下面命令
mkdir /media/cdrom
mount 挂载镜像到本地目录
mount -t iso9660 -o loop /dev/sr0 /media/cdrom
(或者:mount -t auto /dev/cdrom /media/cdrom)
备注:
/dev/cdrom 与 /dev/sr0都是系统文件名,两个在光盘挂载时是一样的,所以用哪个都行
/media/cdrom是挂载点,是自定义的也可以是手动创建的目录
如果用完想退出光盘镜像文件的话,必须先解除挂载
umount命令加系统文件名或挂载点,如:
umount /dev/sr0
添加本地目录到软件源
sudo apt-cdrom -m -d=/media/cdrom add
查看apt源地址:
cat /etc/apt/sources.list
测试是否成功:
进行本地库依赖更新
apt-get update
升级软件包
apt-get upgrade
方法二:本地apt源配置
1、创建目录
mkdir /mnt/iso/
chmod -R 777 /mnt/iso
2、将镜像文件ubuntu-16.04.2-server-amd64.iso上传到目录/mnt下
scp -P 22 /data/ubuntu-20.04.1-live-server-arm64.iso root@192.1.1.111:/mnt/
ll /mnt/iso/
挂载iso镜像到目录下
挂载命令
sudo mount -t iso9660 -o loop /mnt/ubuntu-16.04.2-server-amd64.iso /mnt/iso
ll /mnt/iso/
操作之后,即可将iso文件挂载到 /mnt/iso 目录下,我们可以查看下 /mnt/iso 目录已经有ubuntu-16.04.2-server-amd64.iso 的文件了
3. 配置软件源
将在线源修改本地的apt源地址,这里修改的是 /etc/apt/ 下的 sources.list 文件,修改之前记得先备份一份,将文件中的deb在线apt源注释掉(deb hppt://ports.XXX),修改完成后保存文件
执行命令 :
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
4. 添加本地软件源
sudo apt-cdrom -m -d=/mnt/iso add
sudo apt-get update
sudo apt-get upgrade
显示如下则说明已经成功了安装本地源。
update 是更新了软件列表,upgrade 是更新软件

dpkg -l // 列出已安装的所有软件包
apt-cache search PackageName // 搜索软件包
apt-cache show PackageName // 获取软件包的相关信息, 如说明、大小、版本等
apt-cache depends PackageName // 查看该软件包需要哪些依赖包
apt-cache rdepends PackageName // 查看该软件包被哪些包依赖
apt-get check // 检查是否有损坏的依赖
命令:
update - 取回更新的软件包列表信息
upgrade - 进行一次升级
install - 安装新的软件包(注:软件包名称是 libc6 而非 libc6.deb)
remove - 卸载软件包
autoremove - 卸载所有自动安装且不再使用的软件包
purge - 卸载并清除软件包的配置
source - 下载源码包文件
build-dep - 为源码包配置所需的编译依赖关系
dist-upgrade - 发布版升级,见 apt-get(8)
dselect-upgrade - 根据 dselect 的选择来进行升级
clean - 删除所有已下载的包文件
autoclean - 删除已下载的旧包文件
check - 核对以确认系统的依赖关系的完整性
changelog - 下载指定软件包,并显示其changelog
download - 下载指定的二进制包到当前目录
apt-get install openssh-server vim net-tools lrzsz unzip dos2unix telnet sysstat iotop pciutils lsof tcpdump psmisc bc
selinux默认ubuntu系统是不安装的,iptables默认也是全开放的
可用getenforce和iptables -L命令核实查看两个组件的状态
ll /etc/selinux/
iptables -L

selinux默认未安装,防火墙关闭,执行命令
sudo ufw disable
3、Ubuntu以DHCP方式配置网卡自动获取ip地址
编辑文件 /etc/network/interfaces
sudo vi /etc/network/interfaces
并用下面的行来替换有关eth0的行:
# The primary network interface - use DHCP to find our address
auto enp1s0
iface enp1s0 inet dhcp
echo > /var/log/wtmp
echo > /var/log/btmp
echo > ~/.bash_history
history -c
关机
init 0
qemu-img convert -f qcow2 ubuntu20.04.qcow2 -O raw Ubuntu20.04.raw
七、上传镜像到OpenStack云平台
glance image-create --name "Ubuntu20.04" --file /root/Ubuntu20.04.raw --disk-format raw --container-format bare --property hw_qemu_guest_agent=yes --visibility public --progress
写在最后:
神话是人生的隐喻,每个人身上,都隐藏着自己独特的英雄力量(神话学大师 坎贝尔)
你每天学习一点点,每天只进步1%,一年以后你的水平值是多少呢?
37.78(1.01×365=37.78)
相信概率,不要相信运气,在过程中提升概率
《礼记·中庸》:凡事豫则立,不豫则废。言前定则不跲,事前定则不困,行前定则不疚,道前定则不穷
详情请见,微信公众号:
