0%

Linux学习

基于Linux Ubuntu的学习

Linux 虚拟机环境搭建

Linux虚拟机的安装

  • 安装VMware
  • 安装Centos版本的Linux,或 Ubuntu ,下载iso文件
  • iso文件拖拽到VMware中

虚拟机网络模式

虚拟机和宿主机的网络拓扑关系有三种模式:桥接模式、主机模式、NAT 模式

VMware的三种网络模式

桥接模式

虚拟机网卡通过虚拟交换机 VMnet0 与宿主机网卡进行桥接,虚拟机网卡和宿主机网卡在拓扑处于同等地位,相当于局域网中的一台独立的主机。

桥接模式可以访问外网,但是需要占用该网段 IP,如果 IP 资源紧缺,使用 NAT 模式。

主机模式

虚拟机网卡和宿主机网卡都连在虚拟交换机 VMnet1 上,虚拟机与外界隔开成独立的系统,只与主机相互通信。

NAT 模式

在宿主机上建立单独的专用网络,虚拟机与主机之间都可以相互通信,虚拟机与外界通讯时,数据会被包裹,以主机的名义发出去。

Virtual Networking

Mode VM —> Host VM <— Host VM1 <—> VM2 VM —> Net VM <— Net
Bridge + + + + +
Host-Only + + + - -
NAT + + - + +
NAT Network + + + + +

SSH

SSH连接虚拟机

  1. 虚拟机安装 openssh-server

    1
    apt install openssh-server
  2. 开启 sshd 服务

    1
    systemctl start sshd
  3. 设置虚拟机网卡,至少需要一张 NAT 模式网卡用于 ssh 连接,查看该网卡

    1
    ip a

    网卡 IP 为 192.168.45.136

  4. ssh 连接虚拟机

    1
    ssh guoyi@192.168.45.136

设置 ssh 别名

将下面直接登入方式改为别名登录

1
ssh guoyi@192.168.45.136

~/.ssh/config 文件中添加远端服务器信息

1
2
3
4
Host Ubuntu
HostName 192.168.45.136
User guoyi
Port 22

即可用别名 Ubuntu 进行登录

1
ssh Ubuntu

设置免密登录

  1. 查看本机的 ~/.ssh 文件夹是否有公私钥对,没有则生成一对

    1
    ssh-keygen

    默认命名为 id_rsa,也可输入自定义名字,如 mac_key,密码无需设置,自动生成私钥 mac_key 和公钥 mac_key.pub 两个文件

  2. 将公钥上传到服务器

    1
    ssh-copy-id -i mac_key.pub Ubuntu

    此命令自动将公钥传到 Ubuntu 所指服务器和用户的 .ssh/known_hosts 文件中

  3. (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
2
3
4
5
6
7
8
9
10
11
guoyi@ubuntu2404:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 391M 1.7M 389M 1% /run
efivarfs 256K 32K 225K 13% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv 9.8G 8.3G 974M 90% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
/dev/nvme0n1p2 1.7G 105M 1.5G 7% /boot
/dev/nvme0n1p1 952M 6.4M 945M 1% /boot/efi
tmpfs 391M 124K 391M 1% /run/user/1000
/dev/sr0 2.4G 2.4G 0 100% /media/guoyi/Ubuntu-Server 24.04.1 LTS arm64

查看当前磁盘分区,ubuntu--vg-ubuntu--lvnvme0n1p3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
guoyi@ubuntu2404:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 68.8M 1 loop /snap/core22/1666
loop2 7:2 0 250.3M 1 loop /snap/firefox/5236
loop3 7:3 0 483.3M 1 loop /snap/gnome-42-2204/178
loop4 7:4 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop5 7:5 0 33.7M 1 loop /snap/snapd/21761
loop6 7:6 0 144.1M 1 loop /snap/thunderbird/560
sr0 11:0 1 2.3G 0 rom /media/guoyi/Ubuntu-Server 24.04.1 LTS arm64
nvme0n1 259:0 0 50G 0 disk
├─nvme0n1p1 259:1 0 953M 0 part /boot/efi
├─nvme0n1p2 259:2 0 1.8G 0 part /boot
└─nvme0n1p3 259:3 0 11.9G 0 part
└─ubuntu--vg-ubuntu--lv 252:0 0 10G 0 lvm /

扩展步骤:

  1. 通过 VMWare 扩展磁盘

  2. 通过 Disks 或者 GParted 软件将 nvme0n1p3 分区扩展

  3. 将剩余空间分配给 /dev/mapper/ubuntu--vg-ubuntu--lv 分区

    1
    sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

查看磁盘情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
guoyi@ubuntu2404:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 68.8M 1 loop /snap/core22/1666
loop2 7:2 0 250.3M 1 loop /snap/firefox/5236
loop3 7:3 0 483.3M 1 loop /snap/gnome-42-2204/178
loop4 7:4 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop5 7:5 0 33.7M 1 loop /snap/snapd/21761
loop6 7:6 0 144.1M 1 loop /snap/thunderbird/560
sr0 11:0 1 2.3G 0 rom /media/guoyi/Ubuntu-Server 24.04.1 LTS arm64
nvme0n1 259:0 0 50G 0 disk
├─nvme0n1p1 259:1 0 953M 0 part /boot/efi
├─nvme0n1p2 259:2 0 1.8G 0 part /boot
└─nvme0n1p3 259:3 0 47.3G 0 part
└─ubuntu--vg-ubuntu--lv 252:0 0 47.3G 0 lvm /

guoyi@ubuntu2404:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 391M 1.7M 389M 1% /run
efivarfs 256K 32K 225K 13% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv 47G 8.3G 37G 19% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
/dev/nvme0n1p2 1.7G 105M 1.5G 7% /boot
/dev/nvme0n1p1 952M 6.4M 945M 1% /boot/efi
tmpfs 391M 128K 391M 1% /run/user/1000
/dev/sr0 2.4G 2.4G 0 100% /media/guoyi/Ubuntu-Server 24.04.1 LTS arm64

问题记录

su root 时,报错 Authentication failure

首次 su root 时,需先录入密码

1
sudo passwd root

否则会出现 Authentication failure 的报错