基于Linux Ubuntu的学习
Linux 虚拟机环境搭建
Linux虚拟机的安装
虚拟机网络模式
虚拟机和宿主机的网络拓扑关系有三种模式:桥接模式、主机模式、NAT 模式
桥接模式
虚拟机网卡通过虚拟交换机 VMnet0 与宿主机网卡进行桥接,虚拟机网卡和宿主机网卡在拓扑处于同等地位,相当于局域网中的一台独立的主机。
桥接模式可以访问外网,但是需要占用该网段 IP,如果 IP 资源紧缺,使用 NAT 模式。
主机模式
虚拟机网卡和宿主机网卡都连在虚拟交换机 VMnet1 上,虚拟机与外界隔开成独立的系统,只与主机相互通信。
NAT 模式
在宿主机上建立单独的专用网络,虚拟机与主机之间都可以相互通信,虚拟机与外界通讯时,数据会被包裹,以主机的名义发出去。
Mode | VM —> Host | VM <— Host | VM1 <—> VM2 | VM —> Net | VM <— Net |
---|---|---|---|---|---|
Bridge | + | + | + | + | + |
Host-Only | + | + | + | - | - |
NAT | + | + | - | + | + |
NAT Network | + | + | + | + | + |
SSH
SSH连接虚拟机
虚拟机安装 openssh-server
1
apt install openssh-server
开启 sshd 服务
1
systemctl start sshd
设置虚拟机网卡,至少需要一张 NAT 模式网卡用于 ssh 连接,查看该网卡
1
ip a
网卡 IP 为 192.168.45.136
ssh 连接虚拟机
1
ssh guoyi@192.168.45.136
设置 ssh 别名
将下面直接登入方式改为别名登录
1 | ssh guoyi@192.168.45.136 |
在 ~/.ssh/config
文件中添加远端服务器信息
1 | Host Ubuntu |
即可用别名 Ubuntu 进行登录
1 | ssh Ubuntu |
设置免密登录
查看本机的
~/.ssh
文件夹是否有公私钥对,没有则生成一对1
ssh-keygen
默认命名为 id_rsa,也可输入自定义名字,如 mac_key,密码无需设置,自动生成私钥 mac_key 和公钥 mac_key.pub 两个文件
将公钥上传到服务器
1
ssh-copy-id -i mac_key.pub Ubuntu
此命令自动将公钥传到 Ubuntu 所指服务器和用户的 .ssh/known_hosts 文件中
(Mac 额外步骤)本机添加私钥文件
1
ssh-add -K mac_key
上面三步设置完成后,即可免密登录服务器
开启 root 用户登录
Ubuntu默认不允许直接 ssh 到 root 用户,需在服务器上开启 root 用户登录开关
在 Ubuntu 服务器的 /etc/ssh/sshd_config
中,取消 PermitRootLogin 参数的注释,并将由其 prohibit-password 改为 yes
1 | PermitRootLogin yes |
重启 sshd
1 | systemctl restart sshd |
apt
更新 apt,有些包找不到,可能是因为 apt 没更新
1
apt update
Linux目录结构
Linux的目录同样为树形结构,最顶级的根目录为/
绝对路径
从根目录
/
写起,例如/usr/share/doc
相对路径
Linux基础命令
ls
查看当前目录下的所有目录和文件cat <文件路径>
查看文件内容clear
清空命令行
rpm命令
redhat package manager,包管理命令
rpm -q <package name>
:查看包是否安装rpm -qi <package name>
:查看包的详细信息rpm -ql <package name>
:查看包列表(里面的文件)
vim
打开并编辑文件
1 | vi <文件路径> |
i
切换到输入模式ESC``:wq
保存并退出
yum
yum 是 Shell 前端软件包管理器,提供了方便的安装、卸载、更新软件包的命令
yum的安装
磁盘
扩展根目录
查看当前磁盘占用情况,可以看到根目录占用率很高,且在 /dev/mapper/ubuntu--vg-ubuntu--lv
分区
1 | guoyi@ubuntu2404:~$ df -h |
查看当前磁盘分区,ubuntu--vg-ubuntu--lv
在 nvme0n1p3
下
1 | guoyi@ubuntu2404:~$ lsblk |
扩展步骤:
通过 VMWare 扩展磁盘
通过 Disks 或者 GParted 软件将
nvme0n1p3
分区扩展将剩余空间分配给
/dev/mapper/ubuntu--vg-ubuntu--lv
分区1
sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
查看磁盘情况
1 | guoyi@ubuntu2404:~$ lsblk |
问题记录
su root 时,报错 Authentication failure
首次 su root
时,需先录入密码
1 | sudo passwd root |
否则会出现 Authentication failure 的报错