James Kiarie 发布的文章

在本指南中,你将了解如何在 Ubuntu/Debian Linux 发行版中为 apt 命令设置代理。

代理服务器是位于请求资源的客户端系统或最终用户与资源本身之间的中间服务器。在大多数情况下,代理服务器充当最终用户和互联网之间的网关。

对于组织和企业环境,代理服务器提供了许多好处。它通过阻止被认为会影响员工工作效率的网站来控制互联网的使用。它还通过数据加密增强隐私并提高组织的安全性。

有几种方法可以为 apt 命令设置代理,让我们直接进入。

注意:为了演示,我们将使用 Ubuntu 22.04。

使用代理文件为 APT 配置代理

apt 命令配置代理的最简单方法是创建一个 proxy.conf 文件,如下:

$ sudo vi /etc/apt/apt.conf.d/proxy.conf

对于没有用户名和密码的代理服务器,添加以下条目,如下:

对于 HTTP 代理,添加以下条目:

Acquire::http::Proxy "http://proxy-IP-address:proxyport/";

对 HTTPS 代理执行相同的操作:

Acquire::https::Proxy "http://proxy-IP-address:proxyport/";

例子:

$ cat  /etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://192.168.56.102:3128/";
Acquire::https::Proxy "http://192.168.56.102:3128/";

如果你的代理服务器需要用户名和密码详细信息,请按以下方式添加:

Acquire::http::Proxy "http://username:password@proxy-IP-address:proxyport";
Acquire::https::Proxy "http://username:password@proxy-IP-address:proxyport";

例子:

$ cat  /etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://init@PassW0rd321#@192.168.56.102:3128/";
Acquire::https::Proxy "http://init@PassW0rd321#@192.168.56.102:3128/";

完成后,保存更改并退出配置文件。代理设置将在你下次运行 APT 包管理器时生效。

例如,你可以更新本地包索引,然后安装 net-tools 包:

$ sudo apt update
$ sudo apt install net-tools -y

验证代理服务器日志以确认 apt 命令正在使用代理服务器下载包。在代理服务器运行时:

# tail -f /var/log/squid/access.log  | grep -i 192.168.56.240

这里 192.168.56.240 是我们 Ubuntu 机器的 IP 地址。

完美,上面的输出确认我们的 Ubuntu 系统的 apt 命令正在通过代理服务器(192.168.56.102)下载包。

另一种指定代理详细信息的方法

除了第一种方法,你还可以用更简单的方式指定代理详细信息。再次创建一个 proxy.conf 文件,如下所示。

$ sudo vi /etc/apt/apt.conf.d/proxy.conf

对于没有用户名和密码的代理服务器,如图所示进行定义。

Acquire {
  http::Proxy "http://proxy-IP-address:proxyport/";
  https::Proxy "http://proxy-IP-address:proxyport/";
}

示例文件如下所示:

$ sudo vi /etc/apt/apt.conf.d/proxy.conf

对于具有用户名和登录详细信息的代理服务器:

Acquire {
   http::Proxy "http://username:password@proxy-IP-address:proxyport/";
   https::Proxy "http://username:password@proxy-IP-address:proxyport/";
}

保存更改并退出配置文件。提醒一下,当你开始使用 APT 包管理器,这些设置就会立即生效。

总结

本指南到此结束。在本教程中,我们演示了如何为 Debian/Ubuntu Linux 发行版中使用的 APT 包管理器配置代理设置。本文就到这里了。

(题图:MJ/dfb4d5a0-9150-47bd-9f54-c120ddd77046)


via: https://www.linuxtechi.com/set-proxy-settings-for-apt-command/

作者:James Kiarie 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

CRI-O 是 Kubernetes 的开源轻量级容器运行时。它是使用 开放容器组织 Open Container Initiative (OCI)兼容运行时的 Kubernetes 容器运行时接口 Container Runtime Interface (CRI)的实现。在运行 Kubernetes 时,它是 Docker 的完美替代品。

在本指南中,我们将逐步演示如何在 Ubuntu 22.04 LTS 上安装 CRI-O。

先决条件

在开始之前,这是你需要的:

  • 具有 SSH 访问权限的 Ubuntu 22.04 实例
  • 在实例上配置的 sudo 用户
  • 快速稳定的互联网连接

有了这个,让我们开始吧。

步骤 1:更新系统并安装依赖

立即登录你的服务器实例,并按如下方式更新包列表:

$ sudo apt update

更新本地包索引后,按如下方式安装依赖项:

$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y

步骤 2:添加 CRI-O 存储库

要安装 CRI-O,我们需要在 Ubuntu 上添加或启用它的仓库。但首先,你需要根据操作系统和要安装的 CRI-O 版本定义变量。

因此,定义如下变量:

$ export OS=xUbuntu_22.04
$ export CRIO_VERSION=1.24

完成后,运行以下命令集以添加 CRI-O Kubic 仓库:

$ echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /"| sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
$ echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$CRIO_VERSION/$OS/ /"|sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable:cri-o:$CRIO_VERSION.list

此后,为 CRI-O 仓库导入 GPG 密钥:

$ curl -L https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$CRIO_VERSION/$OS/Release.key | sudo apt-key add -
$ curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/Release.key | sudo apt-key add -

这会产生如下输出:

再次更新包索引,使系统与新添加的 CRI-O Kubic 仓库同步:

$ sudo apt update

步骤 3:在 Ubuntu 22.04 上安装 CRI-O

添加仓库后,使用 APT 包管理器安装 CRI-O 和运行时客户端:

$ sudo apt install cri-o cri-o-runc -y

安装后,启动并启用 CRI-O 守护程序:

$ sudo systemctl start crio
$ sudo systemctl enable crio

接下来,验证 CRI-O 服务是否正在运行:

$ sudo systemctl status crio

你应该看到以下输出,表明 CRI-O 服务正在按预期运行:

步骤 4:为 CRI-O 安装 CNI 插件

接下来,你需要安装 CNI( 容器网络接口 Container Network Interface )以及 CNI 插件。请记住,环回和桥接配置已启用并且足以使用 CRI-O 运行 容器荚 Pod

因此,要安装 CNI 插件,请运行以下命令:

$ sudo apt install containernetworking-plugins -y

安装后,编辑 CRI-O 配置文件:

$ sudo nano /etc/crio/crio.conf

取消注释 network_dirplugin_dirs 部分,并在 plugin_dirs 下添加 /usr/lib/cni/

保存更改并退出配置文件。

接下来,重启 CRIO 服务:

$ sudo systemctl restart crio

步骤 5:安装 CRI-O 工具

此外,你还需要安装 cri-tools 包,它提供了 crictl 命令行程序,用于交互和管理容器和 pod。

为此,请运行以下命令:

$ sudo apt install -y cri-tools

安装后,确认 crictl 的版本和 RunTimeVersion 如下:

$ sudo crictl --runtime-endpoint unix:///var/run/crio/crio.sock version

一定要检查 CRI-O 是否准备好使用以下命令部署容器荚:

$ sudo crictl info

crictl 命令提供自动补全功能,让你可以通过按 TAB 键自动补全命令。要启用命令补全,请运行以下命令:

$ sudo su -

# crictl completion > /etc/bash_completion.d/crictl

然后重新加载当前的 Bash 会话:

# source ~/.bashrc

要使用自动补全功能,你需要注销或启动新的终端会话。然后只需键入 crictl 命令并按 TAB 键即可查看所有选项。

$ crictl

步骤 6:使用 crictl 程序创建容器荚

至此,CRI-O 已完全安装和配置并准备好启动容器荚。在本节中,我们将在容器荚中创建一个 Apache Web 服务器并确认它是否正在处理请求。

首先,我们将使用容器荚配置文件设置一个沙箱或隔离环境,如下所示:

$ sudo nano apache_sandbox.json

然后我们将以下配置添加到文件中:

{
    "metadata": {
        "name": "apache-sandbox",
        "namespace": "default",
        "attempt": 1,
        "uid": "hdishd83djaidwnduwk28bcsb"
    },
    "linux": {
    },
    "log_directory": "/tmp"
}

保存并退出。接下来使用以下命令创建容器荚。这会打印出很长的字母数字,它是容器荚 ID。

$ sudo crictl runp apache_sandbox.json

要确认容器荚已创建,请运行命令:

$ sudo crictl pods

要检索有关创建的容器荚的更多信息,请运行以下命令:

$ sudo crictl inspectp --output table 05ba2f0704f22

这将打印出 ID、名称、UID、命名空间、创建日期、内部 IP 等详细信息。

步骤 7:在容器荚中创建容器

这部分中,我们将在容器荚中创建一个 Apache Web 服务器容器。因此,使用 crictl 程序从 Docker Hub 拉取 Apache Web 服务器镜像:

$ sudo crictl pull httpd

你可以如图所示验证拉取的镜像:

$ sudo crictl images

接下来,我们将为 Apache Web 服务器定义一个容器配置文件:

$ sudo nano container_apache.json

复制并粘贴以下代码:

{
  "metadata": {
      "name": "apache"
    },
  "image":{
      "image": "httpd"
    },
  "log_path":"apache.0.log",
  "linux": {
  }
}

保存并退出配置文件。

最后,要将容器连接到之前创建的沙盒容器荚,请运行以下命令:

$ sudo crictl create 05ba2f0704f22 container_apache.json apache_sandbox.json

这会向终端输出一长串字母数字 ID。请记下此 ID。

最后,使用 ID 启动 Apache Web 服务器容器,如下所示:

$ sudo crictl start 37f4d26510965452aa918f04d629f5332a1cd398d4912298c796942e22f964a7

要检查容器状态,请运行以下命令:

$ sudo crictl ps

要验证 Apache Web 服务器是否正在运行,请使用 curl 命令和容器荚的内部 ID 向 Web 服务器发送 HTTP 请求:

$ curl -I 10.85.0.2

以下输出确认 Web 服务器正在运行:

结论

这就是全部的指南。我们已经在 Ubuntu 22.04 上成功安装了 CRI-O,并继续创建容器荚和容器。欢迎你提出意见和反馈。


via: https://www.linuxtechi.com/install-crio-container-runtime-on-ubuntu/

作者:James Kiarie 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在这篇文章中,我们将逐步解释如何在 RHEL 9 系统上安装 Node.js。

Node.js 基于谷歌的 V8 JavaScript 引擎构建,它是一个自由开源的跨平台 JavaScript 运行时环境,主要用于构建服务器端应用。它使用事件驱动和异步模型,帮助开发人员构建高度可扩展的数据密集型的实时应用(RTA)。你可以使用 NodeJS 来构建前端和后端应用。

Node.js 通常用于构建以下应用:

  • 聊天应用
  • 流媒体应用
  • 浏览器游戏
  • 命令行工具
  • 嵌入式系统

在其技术栈中使用 NodeJS 的顶级公司包括 PayPal、NetFlix 和 Uber 等等。

安装 Node.js 主要有以下三种方式:

  • 从 NodeSource 仓库安装 Node.js
  • 从发行版的官方仓库安装 Node.js
  • 使用 NVM 安装 Node.js

让我们看看如何使用这些方法在 RHEL 9 上安装 Node.js。

先决条件:

  • 最小化安装的 RHEL 9 系统
  • 具有管理员权限的 sudo 用户
  • 互联网连接
  • Red Hat 订阅或本地配置的仓库

从 NodeSource 存储库安装 Node.js

NodeSource 是一家技术公司,旨在帮助组织运行生产就绪的 Node.js 应用,关注资源使用以及增强的安全性和应用程序性能。它提供了最新版本的 Node.js 和 NPM。

要从 NodeSource 安装 Node.js,首先,按如下所示更新系统包。

$ sudo dnf update -y

接下来,安装这期间所需的构建工具。其中包括 GCC C/C++ 编译器、Perl 和 Python 调试器等等。

$ sudo dnf groupinstall 'Development Tools' -y

接下来,我们将从 NodeSource 安装 Node.js 18.x。为此,请下载并运行 NodeSource 设置脚本,如下所示。

$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -

该脚本在其他任务中将 NodeSource 仓库添加到你的系统。

在输出的末尾,你将看到一些关于如何安装 Node.js 和 NPM 的附加说明。

因此,要安装 Node.js 和 NPM(Node 包管理器),请运行以下命令:

$ sudo dnf install nodejs -y

安装完成后,按如下所示验证 Node.js 和 NPM 的版本。

$ node -v
$ npm -v

输出显示我们正在运行 Node v18.12,它是最新的 LTS 版本和 NPM 8.19.2。

从官方 RHEL 仓库安装 Node.js

安装 NodeJS 和 NPM 的另一种方法是从发行版的官方仓库中安装它们。但是,这种方法不提供最新版本。

如果你不介意不安装最新版本的 Node 和 NPM。 那么在命令行上运行以下命令。

$ sudo dnf update -y
$ sudo dnf install nodejs npm -y

使用 NVM 安装 Node.js

最后,你可以使用 NVM(Node 版本管理器)安装 Node.js,这是一种用于管理系统上 Node 版本的工具。该工具可帮助开发人员在需要不同版本 Node.js 的不同项目上高效工作。

默认情况下没安装 NVM。你需要通过运行 官方 GitHub 页面 上提供的 Shell 脚本来安装它。

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash

这会下载 NVM 并将其保存在主目录的 .nvm 目录中。

安装后,关闭终端会话并打开一个新终端。然后运行以下命令确认 NVM 已经安装。

$ command -v nvm

接下来,你可以使用以下命令列出所有可用的 Node.js 版本:

$ nvm ls-remote

或者,你可以列出 Node.js 版本的所有最新 LTS 版本,如图所示。

$ nvm ls-remote | grep -i latest

要安装最新版本的 Node.js(当前为 v19.0.0),请运行以下命令:

$ nvm install node

然后,你可以验证安装的 Node.js 版本,如下所示。

$ node -v

此外,你可以安装特定版本的 Node.js。例如,要安装 v18.2.0,请运行以下命令:

$ nvm install v18.12.0

要列出系统上所有已安装的 NodeJS 版本,请运行以下命令:

$ nvm ls

第一行带有 “->” 符号的条目指向当前使用的 Node.js 版本。然后是其他版本。

要切换到另一个版本的 Node.js,请使用以下语法:

$ nvm use <version>

例如,要使用 Node 版本 19.0.0,请运行以下命令:

$ nvm use 19.0.0

再次检查已安装的 Node.js 版本,这次“->” 符号将指向 v19.0.0。

总结

在本指南中,我们演示了如何使用三种不同的方法安装 Node.js。此外,我们还提供了几种使用 NVM 管理 Node 版本的方法。我们希望可以帮助你轻松地在 RHEL 上安装 NodeJS,并选择你想要在项目中使用的版本。


via: https://www.linuxtechi.com/how-to-install-nodejs-on-rhel/

作者:James Kiarie 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在本指南中,我们将逐步介绍如何在 Linux 中创建 LVM 分区。

LVM 代表 “ 逻辑卷管理 Logical Volume Management ”,它是专门为服务器管理 Linux 系统上的磁盘或存储的推荐方式。 LVM 分区的主要优点之一是我们可以实时扩展其大小而无需停机。 LVM 分区也可以缩小,但不推荐。

为了演示,我在我的 Ubuntu 22.04 系统上连接了 15GB 磁盘,我们将从命令行在该磁盘上创建 LVM 分区。

准备
  • 连接到 Linux 系统的原始磁盘
  • 具有 sudo 权限的本地用户
  • 预装 lvm2 包

事不宜迟,让我们深入了解这些步骤。

步骤 1、识别新连接的原始磁盘

登录到你的系统,打开终端并运行以下 dmesg 命令:

$ sudo dmesg | grep -i sd

在输出中,查找大小为 15GB 的新磁盘。

dmesg-command-new-attached-disk-linux

识别新连接的原始磁盘的另一种方法是通过 fdisk 命令:

$ sudo fdisk -l | grep -i /dev/sd

输出:

fdisk-command-output-new-disk

从上面的输出,可以确认新连接的磁盘是 /dev/sdb

步骤 2、创建 PV(物理卷)

在开始在磁盘 /dev/sdb 上创建 物理卷 Physical Volume (PV)之前,请确保已安装 lvm2 包。如果未安装,请运行以下命令:

$ sudo apt install lvm2     // On Ubuntu / Debian
$ sudo dnf install lvm2    // on RHEL / CentOS

运行以下 pvcreate 命令在磁盘 /dev/sdb 上创建 PV:

$ sudo pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.
$

要验证 PV 状态,运行:

$ sudo pvs /dev/sdb
或者
$ sudo pvdisplay /dev/sdb

pvdisplay-command-output-linux

步骤 3、创建 VG(卷组)

要创建 卷组 Volume Group (VG),我们将使用 vgcreate 命令。创建 VG 意味着将 PV 添加到其中。

语法:

$ sudo vgcreare <vg_name>  <pv>

在我们的例子中,命令是:

$ sudo vgcreate volgrp01 /dev/sdb
  Volume group "volgrp01" successfully created
$

运行以下命令以验证 VG(volgrp01)的状态:

$ sudo vgs volgrp01
或者
$ sudo vgdisplay volgrp01

上述命令的输出:

vgs-command-output-linux

以上输出确认大小为 15 GiB 的卷组 volgrp01 已成功创建,一个 物理扩展Physical Extend(PE)的大小为 4 MB。创建 VG 时可以更改 PE 大小。

步骤 4、创建 LV(逻辑卷)

lvcreate 命令用于从 VG 中创建 逻辑卷 Logical Volume LV。 lvcreate 命令的语法如下所示:

$ sudo lvcreate -L <Size-of-LV> -n <LV-Name>   <VG-Name>

在我们的例子中,以下命令将用于创建大小为 14 GB 的 LV:

$ sudo lvcreate -L 14G -n lv01 volgrp01
  Logical volume "lv01" created.
$

验证 LV 的状态,运行:

$ sudo lvs /dev/volgrp01/lv01
或者
$ sudo lvdisplay /dev/volgrp01/lv01

输出:

lvs-command-output-linux

上面的输出显示 LV(lv01)已成功创建,大小为 14 GiB。

步骤 5、格式化 LVM 分区

使用 mkfs 命令格式化 LVM 分区。在我们的例子中,LVM 分区是 /dev/volgrp01/lv01

注意:我们可以将分区格式化为 ext4 或 xfs,因此请根据你的设置和要求选择文件系统类型。

运行以下命令将 LVM 分区格式化为 ext4 文件系统。

$ sudo mkfs.ext4 /dev/volgrp01/lv01

mkfs-ext4-filesystem-lvm

执行下面的命令,用 xfs 文件系统格式化 LVM 分区:

$ sudo mkfs.xfs /dev/volgrp01/lv01

要使用上述格式化分区,我们必须将其挂载到某个文件夹中。所以,让我们创建一个文件夹 /mnt/data

$ sudo mkdir /mnt/data

现在运行 mount 命令将其挂载到 /mnt/data 文件夹:

$ sudo mount /dev/volgrp01/lv01 /mnt/data/
$ df -Th /mnt/data/
Filesystem                Type  Size  Used Avail Use% Mounted on
/dev/mapper/volgrp01-lv01 ext4   14G   24K   13G   1% /mnt/data
$

尝试创建一些没用的文件,运行以下命令:

$ cd /mnt/data/
$ echo "testing lvm partition" | sudo tee dummy.txt
$ cat dummy.txt
testing lvm partition
$
$ sudo rm -f  dummy.txt

完美,以上命令输出确认我们可以访问 LVM 分区。

要永久挂载上述 LVM 分区,请使用以下 echo 命令将其条目添加到 fstab 文件中:

$ echo '/dev/volgrp01/lv01  /mnt/data  ext4  defaults 0 0' | sudo  tee -a /etc/fstab
$ sudo mount -a

以上就是本指南的全部内容,感谢阅读。请在下面的评论区发表你的问题和反馈。


via: https://www.linuxtechi.com/how-to-create-lvm-partition-in-linux/

作者:James Kiarie 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux 中国 荣誉推出

嗨,伙计们,在这篇指南中,我们将演示如何在 Windows 11 的之外配置 Ubuntu 22.04 LTS(Jammy Jellyfish)的双启动设置。

为使其能工作,你需要在你的计算机上已经安装好了 Windows 11 。接下来,你将需要在你的硬盘驱动器上创建一个单独的分区,你将在此分区上安装 Ubuntu 22.04 。我们将包含这点知识,因此不要担心。

前置条件:

在设置双启动前,这些是你所需要的:

  • 一个 Ubuntu 22.04 的可启动 USB 驱动器,你可以转到 Ubuntu 22.04 下载页面 来下载 Ubuntu 22.04 的 ISO 镜像文件。在 ISO 镜像文件到位后,拿一个 16GB USB 驱动器,并使用 Rufus 应用程序来使其可启动。
  • 快速稳定的互联网连接

步骤 1、在你的硬盘驱动器上创建一个可用的分区

正如介绍中所提到的,我们首先需要在硬盘驱动器上创建一个单独的分区,我们将在其中安装 Ubuntu 22.04 。

因此,通过按下 Windows + R 组合键来打开磁盘管理器实用程序。

在对话框中,输入 diskmgmt.msc ,并按下回车键。

磁盘管理 disk management 控制台将显示当前磁盘分区,如你将在下面所看到的一样。我们将通过压缩 “卷 E” 来创建一个用于安装 Ubuntu 的分区。这在你的安装过程中可能有所不同,但是只需要跟着做,你就会理解其中的大体意思。

因此,在你想要压缩的磁盘驱动器卷上点击鼠标右键,并在弹出的菜单中选择 压缩卷 Shrink 选项。

将会出现一个弹出对话框,如下所示。具体指定压缩的控件大小(以 MB 为单位),并单击 压缩卷 Shrink

这是指定给 Ubuntu 22.04 安装所用的空间。

在缩小磁盘空间后,它将显示为 未分配 Unallocated 可用空间 Free Space ,如图所示。

随着有了可用空间,现在将可启动 USB 驱动器插入到你的 PC ,并重新启动你的系统。此外,要确保访问 BIOS 设置,并修改启动优先级,来使 USB 驱动器成为第一优先级。保存 BIOS 更改并继续启动。

步骤 2、开始安装

在第一个屏幕中,你将得到如图所示的 GRUB 菜单。选择第一个选项 尝试或安装 Ubuntu Try or Install Ubuntu ,并按下 回车键 ENTER 按键。

Ubuntu 22.04 将开始加载,如下所示。这最多需要一分钟。

此后,安装程序向导将弹出,向你提供两个选项: 尝试 Ubuntu Try Ubuntu 安装 Ubuntu Install Ubuntu 。因为我们的使命是安装 Ubuntu ,所以选择后者。

接下来,选择你的首选键盘布局,并单击 继续 Continue 按钮。

更新和其它软件 Updates and Other Software 步骤中,选择 正常安装 Normal Installation 以便安装 Ubuntu的 GUI 版本,通过勾选其它剩余选项来允许下载更新和安装第三方的针对于图像、WIFI 硬件和其它实用程序的软件包。

接下来,单击 继续 Continue 按钮。

下一步提供两个安装选项。第一个选项 - 清除整个磁盘并安装 Ubuntu Erase disk and install Ubuntu – 完全地擦除你的驱动器并安装。但是由于这是一个双启动设置,这个选项对于你现有安装的 Windows 系统来说会是灾难性的。

因此,选择 其它选项 Something else ,单击 继续 Continue 按钮。

分区表将显示所有现有的磁盘分区。到目前为止,我们仅有 NTFS 分区和我们之前压缩出来的可用分区。

针对 Ubuntu 22.04 ,我们将创建下面的分区:

  • /boot – 1 GB
  • /home – 10 GB
  • / – 12 GB
  • 交换分区 – 2 GB
  • EFI – 300 MB

为开始使用这些分区,单击 可用空间 Free Space 分区下面的 “+” 符号。

如图显示填写 /boot 分区的详细信息,然后单击 确定 OK 按钮。

接下来,具体指定 /home 分区,并单击 确定 OK 按钮。

接下来,定义 /(根)分区,并单击 确定 OK 按钮。

为定义交换空间,设置大小,并在 使用为 Use as :选项中选择 交换区域 Swap area

最后,如果你正在使用 UEFI 启动模式,那么创建一个 EFI 系统分区。我们将分配 300MB 到 EFI 分区。

下图是一份我们的分区表的分区摘要:

为继续安装,单击 现在安装 Install Now 。在下图显示的弹出窗口中,单击 继续 Continue 来保存更改到磁盘。

接下来,安装程序向导将自动侦测出你的位置,只需要单击 继续 Continue 按钮。

接下来,通过具体指定姓名、计算机的名称和密码来创建一个登录用户。接下来单击 继续 Continue 按钮。

此时,安装程序向导将复制所有的 Ubuntu 文件和软件包到手动创建的硬盘驱动器分区,并安装必要的软件包。

这个过程将需要很长一段时间,因此,要有耐心。在我们的实例中,它需要大约 30 分钟。

在安装过程完成后,单击 立刻重新启动 Restart Now 按钮来重新启动系统。

在这时,移除你的可启动 USB 驱动器,并按下回车键。

在系统重新启动时,你将找到包括 Ubuntu 和 Windows 11 在内的各种选项。

选择 “Ubuntu” 来启动到你的新 Ubuntu 22.04 安装。要启动到 Windows 11,请选择标有 Windows 恢复环境 Windows Recovery Environment 的条目。

就这样。我们演示了如何双启动 Windows 11 和 Ubuntu 22.04。


via: https://www.linuxtechi.com/dual-boot-ubuntu-22-04-and-windows-11/

作者:James Kiarie 选题:lkxed 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

KVM 基于内核的虚拟机 Kernel-based Virtual Machine 的首字母缩写,这是一项集成在内核中的开源虚拟化技术。它是一种类型一(裸机)的 管理程序 hypervisor ,可以使内核能够作为一个 裸机管理程序 bare-metal hypervisor

在 KVM 之上可以运行 Windows 和 Liunx 虚拟机。每个虚拟机都独立于其它虚拟机和底层操作系统(宿主机系统),并拥有自己的 CPU、内存、网络接口、存储设备等计算资源。

本文将介绍在 Ubuntu 22.04 LTS(Jammy Jellyfish)中如何安装 KVM 。在文末,我们也将演示如何在安装 KVM 完成之后创建一台虚拟机。

1、更新 Ubuntu 22.04

在一切开始前,打开终端并通过如下命令更新本地的软件包索引:

$ sudo apt update

2、检查虚拟化是否开启

在进一步行动之前,首先需要检查你的 CPU 是否支持 KVM 虚拟化,确保你系统中有 VT-x( vmx)英特尔处理器或 AMD-V(svm)处理器。

你可以通过运行如下命令,如果输出值大于 0,那么虚拟化被启用。否则,虚拟化被禁用,你需要启用它:

$ egrep -c '(vmx|svm)' /proc/cpuinfo

SVM-VMX-Flags-Cpuinfo-linux

根据上方命令输出,你可以推断出虚拟化功能已经启用,因为输出结果大于 0。如果虚拟化功能没有启用,请确保在系统的 BIOS 设置中启用虚拟化功能。

另外,你可以通过如下命令判断 KVM 虚拟化是否已经在运行:

$ kvm-ok

运行该命令之前,请确保你已经安装了 cpu-checker 软件包,否则将提示未找到该命令的报错。

直接就在下面,你会得到如何解决这个问题的指示,那就是安装 cpu-checker 包。

KVM-OK-Command-Not-Found-Ubuntu

随后,通过如下命令安装 cpu-checker 软件包:

$ sudo apt install -y cpu-checker

接着再运行 kvm-ok 命令,如果 KVM 已经启动,你将看到如下输出:

$ kvm-ok

KVM-OK-Command-Output

3、在 Ubuntu 22.04 上安装 KVM

随后,通过如下命令在 Ubuntu 22.04 中安装 KVM 以及其他相关虚拟化软件包:

$ sudo apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils

以下为你解释刚刚安装了哪些软件包:

  • qemu-kvm – 一个提供硬件仿真的开源仿真器和虚拟化包
  • virt-manager – 一款通过 libvirt 守护进程,基于 QT 的图形界面的虚拟机管理工具
  • libvirt-daemon-system – 为运行 libvirt 进程提供必要配置文件的工具
  • virtinst – 一套为置备和修改虚拟机提供的命令行工具
  • libvirt-clients – 一组客户端的库和API,用于从命令行管理和控制虚拟机和管理程序
  • bridge-utils – 一套用于创建和管理桥接设备的工具

4、启用虚拟化守护进程(libvirtd)

在所有软件包安装完毕之后,通过如下命令启用并启动 libvirt 守护进程:

$ sudo systemctl enable --now libvirtd
$ sudo systemctl start libvirtd

你可以通过如下命令验证该虚拟化守护进程是否已经运行:

$ sudo systemctl status libvirtd

Libvirtd-Status-Ubuntu-Linux

另外,请将当前登录用户加入 kvmlibvirt 用户组,以便能够创建和管理虚拟机。

$ sudo usermod -aG kvm $USER
$ sudo usermod -aG libvirt $USER

$USER 环境变量引用的即为当前登录的用户名。你需要重新登录才能使得配置生效。

5、创建网桥(br0)

如果你打算从本机(Ubuntu 22.04)之外访问 KVM 虚拟机,你必须将虚拟机的网卡映射至网桥。virbr0 网桥是 KVM 安装完成后自动创建的,仅做测试用途。

你可以通过如下内容在 /etc/netplan 目录下创建文件 01-netcfg.yaml 来新建网桥:

$ sudo vi /etc/netplan/01-netcfg.yaml
network:
  ethernets:
    enp0s3:
      dhcp4: false
      dhcp6: false
  # add configuration for bridge interface
  bridges:
    br0:
      interfaces: [enp0s3]
      dhcp4: false
      addresses: [192.168.1.162/24]
      macaddress: 08:00:27:4b:1d:45
      routes:
        - to: default
          via: 192.168.1.1
          metric: 100
      nameservers:
        addresses: [4.2.2.2]
      parameters:
        stp: false
      dhcp6: false
  version: 2

保存并退出文件。

注:上述文件的配置是我环境中的,请根据你实际环境替换 IP 地址、网口名称以及 MAC 地址。

你可以通过运行 netplan apply 命令应用上述变更。

$ sudo netplan apply

你可以通过如下 ip 命令,验证网桥 br0

$ ip add show

Network-Bridge-br0-ubuntu-linux

6、启动 KVM 虚拟机管理器

当 KVM 安装完成后,你可以使用图形管理工具 virt-manager 创建虚拟机。你可以在 GNOME 搜索工具中搜索 Virtual Machine Manager 以启动。

点击搜索出来的图标即可:

Access-Virtual-Machine-Manager-Ubuntu-Linux

虚拟机管理器界面如下所示:

Virtual-Machine-Manager-Interface-Ubuntu-Linux

你可以点击 “ 文件 File ” 并选择 “ 新建虚拟机 New Virtual Machine ”。你也可以点击下图所示的图标:

New-Virtual-Machine-Icon-Virt-Manager

在弹出的虚拟机安装向导将看到如下四个选项:

  • 本地安装介质(ISO 镜像或 CDROM)
  • 网络安装(HTTP、HTTPS 和 FTP)
  • 导入现有磁盘镜像
  • 手动安装

本文使用已下载的 ISO 镜像,你可以选择自己的 ISO 镜像,选择第一个选项,并点击 “ 向前 Forward ”。

Local-Install-Media-ISO-Virt-Manager

下一步中,点击 “ 浏览 Browse ” 选择 ISO 镜像位置。

Browse-ISO-File-Virt-Manager-Ubuntu-Linux

在下一个窗口中点击 “ 浏览本地 Browse local ” 选取本机中 ISO 镜像。

Browse-Local-ISO-Virt-Manager

如下所示,我们选择了 Debian 11 ISO 镜像,随后点击 “ 打开 Open ”。

Choose-ISO-File-Virt-Manager

当 ISO 镜像选择后,点击 “ 向前 Forward ” 进入下一步。

Forward-after-browsing-iso-file-virt-manager

接着定义虚拟机所用内存大小以及 CPU 核心数,并点击 “ 向前 Forward ” 。

Virtual-Machine-RAM-CPU-Virt-Manager

下一步中,输入虚拟机磁盘空间,并点击 “ 向前 Forward ” 继续。

Storage-for-Virtual-Machine-KVM-Virt-Manager

如你需要将虚拟机网卡连接至网桥,点击 “ 选择网络 Network selection ” 并选择 br0 网桥。

Network-Selection-KVM-Virtual-Machine-Virt-Manager

最后,点击 “ 完成 Finish ” 按钮结束设置虚拟机。

Choose-Finish-to-OS-Installation-KVM-VM

稍等片刻,虚拟机的创建过程将开始。

Creating-Domain-Virtual-Machine-Virt-Manager

当创建结束时,虚拟机将开机并进入系统安装界面。如下是 Debian 11 的安装选项。在这里你可以根据需要进行系统安装。

Virtual-Machine-Console-Virt-Manager

小结

至此,本文向你演示了如何在 Ubuntu 22.04 上 安装 KVM 虚拟化引擎。你的反馈对我们至关重要。


via: https://www.linuxtechi.com/how-to-install-kvm-on-ubuntu-22-04/

作者:James Kiarie 选题:lkxed 译者:turbokernel 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出