基于ubuntu24.04.3
文章目录
1. 下载ubuntu镜像
比如 清华的,速度还是比较快的
https://mirrors.tuna.tsinghua.edu.cn/#
2. 安装open-vm-tools(可选)
如果ubuntu安装在vmware虚拟机中,需要安装已解决宿主机与虚拟机之间复制粘贴问题
#确保系统包索引最新
sudo apt update
卸载可能存在的官方 VMware Tools(可选)
sudo vmware-uninstall-tools.pl
安装 open-vm-tools 及桌面增强包
sudo apt install open-vm-tools open-vm-tools-desktop
安装过程中遇到配置文件提示(如 /etc/pam.d/vmtoolsd),直接回车,选择默认(N)即可。
重启虚拟机
sudo reboot
3. 配置国内apt源
Ubuntu24.04的源地址配置文件发生改变,不再使用以前的sources.list文件,升级24.04之后,而是使用如下文件/etc/apt/sources.list.d/ubuntu.sources
- 备份
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
- 快速替换为清华源
http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
这个命令只是修改了URIs,也只需要修改URIs, 也可以手动 vim去修改
sudo bash -c 'cat > /etc/apt/sources.list.d/ubuntu.sources <<EOF
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF'
- 更新软件列表
sudo apt update
- 检查源地址,测试是否生效
apt policy | grep http | grep tuna
原配置说明
其分为两段,一段为主软件源 一段为安全更新源
wangzhen@wangzhen-ubuntu:/etc/apt/sources.list.d$ cat ubuntu.sources
#主软件源
Types: deb # 软件包类型为 deb(二进制包)
URIs: http://archive.ubuntu.com/ubuntu/ # 源地址(官方全球主镜像)
Suites: noble noble-updates noble-backports # 支持三个仓库分支:
Components: main restricted universe multiverse # 包含所有四个组件
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg # 验证签名用的密钥环
#安全更新源
Types: deb
URIs: http://security.ubuntu.com/ubuntu/ # 专门的安全更新镜像
Suites: noble-security # 安全补丁分支
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
4. 安装一些常用开发软件
sudo apt update && sudo apt install -y net-tools vim-gtk3 unzip gcc g++ telnet lsof wget
5. 其他
1. sudo apt update
如果是在线安装,首先推荐运行sudo apt update,这个命令不会修改系统上任何已安装的软件,它仅仅是刷新并下载最新的软件包信息(如版本号、依赖关系等),并存储在本地,目的是让系统知道当前有哪些软件包可以更新,以及它们的版本信息。
# 推荐每次install 前先 update 一下
sudo apt update
2. UFW 防火墙
状态
sudo ufw status
开启
sudo ufw enable
关闭
sudo ufw disable
禁止开机自启
sudo systemctl disable ufw
3. OpenSSH 服务
安装 OpenSSH Server
sudo apt update
sudo apt install -y openssh-server
验证服务状态
sudo systemctl status ssh
启动服务并设置开机自启
sudo systemctl enable --now ssh
上面这个命令是下面两个命令的组合,推荐直接执行上面的
sudo systemctl start ssh # 启动服务
sudo systemctl enable ssh # 设置开机自启
6. 用户与权限
Ubuntu在 默认情况下,root 账户没有独立密码且被禁用。
也就是说你创建完系统后,即使执行su去切换用户为root用户,不论输入什么密码或者不输入密码都是会报错的。
1. 用户类型
| 类型 | 描述 | UID 范围 | 示例 |
|---|---|---|---|
| 超级用户 (root) | 系统最高权限账户,可执行所有操作 | 0 | root |
| 系统用户 | 用于运行系统服务或后台进程,通常无登录权限 | 1–999 | mysql |
| 普通用户 | 人类用户账户,默认无管理员权限(除非加入 sudo 组) | 1000–60000 | wang |
2. 用户组类型(常用的)
| 组名 | 用途 |
|---|---|
| sudo | 组成员可通过 sudo 获取 root 权限(Ubuntu 管理员组) |
| adm | 可读取系统日志(如 /var/log) |
| users | 普通用户默认组 |
3. 用户增删改查
创建用户
sudo adduser 用户
删除用户
sudo deluser --remove-home 用户名
修改密码
sudo passwd 用户名
锁定/解锁用户
-L 禁用用户账户的登录功能
sudo usermod -L 用户名 / sudo usermod -U 用户名
查看所有用户
getent passwd 或 cat /etc/passwd
查看某个用户信息
id 用户名
或
getent passwd 用户名
查看用户所属组
groups 用户名
示例

输出格式说明:用户名 : 主组 附属组1 附属组2 ...
- 主组: 与用户同名的默认组,通常用于管理用户自己的文件权限。
- 附属组: 用户所属其他组,比如wang_test 属于附属组没有sudo 组,所以其即使执行了sudo命令,也会报错说没有权限。
给用户添加附属组
sudo usermod -aG sudo wang_test
sudo usermod -aG 组名 用户名
移出附属组
sudo gpasswd -d wang_test sudo
sudo gpasswd -d 用户名 组名
验证用户是否属于sudo组
sudo -l -U 用户名
4. 用户组 相关
在 Linux 系统中,用户组(Group) 是一种用于管理用户权限和资源访问的机制。Ubuntu 安装时会默认创建一些系统组,比如root,daemon ,sys,adm,sudo,users等。
组有三种来源:
| 来源 | 说明 |
|---|---|
| 系统自带 | Ubuntu 安装时默认创建的组(如 root、sudo、adm 等),用于系统功能和服务 |
| 用户创建 | 通过 adduser 或 groupadd 命令手动创建的组,用于自定义权限管理 |
| 软件安装 | 安装软件包时自动生成的组(如 docker、www-data),用于运行服务或管理资源 |
4. sudo 含义与作用
sudo 为 superuser do的简称,其作用如下:
-
允许普通用户以超级用户(root)的权限执行命令
例如安装软件、修改系统配置等。普通用户: 在 Linux 系统中,UID ≥ 1000 的用户(root 用户的 UID 为 0)。
无论用户是否属于 sudo 组或其他组,只要其 UID ≥ 1000,从系统底层来看,它始终是一个“普通用户”特征 普通用户(包括 sudo 组用户) root 用户 UID ≥1000 0 默认权限 仅能操作自己文件 无限制(系统全能) sudo 权限 可通过 sudo 临时获取 root 权限 无需(直接拥有所有权限) 登录方式 需密码或密钥 默认禁用密码登录(Ubuntu) 操作风险 低(误操作仅影响自己文件) 高(误操作可能导致系统崩溃) -
所有 sudo 操作会被记录在
/var/log/auth.log,便于追踪系统变更 -
用户需在每次执行命令时输入密码(默认 15 分钟内重复操作无需密码),避免长时间持有 root 权限
一个用户想要安装软件或修改配置文件,要么属于sudo组,要么是root用户,普通用户若不属于sudo组,那不行。
5. su 含义与作用
su 为 "switch user 的简称,其作用为:
-
切换为 root 用户(需输入 root 密码)
su # 或 su -su:仅切换用户身份,不改变当前环境变量(如用户主目录、PATH 等)。
su -(或 su -l):完全切换为 root 用户环境(包括主目录、环境变量等)。 -
切换为其他普通用户(需输入目标用户密码)
su - wang_test # 切换为用户 wang_test,并加载其环境变量
7. 安装docker
参考:https://juejin.cn/post/7521998095049080895
1. Docker
直接官方脚本自动安装
# 1. 下载官方安装脚本并使用阿里云镜像源
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 2. 启动 Docker 服务并设置开机自启
sudo systemctl enable --now docker
# 3. 验证安装是否成功
sudo docker run hello-world
配置国内镜像加速器
创建 Docker 配置目录(如果不存在)
sudo mkdir -p /etc/docker
编辑 daemon.json 配置文件(镜像地址可能已不可用,需自行寻觅)
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.1ms.run"
]
}
EOF
重新加载 systemd 配置
sudo systemctl daemon-reload
重启 Docker 服务使配置生效
sudo systemctl restart docker
把当前用户加入docker组(docker组安装时会自动创建),就无需再执行docker命令前面加sudo
sudo usermod -aG docker $USER
newgrp docker # 立即生效(无需重启)
2. Docker Compose
现代 Docker 安装已经包含了 Docker Compose 插件,但如果需要独立安装:
# 检查是否已安装 Docker Compose
docker compose version
# 如果未安装,手动安装
sudo apt install docker-compose-plugin
3. 完全卸载 Docker
# 停止所有运行的容器
docker stop $(docker ps -aq)
# 删除所有容器
docker rm $(docker ps -aq)
# 删除所有镜像
docker rmi $(docker images -q)
# 卸载 Docker 软件包
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 删除相关目录和文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
# 删除软件源配置
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.gpg
# 清理用户组设置
sudo deluser $USER docker

1052

被折叠的 条评论
为什么被折叠?



