文章目录
- 环境说明
- 1、账号管理
-
- [1.1、启用 root](#1.1、启用 root)
- [2、包管理工具 apt & dpkg](#2、包管理工具 apt & dpkg)
-
- [2.1、apt 简介 & 阿里源配置](#2.1、apt 简介 & 阿里源配置)
- [2.2、dpkg 简介](#2.2、dpkg 简介)
- [2.3、apt 和 dpkg 两者之间的关系](#2.3、apt 和 dpkg 两者之间的关系)
- 2.4、常用命令
- [3、启用 ssh 服务](#3、启用 ssh 服务)
- 4、防火墙
- 5、开启远程登录
- 6、关闭交换分区
- 7、build-essential(编译和开发软件的工具和库)
- 8、网络
-
- [8.1、静态 IP](#8.1、静态 IP)
- 9、Python
- 10、vi
- [11、软件包管理工具 snap](#11、软件包管理工具 snap)
- 12、下载工具
- 其他常用操作
环境说明
操作系统:Ubuntu 24.04.1 LTS
安装包:ubuntu-24.04.1-desktop-amd64.iso
1、账号管理
1.1、启用 root
注意事项:启用root用户登录会带来一定的安全风险,因为root用户拥有系统中所有的权限,任何错误的操作都可能导致系统崩溃或数据丢失。因此,除非确实必要,否则不建议启用root用户登录。
启用root用户登录如果你确实需要启用root用户的登录功能,可以按照以下步骤操作:
- 打开终端:可以通过按 Ctrl + Alt + T 快捷键打开终端。
- 设置root用户密码:
shell
sudo passwd root
系统会提示你输入新的Unix密码,输入你想要设置的root用户密码,然后再次输入以确认。密码输入时不会显示任何字符,这是正常的安全措施。
- 切换到root用户(可选):
输入命令
shell
su - 或 su - root
然后输入刚刚设置的root用户密码,即可切换到root用户。
2、包管理工具 apt & dpkg
2.1、apt 简介 & 阿里源配置
在 Ubuntu 中,apt 是一个高级的包管理工具,用于安装、更新、配置和删除软件包。它是 apt-get 的一个更现代、更用户友好的替代品,提供了更简洁的输出和更友好的用户界面。 apt 旨在简化包管理任务,使其更适合普通用户。
更改为阿里源 - 参考文档
新手推荐使用图形界面配置: 系统设置 -> 软件和更新 选择下载服务器 -> "mirrors.aliyun.com"
2.2、dpkg 简介
dpkg 是 Debian 及其衍生发行版(如 Ubuntu)中用于管理 .deb 包的底层工具。提供了安装、移除、查询和管理软件包的功能。
2.3、apt 和 dpkg 两者之间的关系
dpkg:底层的包管理工具,直接操作 .deb 文件,适合手动安装和管理软件包。
apt:高级的包管理工具,基于 dpkg ,提供了自动处理依赖关系、更新软件包列表、升级系统等高级功能,适合日常使用。
在实际使用中,apt 是更常用的工具,因为它提供了更高级的功能和更简单的操作。如果你需要直接操作 .deb 文件,可以使用 dpkg。
2.4、常用命令
shell
# 查看可用的软件包及其来源
apt-cache policy
# 查看特定软件包的来源
apt-cache policy 软件包名称
# 文件 /etc/apt/sources.list 包含了系统默认的软件源配置
# 目录 /etc/apt/sources.list.d/ 下的文件,包含了第三方或额外的软件源配置文件
# 更新包列表 - 更新本地包索引,确保系统知道可用的最新软件包版本
apt update
# 安装软件包
apt install <package-name>
# 检查是否安装 package-name
dpkg -l | grep package-name
# 查询软件包详细信息
dpkg -s 包名
# 查询文件所属的软件包
dpkg -S 文件路径
# 清理未使用的依赖包
sudo apt-get autoremove
# 卸载软件包
# 卸载指定的软件包,但保留配置文件
apt remove <package-name>
# 卸载指定的软件包及其配置文件
apt purge <package-name>
# 搜索软件包名称和描述中包含指定关键词的软件包
apt search <keyword>
# 显示指定软件包的详细信息,包括版本、依赖关系、描述等
apt show <package-name>
# 清理已下载的软件包文件,只保留当前安装的软件包的文件
apt autoclean
# 自动移除不再需要的依赖包
apt autoremove
# 升级所有已安装的软件包到最新版本
apt upgrade
# 升级所有已安装的软件包,并且可以自动处理依赖关系,可能会删除或安装新的包
apt full-upgrade
3、启用 ssh 服务
shell
# 查看是否安装
dpkg -l | grep openssh-server
# 通过检查服务状态,查看是否安装
systemctl status ssh
# 更新包列表 - 更新本地包索引,确保系统知道可用的最新软件包版本
apt update
# 安装 ssh 服务
# 注意:2025-01-30 需要 apt install openssh-client=1:9.6p1-3ubuntu13.4 降级到此版本,否则会导致 oepnssh-server 安装失败
apt install openssh-server
# 更改配置文件
/etc/ssh/sshd_config
# 允许 root 用户登录
# PermitRootLogin yes
# 允许使用密码登录
# PasswordAuthentication yes
# 重启 ssh 服务
systemctl restart ssh.service
# 防火墙
# 开通端口
sudo ufw allow 22/tcp
# 重新加载
sudo ufw reload
# 查看状态
sudo ufw status
4、防火墙
shell
# 查看状态
sudo ufw status
# 开通端口
sudo ufw allow 3389/tcp
sudo ufw allow 22/tcp
# 重新加载
sudo ufw reload
# 启用
sudo ufw enable
# 停用
sudo ufw disable
5、开启远程登录
桌面共享 和 远程登录 什么区别?
- 桌面共享:主要用于协作、演示和技术支持。
- 远程登录:主要用于远程管理和远程办公。
开启远程登录,使用自带的RDP功能
- 打开设置:点击屏幕左上角的"活动"按钮,打开"设置"

- 进入远程桌面设置:在"设置"中滑动鼠标到最下方,点击"系统"选项,再点击"远程桌面"。

- 开启相关选项:勾选"远程登录"
- 设置登录详情:在"登录详情"中设置一个用户名和密码,用于远程连接时的身份验证。(注意此处的账户仅用户远程登录)
- 修改端口(可选):若需要修改默认端口3389
- 配置防火墙(可选,默认防火墙未开启):确保防火墙允许RDP连接,可使用命令
shell
sudo ufw allow 3389/tcp
sudo ufw reload
sudo ufw enable
6、关闭交换分区
shell
# 查看是否开启
free -h
# 临时关闭Swap
swapoff -a
shell
# 永久关闭Swap
nano /etc/fstab
# 注释掉Swap相关的行
7、build-essential(编译和开发软件的工具和库)
在Ubuntu系统中,build-essential
是一个非常重要的包(元包 meta-package),它包含了一系列用于编译和开发软件的工具和库。
常见用途:
- 从源代码安装软件:许多软件提供源代码包,需要编译才能安装。
build-essential
提供了必要的工具来完成编译过程。 - 开发C/C++程序:如果你是开发者,
build-essential
提供了编译和调试C/C++程序所需的工具。 - 构建和管理项目:
make
工具可以帮助你自动化项目的构建过程。
安装步骤:
shell
# 打开终端:可以通过按`Ctrl`+`Alt`+`T`快捷键打开终端
# 更新软件包列表:在安装任何软件之前,建议先更新软件包列表,以确保安装的是最新版本的软件
apt update
# 安装 build-essential
apt install build-essential
# 验证安装
# 如果安装成功,这些命令会显示相应的版本信息
gcc --version
g++ --version
make --version
安装的工具和库:
- C和C++编译器:如
gcc
(GNU C Compiler)和g++
(GNU C++Compiler) - Make工具:用于构建和管理项目。
- 其他开发工具:如
dpkg-dev
、libc6-dev
等,这些工具和库是编译和开发软件时常用的
7.1、异常处理
shell
# 安装过程中,会提示安装 bzip2
# 安装 bzip2 会提示 libbz2-1.0 版本过高
# 降级
apt install libbz2-1.0=1.0.8-5.1
# 安装依赖
apt install bzip2
apt install build-essential
8、网络
8.1、静态 IP
使用 netplan 配置静态 IP
说明:netplan 是 Ubuntu 18.04 及更高版本中默认的网络配置工具
shell
# 配置目录
cd /etc/netplan
# 文件名可能类似于 01-netcfg.yaml 或 50-cloud-init.yaml
# 修改配置文件,示例参考下面
nano 50-cloud-init.yaml
# 测试配置
sudo netplan try
# 应用配置
sudo netplan apply
# 验证配置 - 检查网络接口的IP地址是否已更新
ip addr show eth0 # 替换为你的网络接口名称
# 验证配置 - 检查默认网关是否已更新
ip route show
配置示例
yaml
network:
version: 2
ethernets:
eth0: # 替换为你的网络接口名称,例如 eth0 或 ens33
dhcp4: no
addresses:
- 192.168.1.100/24 # 替换为你的静态IP地址和子网掩码
gateway4: 192.168.1.1 # 替换为你的默认网关
nameservers:
addresses:
- 8.8.8.8 # 替换为你的DNS服务器地址
- 8.8.4.4
无线网络
yaml
network:
version: 2
wifis:
wlan0: # 替换为你的无线网络接口名称
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
access-points:
"your-ssid": # 替换为你的无线网络SSID
password: "your-password" # 替换为你的无线网络密码
9、Python
shell
python3 --version
# 系统自带 Python 3.12.3
# 但是没有 pip
# 安装 pip
apt install python3-pip
# 查看版本
pip --version
# pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)
10、vi
10.1、异常处理:方向键出现奇怪的字符
异常情况说明:
使用 vi 时,方向键出现奇怪字符(如 [A 、 [B 、 [C 、 [D )的问题。
原因分析:
通常是由于 vi 编辑器默认处于兼容模式( compatible ),这种模式下 vi 会模拟原始的 vi 行为,导致方向键和退格键等功能键无法正常使用。
解决方法1:
shell
# 通过 nano 修改 /etc/vim/vimrc.tiny 文件
nano /etc/vim/vimrc.tiny
# 找到文件中的 set compatible 行
# 将其改为 set nocompatible ,以启用非兼容模式
# 在文件末尾添加 set backspace=2 ,解决退格键问题
解决方法2:
shell
# 安装完整版的 vim
sudo apt install vim
11、软件包管理工具 snap
Snap 是由一种现代化的软件包格式,旨在解决传统 Linux 包管理中的依赖问题。
Snap 包是一个独立的、自包含的软件包,包含了应用程序的所有依赖项和运行时环境。这意味着 Snap 应用程序可以在多个 Linux 发行版上无缝运行,而无需担心兼容性问题。
Snap 的主要特点包括:
- 跨平台兼容性:Snap 包可以在多种 Linux 发行版上运行,而无需修改。
- 安全性:Snap 应用程序默认在沙箱环境中运行,限制了对系统资源的访问。
- 自动更新:Snap 包会自动更新到最新版本,确保软件始终处于最新状态。
- 独立性:每个 Snap 包包含所有必要的依赖项,不会与其他软件冲突。
个人见解 - 有的时候自动更新是坏事儿 ~
常用命令:
shell
# 检查是否安装
snap --version
# 安装
sudo apt update
sudo apt install snapd
# 永久禁用所有 Snap 应用的自动更新
sudo snap refresh --hold
# 禁用自动更新 - 禁用特定 Snap 包
sudo snap refresh --hold <snap-name>
# 解除更新限制
sudo snap refresh --unhold <snap-name>
# 查找 Snap 包
snap find <keyword>
# 安装 Snap 包
sudo snap install <snap-name>
# 更新 Snap 包 - 所有
sudo snap refresh
# 更新 Snap 包 - 更新特定的 Snap 包
sudo snap refresh <snap-name>
# 更新到稳定版
sudo snap refresh <snap-name> --stable
# 如果你想查看当前哪些应用的更新被保留
sudo snap refresh --list
# 列出已安装的 Snap 包
snap list
# 卸载 Snap 包
sudo snap remove <snap-name>
# 查看 Snap 包的详细信息
snap info <snap-name>
# 运行 Snap 应用程序
snap run <snap-name>
# 检查安装路径 - Snap 应用程序通常安装在 /snap/<snap-name> 目录下
ls -l /snap/buzz
12、下载工具
12.1、第三方命令行下载工具
12.1.1、aria2
aria2 是一个轻量级的多协议、多线程下载工具,支持 HTTP、HTTPS、FTP、BitTorrent 等多种协议。
优点:
- 多线程下载,速度更快
- 支持多种协议
- 支持断点续传和批量下载
缺点:
- 无图形界面
- 需要手动配置
shell
# 安装
sudo apt install aria2
# 下载文件
aria2c 文件URL
12.2、第三方图形界面下载工具
12.2.1、uGet
uGet 是一个功能强大的图形界面下载工具,支持 HTTP、HTTPS、FTP 等多种协议。
优点:
- 图形界面,使用方便
- 支持多线程下载和断点续传
- 支持多种协议
缺点:
- 需要图形界面支持
- 功能相对复杂
shell
# 安装
sudo apt install uget
# 下载文件
uget-gtk
# 帮助文档
uget-gtk --help
其他常用操作
说明:都是 Linux ,很多操作方法其实差不太多的啦 ~
PS : 记笔记!偶尔忘了来查查! >_<|||