有没有官方资源,其中提供了所有Ubuntu 版本的完整列表,但包括每个版本适用的相应版本?我发现这个systemd/NEWS页面显示了每个版本,但我想知道每个版本适用的版本是什么。 systemd
systemd
Ubuntu
systemd
Manuel Jordan's questions
对于 Ubuntu Desktop 22.04,已根据发布通道安装 - Debian、Ubuntu、Mint中指示的官方说明安装了 Brave Web 浏览器。因此如下:
sudo apt install curl
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser
该过程成功,但在该过程中以及每次执行该apt update
命令时都会出现:
sudo apt update
...
Hit:3 https://brave-browser-apt-release.s3.brave.com stable InRelease
...
Fetched 3,590 B in 3s (1,411 B/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https://brave-browser-apt-release.s3.brave.com stable InRelease' doesn't support architecture 'i386'
观察最新的一行(出于演示目的分成多行):
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository
'https://brave-browser-apt-release.s3.brave.com stable InRelease' doesn't support
architecture 'i386'
我知道这是一个注释,N:
但很好奇:如何删除不支持架构“i386”消息?
只是对以下情况感到好奇
当adduser
命令执行时如下:
sudo adduser optimusprime
Adding user `optimusprime' ...
Adding new group `optimusprime' (1015) ...
Adding new user `optimusprime' (1013) with group `optimusprime' ...
Creating home directory `/home/optimusprime' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for optimusprime
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
请注意,有 5 个可选字段可用于写入数据。如果执行命令时默认将其保留为空cat /etc/passwd
,则该用户的记录将显示如下:
optimusprime:x:1013:1015:,,,:/home/optimusprime:/bin/bash
观察,,,
GECOS 部分。它表示 4 个字段 asA,B,C,D
而不是 5 个字段 as A,B,C,D,E
。为什么它们之间存在这种差异或不匹配?说实话我预料到了
optimusprime:x:1013:1015:,,,,:/home/optimusprime:/bin/bash
adduser
它也代表可通过该命令使用的 5 个字段。
如果使用命令usermod
如下:
sudo usermod -c "A,B,C,D,E" optimusprime
用户显示为:
optimusprime:x:1013:1015:A,B,C,D,E:/home/optimusprime:/bin/bash
我知道甚至可以通过usermod
命令添加更多字段,如下所示:
sudo usermod -c "A,B,C,D,E,F" optimusprime
sudo usermod -c "A,B,C,D,E,F,G" optimusprime
因此这些命令的执行分别体现如下
optimusprime:x:1013:1015:A,B,C,D,E,F:/home/optimusprime:/bin/bash
optimusprime:x:1013:1015:A,B,C,D,E,F,G:/home/optimusprime:/bin/bash
乍一看并不清楚 GECOS 至少是基于 4 个字段还是 5 个字段。
在通过 VirtualBox 将 Ubuntu Desktop 20.04 升级到 22.04 后,focal
目录jammy
中/etc/apt/sources.list.d
存在该mysql.list
文件。
根据一项研究,建议打开该文件并将其从 更改local
为jammy
. 因此我现在有
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out entries below, but any other modifications may be lost.
# Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications.
deb http://repo.mysql.com/apt/ubuntu/ jammy mysql-apt-config
deb http://repo.mysql.com/apt/ubuntu/ jammy mysql-8.0
deb http://repo.mysql.com/apt/ubuntu/ jammy mysql-tools
#deb http://repo.mysql.com/apt/ubuntu/ jammy mysql-tools-preview
deb-src http://repo.mysql.com/apt/ubuntu/ jammy mysql-8.0
manueljordan@mac2013-vb143:/etc/apt/sources.list.d$
现在,当执行该sudo apt update
命令时,会发生以下情况:
sudo apt update
Get:1 http://repo.mysql.com/apt/ubuntu jammy InRelease [20.2 kB]
Hit:2 https://download.docker.com/linux/ubuntu focal InRelease
Hit:3 https://dl.google.com/linux/chrome/deb stable InRelease
Hit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:5 http://pe.archive.ubuntu.com/ubuntu jammy InRelease
Hit:6 http://pe.archive.ubuntu.com/ubuntu jammy-updates InRelease
Err:1 http://repo.mysql.com/apt/ubuntu jammy InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
Hit:7 http://pe.archive.ubuntu.com/ubuntu jammy-backports InRelease
Fetched 20.2 kB in 2s (11.7 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
16 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repo.mysql.com/apt/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
W: Failed to fetch http://repo.mysql.com/apt/ubuntu/dists/jammy/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
W: Some index files failed to download. They have been ignored, or old ones used instead.
正如你所看到的,有很多错误
升级mysql.list文件后如何修复apt update?
通过VirtualBox很久以前安装了Ubuntu Desktop 20.04(focal
)并成功升级到22.04jammy
sudo apt update
现在,当执行命令时出现这篇文章的原因:
sudo apt update
Hit:1 http://repo.mysql.com/apt/ubuntu focal InRelease
Hit:2 https://download.docker.com/linux/ubuntu focal InRelease
Hit:3 https://dl.google.com/linux/chrome/deb stable InRelease
Hit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:5 http://pe.archive.ubuntu.com/ubuntu jammy InRelease
Hit:6 http://pe.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:7 http://pe.archive.ubuntu.com/ubuntu jammy-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
11 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: http://repo.mysql.com/apt/ubuntu/dists/focal/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
观察前两行,它们包含该focal
术语,其他行也包含该jammy
术语。
如何将存储库位置从 升级focal
到jammy
?
目标是正确更新 MySQL 和 Docker。
对于 Ubuntu Desktop 22.04,使用ctrl+ alt+t快捷方式打开可用的默认终端。
现在Terminator
已安装,并且现在Terminator
打开了相同的快捷方式。我确实对每个文件进行了研究Preferences
,并且不存在定义如何打开每个文件的快捷方式。只有它们各自的内部快捷键。
通过:
- 设置->键盘->键盘快捷键->查看和自定义快捷键->自定义快捷键已定义ctrl+ alt+并y有效
Terminator
。
但 ctrl++alt仍然t存在Terminator
。
通过
- 设置->键盘->键盘快捷键->查看和自定义快捷键-> 启动器我可以看到
Launch terminal
用ctrl+ alt+定义的选项t,但无法编辑以指示使用Terminal
如何解决这个问题?
出于文档目的,apt-key
我在许多地方找到了关于命令的这两种变体:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys PUBKEY
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv PUBKEY
观察最新选项--recv-keys
和的区别--recv
。关于jammy apt-key(8)man
的Ubuntu 官方只提到:
adv (deprecated)
Pass advanced options to gpg. With adv **--recv-key** you can e.g. download key from
keyservers directly into the trusted set of keys. Note that there are no checks
performed, so it is easy to completely undermine the apt-secure(8) infrastructure if
used without care.
现在从上面看到其他选项--recv-key
(不同,因为它--recv-keys
以s结尾)
而在jammy gpg(1)中只提到:
--recv-keys keyIDs
Import the keys with the given keyIDs from a keyserver.
所提到的观察将术语作为其他选项的内容man
出现,但它本身并不作为选项定义存在。--recv-key
(考虑使用ctrl+f键使用--recv
as 搜索词进行搜索,因为有一行将--recv-key
词分成两行。)
题
--recv-key
,--recv-keys
和--recv
options之间有什么区别?
如果存在这 3 个选项,则每个选项都有特定的用途。
关于dpkg
命令,一些教程确实提到了该--unpack
选项。根据
jammy (1) dpkg.1它表示
--unpack package-file...
Unpack the package, but don't configure it. If --recursive or -R option is specified,
package-file must refer to a directory instead.
那么如何测试,从MySQL APT Repository页面可以获取该mysql-apt-config_0.8.24-1_all.deb
文件。所以在Downloads
目录中我执行了命令:
sudo dpkg --unpack mysql-apt-config_0.8.24-1_all.deb
它适用于以下消息
(Reading database ... 238377 files and directories currently installed.)
Preparing to unpack mysql-apt-config_0.8.24-1_all.deb ...
Unpacking mysql-apt-config (0.8.24-1) over (0.8.24-1) ...
即使安装了 MySQL。
问题
- 解压文件的内容在哪里
.deb
?
该命令的简单执行ls
仅显示当前.deb
文件。我期待一种抽离。我假设使用了一种默认目录或其他东西。
如果使用该-c
选项,则可以看到文件的目录.deb
我假设该--unpack
选项解压缩.deb
文件 - 如果我对后者的假设不正确,请纠正我。
VirtualBox 和 Ubuntu 服务器基于:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal
和
neofetch --off
------------------------
OS: Ubuntu 20.04.5 LTS x86_64
Host: VirtualBox 1.2
Kernel: 5.4.0-125-generic
Uptime: 17 mins
Packages: 1272 (dpkg), 5 (snap)
Shell: bash 5.0.17
Resolution: preferred
Terminal: /dev/pts/0
CPU: Intel i5-3230M (2) @ 2.594GHz
GPU: 00:02.0 VMware SVGA II Adapter
Memory: 236MiB / 3883MiB
基于这两个有价值的教程:
我确实做了以下步骤:
sudo apt-mark showhold # Returns nothing
sudo apt-mark unhold <packagename> # Not necessary as above returned nothing
sudo apt update
sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
mysql-client mysql-server
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
sudo reboot
sudo apt full-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
mysql-client mysql-server
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
sudo apt --purge autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
sudo apt install update-manager-core # It to install 'do-release-upgrade'
sudo do-release-upgrade -c
Checking for a new Ubuntu release
New release '22.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
sudo do-release-upgrade # <---- final step
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.
我确实做了上面显示的过程,以防万一两次并且总是出现以下消息:
Please install all available updates for your release before upgrading
如何解决这种情况?
注意以防万一,我ssh
在同一个 LAN 中执行此过程。
请注意,在其他虚拟机中,现在升级过程正在运行,但它适用于 Ubuntu 服务器 18 到 20 ...因此似乎共享的步骤说明是正确的
关于将操作系统从一个版本升级到另一个版本,例如 - 从 18.04 到 20.04 或从 20.04 到 22.04 - 在整个过程中存在并使用do-release-upgrade
命令,并且它有一些选项,例如-c
和-d
,现在在下面的教程中
在步骤 4. 将 Ubuntu Linux 升级到最新的 LTS部分中指出以下内容:
执行以下命令:
sudo do-release-upgrade
请注意您是否会收到以下消息:
Checking for a new Ubuntu release There is no development version of an LTS available. To upgrade to the latest non-LTS develoment release set Prompt=normal in /etc/update-manager/release-upgrades.
在这种情况下,请传递
-d
选项以强制获取最新的受支持版本:
sudo do-release-upgrade -d
在当前/etc/update-manager/release-upgrades
文件中,它具有该Prompt=lts
值-根据一些研究,该值/设置是值得推荐的
我应该假设 ifsudo do-release-upgrade -d
被执行然后
- 当前
Prompt=lts
值被忽略并Prompt=normal
暂时使用?- 它仅适用于流程执行生命周期 - 当前
Prompt=lts
值被忽略并Prompt=never
暂时使用?- 它仅适用于流程执行生命周期 - 当前
Prompt=lts
值被覆盖为Prompt=normal
? - 因此现在永久更改 - 当前
Prompt=lts
值被覆盖Prompt=never
- 因此现在永久更改
......这个过程还在继续
目前man do-release-upgrade
for-d
选项表示
-d, --devel-release
If using the latest supported release, upgrade to the development release
但遗憾的是不清楚。
问题:
- 具体是如何
do-release-upgrade -d
工作的?
额外问题
- 应用什么场景?1,2,3,4?
- 何时/为什么强制使用
do-release-upgrade -d
?
由于创建了哪个 Ubuntu 版本/发行版并且该apt
命令可用?它的目的是替代apt-get
或提供一种新的替代方案apt-get
我希望官方帖子Ubuntu.com
指示或宣布“新”apt
命令及其原因,以用于历史记录目的。
是的,我阅读了一些关于它们之间的区别和原因的教程,但不是来自源(Ubuntu.com
)
目录中apt
的About主要出现和文件及其“变体”(旧版本),例如:/var/log/apt
history.log
term.log
history.log.1.gz
...history.log.11.gz
term.log.1.gz
...term.log.11.gz
问题
/var/log/apt/history.log
和之间有什么区别/关系/var/log/apt/term.log
?
我看到了每一个的内容,它们都相似。
即将完成对当前安装的软件包的更新- 从桌面和服务器环境的 Ubuntu 18:04 到 20:04 - 我一直在使用:
sudo apt update
sudo apt upgrade
请注意以防万一 - 我从未使用过该apt-get
命令,它符合:
到目前为止,实际上,我没有任何问题,所有工作都按预期进行。
关于进行升级,我几乎在所有教程中都使用了上面提到的同一对,当然这是有道理的,但在少数地方我看到了sudo apt full-upgrade
正在使用的命令。
问题
- 什么时候使用
sudo apt full-upgrade
? - 什么时候是强制性的?
对于do-release-upgrade
命令是可能的使用-d
选项。根据文档,它是:
-d, --devel-release
If using the latest supported release, upgrade to the development release
我读了这两个帖子:
但不清楚,什么时候强制使用-d
,什么时候不强制使用。
据我了解,有两个分支LTS
和development,前者更好,因为 EOL 比后者长。
如果do-release-upgrade
使用 - 没有任何选项/参数 - 它应该从 LTS 转到 LTS(如果存在新的 LTS 来达到/应用升级,例如from 16.04LTS to 18.04LTS
或from 18.04LTS to 20.04LTS
)。以前可以确认/验证do-release-upgrade -c
是否可以进行升级。
所以:
- 什么时候强制使用命令的
-d
参数do-release-upgrade
?什么时候不?
在以下链接中
出于swap file
调整大小的目的,该dd
命令的使用如下:
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc
问题:
oflag
和参数如何conv
工作?- 是否应该期望在当前大小的基础上添加零的新块的定义明确的连续性
swap file
?
请注意以防万一 Ubuntu 是20.04
关于Linux Swap
,出于调整大小的目的,我找到了三种方法
- 删除当前
/swapfile
并使用新的所需大小创建一个新的 - 根据当前需要添加更多 gigas
/swapfile
- 加上另一个
Swap file
注意:一定要先通过sudo swapoff -v /swapfile
或者sudo swapoff -a
命令禁用交换
这里提到/涵盖了方法 2 和 3:
方法1在这里介绍:
问题
- 推荐的方法是什么?为什么?
额外问题
- 什么时候是强制性的,添加另一个有什么好处
/swapfile
?- 因此/swapfile2
...等 - 内核如何与 2 或更多
swap file
s 一起工作?我假设有一些优点...... - 是否存在可推荐的添加限制
swap files
?例如,最多只能达到 3?
通常我曾经使用swap partition
只存在一个分区的方法,所以,这种swap files
乍一看要添加一些的方法是罕见/不寻常的
根据以下链接:
由于默认使用 Ubuntu 17:04 swap file
。
主要问题是:
- 为桌面和服务器环境定义的默认大小是多少?
次要问题:
- 他们是平等的吗?
- 是否平等 - 它是固定的吗?还是根据正在安装 Ubuntu 的当前硬件实时定义?
关于Ubuntu
安装:
- 它适用于
Desktop
或Server
环境 - 对于基于任一
HDD
或的硬盘SSD
对于基于用于启动目的的最新PC 或笔记本电脑,建议定义1GB 空间。UEFI
/boot/efi
对于使用- 因此不存在-用于引导目的的旧PC 或笔记本电脑,建议的分区类型和空间应该是什么?BIOS
UEFI
对于某些笔记本电脑,我安装了 UbuntuDesktop
和Server
- 20.04 - through ,通常会占用通过文件VirtualBox
定义和可用的所有磁盘空间。.vdi
直到这里一切都好。
现在我将直接在一些 PC 桌面上安装 Ubuntu。所以现在是使用分区的时候了,所以我想先得到一些实践和经验。可悲的是,我无法在真正的硬盘上使用GParted
我VirtualBox
的方法 - 如果我错了,请纠正我 - 所以我必须使用Ubuntu Live .iso
文件中可用的自己的工具 - 它适用于桌面和服务器环境。我阅读了许多关于如何为桌面和服务器环境创建/管理分区的教程,例如:
他们使用 Ubuntu 提供的自己的工具。好吧,我想尝试测试许多方法,甚至包括LVM
其他帖子中未建议的方法:
所以
- 在 .vdi 中创建分区以通过 VirtualBox 安装 Ubuntu 桌面/服务器是否安全?
- 有和没有 LVM?
我不想在主机的硬盘上弄得一团糟(真的会造成伤害)
请注意,一些笔记本电脑(主机)的硬盘基于HDD
和SSD
- 也许考虑到这一点很重要。
通过 VirtualBox,即使在不同的机器上,我也有 2 个运行以下信息的 Ubuntu Server 20.04 实例:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
两者都安装了 MySQL,其指令与我几个月前使用的指令相同。sudo apt update
当我确实出现以下内容时,突然间仅针对其中一个:
Get:2 http://repo.mysql.com/apt/ubuntu focal InRelease [12.9 kB]
Hit:3 http://pe.archive.ubuntu.com/ubuntu focal InRelease
Ign:4 https://packages.erlang-solutions.com/ubuntu focal InRelease
Hit:5 https://packages.erlang-solutions.com/ubuntu focal Release
Get:6 http://pe.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Err:2 http://repo.mysql.com/apt/ubuntu focal InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
Get:9 http://pe.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:10 http://pe.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:7 https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu focal InRelease
Fetched 349 kB in 3s (133 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repo.mysql.com/apt/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
W: Failed to fetch http://repo.mysql.com/apt/ubuntu/dists/focal/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
W: Some index files failed to download. They have been ignored, or old ones used instead.
问题
- 为什么会发生这种情况?
- 如何解决?