Ubuntu 22.04 Jammy
-
祁祁不正经:《一篇搞懂》系列
- 《一篇搞懂》系列之三systemd: https://zhuanlan.zhihu.com/p/643259265
- 《一篇搞懂》系列之一iptables: https://zhuanlan.zhihu.com/p/618848653
- 《一篇搞懂》系列之二IPVS: https://zhuanlan.zhihu.com/p/627514565
- 威力巨大的系统调用——ptrace: https://zhuanlan.zhihu.com/p/653385264
- Systemd 指令 —— 阮一峰:https://www.cnblogs.com/zwcry/p/9602756.html
systemd
设置IP地址
在 Ubuntu 服务器 22.04 中,网络由 netplan 程序控制,因此我们将使用 netplan 在 Ubuntu 服务器上配置静态 IP 地址。
- netplan配置说明:man netplan
-
/etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity' network: ethernets: enp0s3: dhcp4: true version: 2
# This is the network config written by 'subiquity' network: ethernets: enp0s3: dhcp4: false addresses: [192.168.31.50/24] routes: - to: default via: 192.168.31.1 metric: 100 on-link: true nameservers: addresses: [127.0.0.53] version: 2
# 应用新配置 sudo netplan try # Try to apply a new netplan config to running system, with automatic rollback sudo netplan apply # Apply current netplan config to running system sudo netplan --debug apply # 查看IP地址、路由配置 ip addr ip route # 获取自己的公网IP地址 echo $(wget -qO - https://api.ipify.org) echo $(curl -s https://api.ipify.org) # 查看当前DNS设置 resolvectl status # 临时配置IP地址 ip addr add 10.0.2.15/24 dev enp0s3 ip route add default via 10.0.2.1 ip link set eno3 up
hostname
在 Ubuntu 中,你可以使用hostnamectl命令编辑系统主机名以及相关设置。
修改后,应修改/etc/hosts中127.0.0.1的主机名映射。
hostnamectl status # 查看hostname所有状态信息 hostnamectl hostname # 显示主机名 hostnamectl hostname usrv51 # 设置主机名 hostnamectl -h hostnamectl [OPTIONS...] COMMAND ... Query or change system hostname. Commands: status Show current hostname settings hostname [NAME] Get/set system hostname icon-name [NAME] Get/set icon name for host chassis [NAME] Get/set chassis type for host deployment [NAME] Get/set deployment environment for host location [NAME] Get/set location for host Options: -h --help Show this help --version Show package version --no-ask-password Do not prompt for password -H --host=[USER@]HOST Operate on remote host -M --machine=CONTAINER Operate on local container --transient Only set transient hostname # 由 kernel 维护的动态主机名。 在运行过程中,DHCP 或者 mDNS 服务器可以改变 transient 主机名。默认情况下,它和 static 主机名一模一样。 --static Only set static hostname # 传统主机名。/etc/hostname --pretty Only set pretty hostname # 一个自由形态的 UTF8 主机名,/etc/machine-info --json=pretty|short|off Generate JSON output See the hostnamectl(1) man page for details.
timezone
timedatectl -h # 查看命令help timedatectl status # 查看时间及时区 timedatectl list-timezones # 列出可用时区 sudo timedatectl set-timezone Asia/Shanghai # 设置时区为中国时区
apt-get,apt,snap
Debian 使用一套名为 Advanced Packaging Tool(APT)的工具来管理这种包系统。
- apt-get(apt-get,apt-cache,apt-config)、Aptitude是对应的CLI、GUI工具。
- apt可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项(不是全部,有些功能仍然需要使用apt-get)。
apt | apt-get | 功能 |
---|---|---|
apt install | apt-get install | 安装软件包,apt有安装进度条 |
apt remove | apt-get remove | 移除软件包 |
apt purge | apt-get purge | 移除软件包及配置文件 |
apt update | apt-get update | 刷新存储库索引,apt会提示可升级的软件包数量 |
apt upgrade | apt-get upgrade | 升级所有可升级的软件包 |
apt autoremove | apt-get autoremove | 自动删除不需要的包 |
apt full-upgrade | apt-get dist-upgrade | 在升级软件包时自动处理依赖关系 |
apt search | apt-cache search | 搜索应用程序 |
apt show | apt-cache show | 显示装细节 |
apt list | dpkg -l | 列出包含条件的包(已安装、可升级等) |
apt list upgradeable | 列出可升级软件包 | |
apt edit-sources | 编辑源列表/etc/apt/sources.list | |
apt autoremove | apt-get autoremove | 删除未使用的依赖项 |
apt clean | apt-get clean | 清除遗留在 /var/cache 中的已取回的包文件的本地仓库 |
apt autoclean | apt-get autoclean | 类似于 apt-get clean,只清除不再下载的无用文件 |
- snap:使用容器来管理软件
是Canonical公司发布的全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。
Snap的一个重要的特点是应用程序中包含了所有的依赖库和资源,以确保应用能够正常运行,而不受系统的影响。使用Snap软件包安装的应用程序不仅具有独立性和可移植性,同时还可以使用最新的软件版本,无需等待官方软件包库更新。
如果你更注重系统稳定性,使用apt可能更合适,因为它提供了经过测试和适应特定Ubuntu版本的软件包。
如果你更喜欢使用最新版本的软件或需要更大的独立性和隔离性,可以考虑使用snap。
特征 | apt | snap | 备注 |
---|---|---|---|
包的来源 | Ubuntu软件仓库 | Snap Store(独立仓库) | Snap主要包含高级、独立和最新版本的软件。apt更多软件包的稳定版本 |
版本更新 | 通常稍滞后 | 通常提供最新版本 | |
系统资源 | 共享系统库和依赖项 | 独立于系统,自包含依赖项 | |
独立性 | 依赖系统库 | 自包含,不依赖系统库 | |
隔离性 | 无隔离 | 应用隔离,避免库冲突 | Snap的软件包是在沙箱中运行,不会影响整个系统 |
安装命令 | sudo apt install | sudo snap install | |
卸载命令 | sudo apt remove | sudo snap remove | |
更新命令 | sudo apt update | sudo snap refresh | Snap提供了自动更新机制 |