Ubuntu 22.04 LTS 从安装到调优:新手避坑与高效配置全指南

1. 从“能用”到“好用”:一个老鸟的Ubuntu 22.04 LTS上手心路

如果你正准备从Windows或macOS转向Ubuntu 22.04 LTS,或者你是一名运维、开发者,需要在新机器上部署这个长期支持版,那么这篇文章就是为你准备的。我最近刚给几台开发机和一台家用服务器装上了Ubuntu 22.04,整个过程下来,感觉它就像一辆出厂状态极佳但需要你亲手调校的“性能车”。官方镜像很纯净,开箱即用,但要想让它完全贴合你的工作流和生活习惯,有几个“坎”是几乎每个新手都会遇到的,而一旦跨过去,你会发现一个极其高效、稳定且自由的世界。这篇文章不是一份冷冰冰的官方文档翻译,而是我踩过坑、填过土后,为你梳理的一份从安装到日常使用的“生存指南”和“效率手册”。无论你是想体验Linux的桌面用户,还是寻求稳定服务器环境的专业人士,都能在这里找到你需要了解的东西和绕开麻烦的路径。

2. 安装与初体验:那些官方不会告诉你的细节

安装Ubuntu本身并不复杂,但几个关键选择会深远影响你后续的使用体验。很多人卡在第一步不是技术问题,而是选择困难。

2.1 镜像选择与启动盘制作:避开第一个坑

首先,务必从Ubuntu官方网站下载镜像。国内用户可能会遇到下载速度慢的问题,这时可以寻找国内大学或机构的镜像站,比如清华大学的TUNA镜像源,速度会快很多。这里第一个要注意的点是: 确认你下载的是“Desktop”版本而非“Server”版本 ,除非你明确只需要无图形界面的服务器。

制作启动盘,我强烈推荐使用 Ventoy ,而不是老牌的Rufus或Etcher。Ventoy的革命性在于,你只需要把ISO文件拷贝到U盘里即可,无需每次重写整个U盘。这意味着你一个U盘可以同时存放Ubuntu、Windows安装镜像甚至一些工具盘ISO,在启动时选择要启动的镜像即可。对于需要频繁测试不同系统的人来说,这节省了大量时间。

注意 :如果你的电脑是较新的硬件(特别是12代Intel酷睿及以后的机型或AMD锐龙6000系列以后),在安装时可能会遇到“ACPI Error”或屏幕闪烁等问题。这通常是因为Linux内核对新硬件的电源管理支持滞后。解决方案是在GRUB启动菜单,选择“Try or Install Ubuntu”时,按 e 键进入编辑模式,在 linux 那一行的末尾, quiet splash 后面添加参数 nomodeset ,然后按F10启动。这只是临时方案,用于完成安装,安装完成后我们还需要进一步配置显卡驱动。

2.2 分区方案:为未来留足弹性空间

安装过程中最让人纠结的莫过于分区。对于新手,如果磁盘空间充足(比如512GB以上),我建议采用“自动安装”让Ubuntu自己处理。但如果你想掌控一切,或者磁盘空间紧张,手动分区是更好的选择。一个经典且实用的手动分区方案如下:

  • EFI系统分区 :如果你的电脑支持UEFI启动(2015年后的电脑基本都是),这是必须的。大小建议500MB到1GB,格式化为 FAT32
  • 交换空间(swap) :关于交换分区的大小,旧规则是物理内存的1.5到2倍。但在今天,对于拥有8GB或更大内存的桌面用户,这个规则已经过时。如果你的内存足够大(比如16GB以上),并且不打算使用休眠功能,交换分区甚至可以省略,或者只设置一个2-4GB的小分区。如果内存较小(8GB或以下),建议设置与物理内存等大的交换分区。另一种更灵活的方式是使用 交换文件 ,它可以在系统安装后动态调整大小,我将在后面详细说明。
  • 根分区(/) :这是系统核心和安装软件的位置。建议至少分配50GB,如果你打算安装很多大型开发工具或软件,100GB以上更稳妥。文件系统推荐 ext4 ,稳定且性能好。
  • 家目录分区(/home) 这是最重要的分区,没有之一。 你的所有个人文档、配置文件、桌面设置都存放在这里。强烈建议将剩余的所有磁盘空间都分配给 /home ,并格式化为 ext4 。这样做的好处是,将来如果你想重装或升级Ubuntu系统,只需要格式化根分区(/),而保留 /home 分区,你的个人数据和大部分软件配置(如浏览器书签、SSH密钥、.bashrc配置等)都能完好无损地保留下来。

2.3 安装后的第一步:连接性与基础更新

系统安装完成,首次重启进入桌面后,别急着装软件。首先检查网络连接。如果使用Wi-Fi,通常可以直接连接。如果使用有线网络但需要认证(如公司或校园网),你需要打开浏览器,通常会弹出认证页面。

接下来,打开终端(快捷键 Ctrl+Alt+T ),进行系统更新。这是保证系统安全和软件兼容性的第一步。

sudo apt update
sudo apt upgrade -y

apt update 是刷新软件包列表,获取最新的软件版本信息; apt upgrade 则是实际升级所有可升级的软件包。 -y 参数表示自动确认,避免中途需要你手动输入“Y”。

实操心得 :在执行 upgrade 前,我习惯先运行 apt list --upgradable 查看有哪些包会被升级,做到心中有数。对于服务器环境,升级内核等关键包后,最好计划一次重启。

3. 驱动与硬件兼容:让所有设备“动起来”

这是从Windows/macOS转过来用户感觉最明显的“阵痛期”——硬件驱动。Ubuntu自带了大量开源驱动,能让大多数硬件基本工作,但为了获得最佳性能(尤其是显卡),我们通常需要做一些额外工作。

3.1 显卡驱动:开源与闭源之选

对于 NVIDIA显卡 用户,系统可能会默认使用开源驱动 nouveau 。这个驱动兼容性好,但3D性能和能效比通常不如官方闭源驱动。你可以通过“软件和更新”应用中的“附加驱动”选项卡,查看可用的专有驱动。通常选择带有“recommended”标记的最新版本驱动(例如nvidia-driver-535)进行安装即可。安装后需要重启。

对于 AMD显卡 用户,情况则好得多。现代AMD显卡(GCN架构以后)的开源驱动 amdgpu 已经非常优秀,性能直追官方驱动,且直接集成在Linux内核中,通常无需额外安装。你只需要确保系统内核版本足够新(Ubuntu 22.04 LTS默认的5.15内核已经足够)。

Intel核显 用户是最省心的,驱动早已完美集成。

安装NVIDIA闭源驱动后,你可能会遇到两个典型问题:

  1. 登录循环 :输入密码后,屏幕一闪又回到登录界面。这通常是因为显卡驱动与显示管理器(如GDM、LightDM)冲突。可以尝试在登录界面按 Ctrl+Alt+F2 切换到文本终端,登录后重新安装或调整驱动。
  2. 双显卡切换(Optimus) :对于笔记本上的NVIDIA+Intel双显卡,为了省电,需要配置显卡模式切换。Ubuntu 22.04默认使用了 prime-select 工具。你可以在终端运行 prime-select query 查看当前模式,使用 sudo prime-select nvidia sudo prime-select intel 切换,切换后需要 注销重新登录 ,而非重启。

3.2 其他硬件:蓝牙、声卡与触摸板

  • 蓝牙 :大多数蓝牙适配器都能即插即用。如果遇到设备无法配对或连接不稳定,可以尝试安装 pulseaudio-module-bluetooth 并重启蓝牙服务: sudo systemctl restart bluetooth
  • 声卡 :主流声卡一般没问题。如果遇到没有声音或输出设备选择错误,可以安装 pavucontrol (PulseAudio音量控制),这是一个图形化工具,能非常方便地管理输入输出设备、应用程序音量流,比系统设置里的声音选项强大得多。
  • 触摸板 :手势支持在GNOME桌面下已经相当不错。如果你觉得滚动方向或点击手感不习惯,可以在“设置 -> 鼠标和触摸板”中调整。对于高级设置(如禁用触摸板当打字时),可以安装 libinput-gestures touchegg

4. 软件生态与包管理:APT、Snap与Flatpak的“三国演义”

刚接触Ubuntu,安装软件可能会让你困惑:为什么有的软件在软件商店里,有的需要用命令行?这里涉及到Ubuntu目前并存的三种主要软件分发格式。

4.1 APT:系统的基石

APT (Advanced Package Tool)是Debian/Ubuntu系Linux的基石,管理着系统的核心软件库。通过 sudo apt install [软件名] 安装的软件,与系统集成度最高,运行效率也最好。系统更新( upgrade )也会一并更新它们。

关键操作:

  • 搜索软件 apt search 关键词
  • 查看软件信息 apt show 软件包名
  • 卸载软件 sudo apt remove 软件包名 (保留配置文件)或 sudo apt purge 软件包名 (彻底删除,包括配置)
  • 清理无用包 :定期运行 sudo apt autoremove 可以删除为满足依赖而自动安装、但现在不再需要的软件包。

4.2 Snap:Ubuntu的“亲儿子”

Snap是Canonical(Ubuntu母公司)力推的通用包格式。它的最大特点是 沙盒化 自包含 。每个Snap应用都自带其运行所需的依赖库,在一个受限的环境中运行。这带来了极好的安全性和兼容性(一个Snap包能在所有支持Snap的Linux发行版上运行),但也导致了:

  1. 启动速度通常比原生APT包慢一点(首次启动需要挂载沙盒)。
  2. 磁盘占用更大。
  3. 与系统主题集成有时会有问题(尤其是GTK主题)。

在Ubuntu 22.04中,软件商店默认优先提供Snap版本。例如,你从商店安装的Firefox、Chromium,默认都是Snap版。

个人体会 :对于浏览器、IDE(如VSCode)这类大型、更新频繁且依赖复杂的软件,我倾向于使用Snap或Flatpak,因为它们能提供最新版本且避免依赖冲突。对于小工具或系统级软件,我还是首选APT。

4.3 Flatpak:社区驱动的选择

Flatpak是另一个通用的沙盒化软件格式,由GNOME社区和红帽等推动。其理念与Snap类似,但技术实现和仓库管理方式不同。要使用Flatpak,你需要先安装它: sudo apt install flatpak ,然后添加Flathub仓库(最大的Flatpak应用集散地): flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

安装Flatpak软件的命令类似: flatpak install flathub 应用ID 。例如安装LibreOffice: flatpak install flathub org.libreoffice.LibreOffice

Snap vs. Flatpak 怎么选?

  • 软件丰富度 :两者都覆盖了大量常用软件。有些软件可能只提供其中一种格式。
  • 更新机制 :Snap自动更新且难以关闭;Flatpak更新更可控。
  • 系统集成 :两者都在改善。就我个人体验,Flatpak在遵循系统主题方面有时稍好一些。
  • 性能 :差别不大,都因沙盒化有轻微开销。

我的策略是: 优先使用APT官方源中的版本 > 如果没有或版本太旧,则根据软件情况在Snap和Flatpak中选择一个 > 最后考虑从第三方PPA或源码编译

4.4 处理“软件包依赖关系”错误

这是新手最常遇到的命令行“噩梦”。错误信息可能很长,但核心通常是“有一些软件包无法安装”或“依赖关系不满足”。

解决步骤:

  1. 首先更新 :运行 sudo apt update ,然后再次尝试安装。
  2. 使用 -f 参数修复 :运行 sudo apt install -f ,这个命令会尝试修复断裂的依赖关系。
  3. 清除包缓存 :有时损坏的下载缓存会导致问题。运行 sudo apt clean 清理 /var/cache/apt/archives/ 下的所有.deb包,然后重新 update install
  4. 检查PPA :如果你添加了第三方PPA(个人软件包存档),它可能是罪魁祸首。尝试暂时禁用或移除最近添加的PPA。PPA信息在 /etc/apt/sources.list.d/ 目录下。
  5. 终极方案 :如果上述都不行,可以尝试使用 aptitude 这个更智能的包管理工具。它提供依赖冲突的多种解决方案供你选择。安装: sudo apt install aptitude ,然后使用 sudo aptitude install 软件包名 来安装。

5. 系统配置与性能调优:打造顺手的工作环境

默认的Ubuntu GNOME桌面已经足够美观,但通过一些调整,可以大幅提升效率和舒适度。

5.1 必装系统工具与优化

  1. 启用“最小化点击” :默认情况下,点击Dock(左侧程序栏)上的已开启程序图标,会显示所有窗口,而不是最小化当前窗口。对于从Windows/macOS过来的用户,这个逻辑很不习惯。打开终端,执行:

    gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
    

    现在,点击Dock图标的行为就和Windows的任务栏一样了。

  2. 安装GNOME扩展 :这是解锁GNOME桌面潜力的钥匙。首先需要安装浏览器插件和本地连接器:

    sudo apt install chrome-gnome-shell
    

    然后访问 https://extensions.gnome.org/ ,用Firefox或Chromium浏览器打开。网站会检测到本地连接器,你就可以像在应用商店里一样一键安装/管理扩展了。

  3. 推荐几个神级扩展

    • Dash to Dock Dash to Panel :前者可以自定义左侧Dock,后者可以将顶栏和Dock合并成一个类似Windows的任务栏,极度提升效率。
    • Arc Menu :提供一个类似Windows开始菜单的应用启动器。
    • GSConnect :实现与Android手机的无缝连接,可以共享剪贴板、发送文件、接收通知等,媲美苹果的接力功能。
    • Clipboard Indicator :在顶栏添加一个剪贴板历史管理器,再也不用担心复制的内容被覆盖了。

5.2 交换空间优化:使用交换文件

如前所述,交换分区在安装时可能设置不当或根本未设置。使用交换文件更加灵活。以下是如何在已有系统上添加一个4GB交换文件:

# 1. 创建一个空文件,大小=所需大小(4G=4*1024*1024kB=4194304kB)
sudo fallocate -l 4G /swapfile

# 2. 设置正确的权限(只有root可读写)
sudo chmod 600 /swapfile

# 3. 将其格式化为交换空间
sudo mkswap /swapfile

# 4. 启用交换文件
sudo swapon /swapfile

# 5. 让系统启动时自动挂载此交换文件
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

现在,运行 swapon --show free -h ,你应该能看到新的交换空间。你还可以通过修改 /etc/sysctl.conf 中的 vm.swappiness 值(默认60)来调整系统使用交换空间的倾向。值越低,系统越倾向于使用物理内存。对于大内存机器(如16GB以上),可以设置为10-20。

5.3 电源管理与散热

笔记本用户可能会觉得Ubuntu下风扇更吵或续航更短。可以安装 tlp thermald 这两个工具来优化。

sudo apt install tlp tlp-rdw thermald
sudo systemctl enable tlp
sudo systemctl enable thermald
sudo systemctl start tlp
sudo systemctl start thermald

tlp 是一个高级电源管理工具,会自动应用一系列优化设置。安装后无需配置即可生效。 thermald 则用于监控和防止系统过热。对于Intel CPU,还可以安装 intel-undervolt 来尝试降压以降低温度和功耗(需谨慎操作)。

6. 开发环境搭建:从基础到高效

Ubuntu是开发者的天堂,得益于其强大的包管理和活跃的社区。搭建环境几乎都是一条命令的事。

6.1 基础编译环境与版本管理

首先,安装构建软件所需的基础工具链:

sudo apt install build-essential

这个 build-essential 元包包含了gcc, g++, make, libc-dev等几乎所有基础编译工具。

对于现代开发,版本管理是必须的:

sudo apt install git
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

6.2 多版本语言环境管理

Python :Ubuntu 22.04默认安装了Python 3.10。但你可能需要其他版本。不要动系统自带的Python3!使用 pyenv 来管理多版本Python。

# 安装pyenv依赖
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

# 使用curl安装pyenv
curl https://pyenv.run | bash
# 按照安装提示,将pyenv初始化脚本添加到你的~/.bashrc中
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# 重新加载shell配置
source ~/.bashrc
# 安装一个Python版本,例如3.11.5
pyenv install 3.11.5
pyenv global 3.11.5 # 设置为全局默认版本

Node.js :同样,不要安装APT里可能过时的Node.js。使用 nvm (Node Version Manager)。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 关闭终端重新打开,或 source ~/.bashrc
nvm install --lts # 安装最新的LTS版本
nvm use --lts

Java :对于Java,可以使用 apt 安装OpenJDK的不同版本,并用 update-alternatives 管理。

sudo apt install openjdk-11-jdk openjdk-17-jdk
sudo update-alternatives --config java # 交互式选择默认Java版本

6.3 容器化与虚拟化

Docker :在Ubuntu上安装Docker非常方便。但请注意,从Docker官方源安装,而不是Ubuntu自带的旧版本。

# 1. 卸载旧版本(如果有)
sudo apt remove docker docker-engine docker.io containerd runc
# 2. 安装依赖,添加Docker官方GPG密钥和仓库
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 3. 安装Docker引擎
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 4. 将当前用户加入docker组,避免每次使用sudo
sudo usermod -aG docker $USER
# 需要注销并重新登录,此设置才会生效

安装后,运行 docker run hello-world 测试是否成功。

7. 网络、安全与维护:保持系统健康

7.1 防火墙配置

Ubuntu默认安装了 ufw (Uncomplicated Firewall),但未启用。对于桌面用户,启用基础防护是个好习惯。

sudo ufw enable # 启用防火墙
sudo ufw default deny incoming # 默认拒绝所有传入连接
sudo ufw default allow outgoing # 默认允许所有传出连接
sudo ufw allow ssh # 如果你通过SSH远程连接,必须允许22端口
sudo ufw status verbose # 查看状态

对于桌面环境,你可能还需要允许某些本地服务,但上述规则已足够安全。

7.2 定期维护命令

养成定期维护的习惯,可以让系统保持清爽。

  • 清理旧内核 :系统更新会保留旧内核,以防新内核启动失败。但保留太多会占用 /boot 分区空间(如果 /boot 是独立分区)。使用以下命令查看已安装内核并删除旧版本:
    dpkg --list | grep linux-image # 列出内核映像
    # 谨慎操作:使用apt autoremove --purge自动移除不再需要的旧内核
    sudo apt autoremove --purge
    
  • 清理APT缓存 :下载的.deb安装包会缓存在 /var/cache/apt/archives/
    sudo apt clean # 清理所有缓存包
    sudo apt autoclean # 只清理过时版本的缓存包
    
  • 查看磁盘空间
    df -h # 查看各分区使用情况
    du -sh ~/* # 查看家目录下各文件夹大小
    ncdu # 一个交互式磁盘使用分析工具,需要安装:sudo apt install ncdu
    

7.3 备份策略

最重要的规则:任何未备份的数据,都等同于已经丢失。 对于 /home 目录,你可以使用简单的 rsync 命令备份到外部硬盘或网络存储。

# 示例:将家目录备份到/mnt/backup目录(请先挂载你的备份盘)
rsync -avh --progress --delete /home/你的用户名/ /mnt/backup/ubuntu-home/

-a 是归档模式(保留权限、时间等), -v 是详细输出, -h 是人类可读的格式, --progress 显示进度, --delete 会删除目标端源端已不存在的文件(保持同步)。

对于更复杂的全系统备份,可以考虑 Timeshift 这个工具。它类似于Windows的系统还原点,可以定时为系统文件创建快照,当系统被玩坏时,可以快速回滚到一个正常的状态。通过Snap安装即可: sudo snap install timeshift --classic

8. 常见问题与故障排查实录

即使准备得再充分,实际使用中还是会遇到各种“小状况”。这里记录了一些我亲身遇到并解决过的高频问题。

8.1 开机卡在紫屏或黑屏

这通常与显卡驱动有关。尝试以下步骤:

  1. 在GRUB菜单(开机时按 Shift Esc 键呼出)选择“Advanced options for Ubuntu”。
  2. 选择一个带“recovery mode”的内核启动。
  3. 在恢复菜单中,选择“root”(进入root shell)。
  4. 如果是NVIDIA驱动问题,可以尝试: apt purge nvidia-* 清除所有NVIDIA驱动,然后重启进入正常模式,系统会使用开源驱动。之后再用“附加驱动”工具重新安装推荐版本的驱动。
  5. 如果是最近更新后出现的问题,可以尝试在恢复菜单中选择“dpkg”(修复包管理器)或“clean”(清理磁盘空间)。

8.2 软件中心或Snap商店无法打开/空白

这通常是Snap后台服务 snapd 出了问题。

# 尝试重启snapd服务
sudo systemctl restart snapd
# 如果不行,尝试清除Snap的缓存
sudo systemctl stop snapd
sudo rm -rf /var/cache/snapd/
sudo systemctl start snapd
# 最后,可以尝试更新snapd本身和核心snap
sudo snap refresh snapd
sudo snap refresh core

8.3 无法挂载Windows NTFS分区(双系统用户)

双系统下,Ubuntu默认可以读取NTFS分区,但有时会因为Windows的“快速启动”功能而无法挂载为读写模式。

  1. 在Windows中 :彻底关闭“快速启动”(控制面板 -> 电源选项 -> 选择电源按钮的功能 -> 更改当前不可用的设置 -> 取消勾选“启用快速启动”)。
  2. 在Ubuntu中 :如果分区仍无法挂载,可以尝试手动指定NTFS-3G驱动挂载,或安装 ntfs-3g 工具: sudo apt install ntfs-3g
  3. 如果分区表损坏,Windows的 chkdsk 工具可能是在Ubuntu下修复NTFS分区的最后手段(需要在Windows环境下运行)。

8.4 声音输出设备错误或没有声音

除了前面提到的安装 pavucontrol ,还可以检查:

  1. 运行 alsamixer ,在终端中通过方向键调整音量,确保所有声道未被静音(MM表示静音,按 M 键解除)。
  2. 有时候音频服务会卡住,重启它: systemctl --user restart pulseaudio (对于较新版本,可能是 pipewire-pulse )。
  3. 检查是否有多个音频输出被同时启用,在“设置->声音”中尝试切换输出设备。

8.5 系统更新失败,提示“无法锁定管理目录”

这通常是因为有另一个APT进程(如软件更新器、终端里的 apt 命令)正在运行。

# 查找并杀死可能存在的apt进程
sudo killall apt apt-get
# 删除锁文件
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
# 重新配置dpkg
sudo dpkg --configure -a
# 再次尝试更新
sudo apt update

8.6 蓝牙设备配对后,重启无法自动连接

这是一个常见问题,尤其是对于蓝牙鼠标、键盘。可以尝试编辑蓝牙配置文件:

sudo nano /etc/bluetooth/main.conf

找到 [Policy] 部分,确保或添加一行:

AutoEnable=true

然后重启蓝牙服务: sudo systemctl restart bluetooth 。此外,在 pavucontrol 的“配置”选项卡中,确保你的蓝牙音频设备没有被设置为“关闭”。

折腾Linux系统的乐趣和成就感,很大程度上就来自于遇到问题、搜索、尝试并最终解决的这个过程。每一次问题的解决,都让你对系统的理解更深一层。Ubuntu 22.04 LTS作为一个长期支持版本,其稳定性和社区支持都非常出色,它既是新手友好的起点,也是老手可靠的基石。希望这份汇集了常见“坑点”和“宝藏”的指南,能让你在Ubuntu上的旅程开始得更顺畅一些。记住,遇到问题别慌,终端和搜索引擎是你最好的朋友。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值