Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的基本配置 (3)

Ubuntu 22.04的基本配置

3.1 关于超级用户root

3.1.1 root用户的功能

  • 定义 :root是Linux系统的最高权限用户,拥有对系统文件的完全控制权(如修改系统配置、安装/卸载软件、管理用户等)。
  • 危险操作 :误删系统文件、破坏系统完整性(如删除/bin目录会导致系统崩溃)。
案例:启用 root 密码(谨慎操作)
shell 复制代码
# 为 root 设置密码(需当前用户有 sudo 权限)
sudo passwd root

# 切换到 root 用户(交互式 shell)
su -

# 退出 root
exit

3.1.2 避免root滥用的最佳实践

  1. 尽量使用普通用户 :日常操作用普通用户(如user),仅在必要时切换到root。

  2. 使用sudo提权 :执行需要root权限的命令时,在前面加sudo(如sudo apt update),系统会提示输入当前用户密码验证权限。

  3. 禁用root登录 :Ubuntu默认禁用root登录(安全策略),需通过sudo间接使用root权限。

    案例:查看 root 可执行的操作(通过 sudo)
    shell 复制代码
    # 查看当前用户可执行的 sudo 命令列表
    sudo -l
    
    # 示例:以 root 身份编辑网络配置
    sudo nano /etc/netplan/00-installer-config.yaml

3.1.3 Debian/Ubuntu的root用户管理

  • Ubuntu的特殊处理

    • 安装时未设置root密码,需通过sudo passwd root手动设置(见案例)。
    • 默认禁用root登录(SSH、图形界面均无法直接登录root)。
  • 切换到root用户

    • 方法1:sudo su -(推荐,保留环境变量)

    • 方法2:sudo -i(进入root shell)

    • Debian:安装时可设置 root 密码,允许直接登录。

    • Ubuntu :默认锁定 root 密码,仅通过 sudo 提权。

    shell 复制代码
    # 查看 /etc/shadow 中 root 行第二字段是否为 "!" 或 "*"
    sudo grep '^root:' /etc/shadown
    
    # 输出示例:root:!:19450:0:99999:7:::
    # "!" 表示密码被锁定

3.2 依赖发行版本的系统管理工具

Ubuntu基于Debian,核心包管理工具为**dpkg(本地包管理)和 apt**(高级包管理,依赖dpkg)。

3.2.1 dpkg:本地包管理工具

  • 功能 :安装、卸载、查询本地.deb包(不处理依赖关系)。

  • 常用命令(带注释):

    bash 复制代码
    # 安装本地deb包(如下载的chrome.deb)
    sudo dpkg -i google-chrome-stable_current_amd64.deb
    
    # 卸载已安装包(保留配置文件)
    sudo dpkg -r package_name
    
    # 完全卸载(删除配置文件)
    sudo dpkg -P package_name
    
    # 查询已安装包的详细信息
    dpkg -s package_name
    
    # 列出所有已安装包
    dpkg -l

3.2.2 apt:高级包管理工具

  • 功能:自动处理依赖关系,支持在线安装/更新(需配置软件源)。

  • 常用命令(带注释):

    bash 复制代码
    # 更新软件源列表(必做!否则无法获取最新包)
    sudo apt update
    
    # 升级所有已安装包(推荐定期执行)
    sudo apt upgrade -y
    
    # 安装包(自动解决依赖)
    sudo apt install package_name
    
    # 卸载包(保留配置文件)
    sudo apt remove package_name
    
    # 完全卸载(删除配置文件)
    sudo apt purge package_name
    
    # 搜索包(如找"vim"相关包)
    apt search vim
    
    # 查看包详细信息(如版本、描述)
    apt show package_name

3.3 中文支持

Ubuntu默认安装英文环境,需手动配置中文支持。

3.3.1 安装中文语言包

bash 复制代码
# 安装简体中文语言包(包含字体、输入法等)
sudo apt install language-pack-zh-hans

# 安装繁体中文语言包(可选)
sudo apt install language-pack-zh-hans language-pack-zh-hant

3.3.2 配置系统语言

  1. 临时修改(当前会话有效)

    bash 复制代码
    # 设置 LANG 环境变量为简体中文
    export LANG=zh_CN.UTF-8
    
    # 生效(需重新打开终端)
    source ~/.bashrc
  2. 永久修改(系统级)

    • 打开「设置」→「Region & Language」→「Manage Installed Languages」→添加「Chinese (Simplified)」→设置为默认。

    • 或通过命令行修改/etc/locale.gen(取消注释zh_CN.UTF-8 UTF-8),然后执行:

      bash 复制代码
      sudo locale-gen
      sudo update-locale LANG=zh_CN.UTF-8

3.3.3 配置输入法

Ubuntu默认使用Fcitx输入法框架,需安装中文输入法(如拼音、五笔)。

  1. 安装Fcitx及拼音输入法

    bash 复制代码
    sudo apt install fcitx fcitx-googlepinyin
  2. 配置输入法

    • 打开「设置」→「Region & Language」→「Input Sources」→点击「+」→选择「Chinese (Pinyin)」。

    • 或通过命令行添加输入法:

      bash 复制代码
      # 添加拼音输入法(需重启输入法)
      im-config -s fcitx

3.4 硬件驱动程序

Ubuntu对大多数硬件(如Intel网卡、AMD显卡)提供开源驱动,但对NVIDIA显卡、** Broadcom 无线网卡**等需手动安装闭源驱动。

3.4.1 检测硬件

bash 复制代码
# 查看显卡型号(如NVIDIA)
lspci -v | grep -i nvidia

# 查看无线网卡型号(如Broadcom)
lspci -v | grep -i network

3.4.2 自动安装驱动(推荐)

Ubuntu提供ubuntu-drivers工具,可自动检测并安装合适的驱动:

bash 复制代码
# 自动安装显卡驱动(如NVIDIA)
sudo ubuntu-drivers autoinstall

# 手动指定驱动版本(如安装470版驱动)
sudo ubuntu-drivers install nvidia:470

3.4.3 手动安装驱动(以NVIDIA为例)

  1. 下载驱动:访问NVIDIA官网,选择对应系统版本(如Linux 64-bit)。

  2. 安装驱动:

    bash 复制代码
    # 给驱动文件添加执行权限
    chmod +x NVIDIA-Linux-x86_64-xxx.xx.xx.run
    
    # 禁用 Nouveau 开源驱动(避免冲突)
    echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
    
    # 重建 initramfs
    sudo update-initramfs -u
    
    # 进入字符模式(避免图形界面干扰)
    sudo systemctl isolate multi-user.target
    
    # 运行驱动安装程序
    sudo ./NVIDIA-Linux-x86_64-xxx.xx.xx.run

3.5 获得更新

Ubuntu通过软件源(Repository)获取更新,需正确配置源列表。

如何查看镜像源

shell 复制代码
-- 查看主配置文件 sources.list

cat /etc/apt/sources.list

示例输出(部分内容):

shell 复制代码
# 默认官方源(archive.ubuntu.com)
deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse

说明:

  • jammy 是 Ubuntu 22.04 的代号。
  • deb 表示二进制软件包源。
  • 若使用国内镜像(如阿里云、清华源),URL 会是 mirrors.aliyun.commirrors.tuna.tsinghua.edu.cn

小贴士:Ubuntu 22.04 官方默认源 vs 国内镜像源

类型 URL 示例
官方源 http://archive.ubuntu.com/ubuntu
清华大学 https://mirrors.tuna.tsinghua.edu.cn/ubuntu
阿里云 http://mirrors.aliyun.com/ubuntu
华为云 https://mirrors.huaweicloud.com/ubuntu

3.5.1 配置软件源

  1. 打开/etc/apt/sources.list

    bash 复制代码
    sudo nano /etc/apt/sources.list
  2. 替换为国内镜像源(如阿里云、清华):

    plaintext 复制代码
    # 阿里云镜像源(Ubuntu 22.04)
    deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
  3. 更新软件源:

    bash 复制代码
    sudo apt update

3.5.2 使用PPA(个人包档案)

PPA允许用户添加第三方软件源,安装非官方包(如最新版Python、Node.js)。

  1. 添加PPA:

    bash 复制代码
    # 添加PPA(例:安装最新版Git)
    sudo add-apt-repository ppa:git-core/ppa
    
    # 更新软件源
    sudo apt update
    
    # 安装包
    sudo apt install git
  2. 删除PPA:

    bash 复制代码
    sudo add-apt-repository --remove ppa:git-core/ppa

3.6 进阶:配置Grub

GRUB(Grand Unified Bootloader)是Ubuntu的引导加载程序,负责启动系统和选择内核。

3.6.1 Grub配置文件

  • 主配置文件:/etc/default/grub(影响所有内核条目)。
  • 自定义脚本:/etc/grub.d/(存放启动项脚本,如40_custom用于添加自定义条目)。

3.6.2 修改Grub配置

  1. 编辑/etc/default/grub

    bash 复制代码
    sudo nano /etc/default/grub
  2. 常见修改项(带注释):

    plaintext 复制代码
    # 设置默认启动项(0表示第一个条目)
    GRUB_DEFAULT=0
    
    # 超时时间(秒)
    GRUB_TIMEOUT=5
    
    # 是否显示启动菜单(true/false)
    GRUB_HIDDEN_TIMEOUT=0
    
    # 启动时的背景图片(需提前准备图片,如`/boot/grub/background.png`)
    GRUB_BACKGROUND="/boot/grub/background.png"
    
    # 启动时的命令行参数(如禁用nouveau驱动)
    GRUB_CMDLINE_LINUX="nouveau.modeset=0"
  3. 应用配置:

    bash 复制代码
    sudo update-grub

3.6.3 使用Grub命令行

当Grub菜单损坏时,可通过命令行手动启动系统:

  1. 启动时按Esc进入Grub菜单,选择「Advanced options for Ubuntu」→按c进入命令行。

  2. 常用命令(带注释):

    bash 复制代码
    # 列出所有可用内核
    ls
    
    # 设置根分区(假设根分区在/dev/sda1)
    set root=(hd0,1)
    
    # 加载内核和initrd
    linux /boot/vmlinuz-xxx.xx.xx-generic root=/dev/sda1
    initrd /boot/initrd.img-xxx.xx.xx-generic
    
    # 启动系统
    boot

3.7 小结

本章重点讲解了Ubuntu的root用户管理包管理工具中文支持硬件驱动更新机制Grub配置。掌握这些技能后,可高效管理系统、解决常见问题(如驱动缺失、语言乱码),并为进阶操作(如内核编译、系统调优)打下基础。

相关推荐
黑客思维者2 小时前
机器学习012:监督学习【回归算法】(对比)-- AI预测世界的“瑞士军刀”
人工智能·学习·机器学习·回归·逻辑回归
Joren的学习记录2 小时前
【Linux运维大神系列】Docker详解(二)
linux·运维·docker
我想我不够好。2 小时前
实操练习 12.20
学习
Crkylin2 小时前
尚硅谷Linux应用层学习笔记(一)GCC编译
linux·笔记·学习
车载测试工程师2 小时前
CAPL学习-AVB交互层-功能函数-监听器函数函数
网络·学习·tcp/ip·capl·canoe
Lueeee.3 小时前
具体掌握字符设备驱动
linux
andwhataboutit?3 小时前
pytorch-CycleGAN-and-pix2pix学习
人工智能·pytorch·学习
vv_5013 小时前
大模型 langchain-组件学习(中)
人工智能·学习·langchain·大模型
HIT_Weston3 小时前
68、【Ubuntu】【Hugo】搭建私人博客:方案分析(二)
linux·运维·ubuntu