ubuntu服务器基础设置
1、安装基础工具
sudo apt install -y curl wget vim htop git net-tools ufw build-essential
网络工具
| 工具 | 作用 |
|---|---|
curl |
一个强大的命令行工具,用于传输数据到或从服务器。它支持多种协议,如 HTTP, HTTPS, FTP, etc. **常见用途:**下载文件、测试 REST API 接口、查看网页源代码。 |
wget |
另一个常用的命令行工具,用于从网络上非交互式下载文件。它特别擅长递归下载(下载整个网站)和在断开连接后恢复下载。 **常见用途:**大文件下载、作为脚本的一部分进行自动化下载。 |
net-tools |
包含一些传统的、基本的网络配置和诊断程序。 **常见用途:**使用 ifconfig(查看和配置网络接口)、netstat(显示网络连接、路由表和网络接口统计信息)。 |
ufw |
Uncomplicated Firewall的缩写,一个用户友好的Linux 防火墙管理程序。它简化了复杂的 iptables配置。**常见用途:**启用、禁用和配置防火墙规则,例如允许/阻止特定的端口(如 SSH 的 22 端口)。 |
系统管理与监控
| 工具 | 作用 |
|---|---|
vim |
一个高度可配置的、高效的文本编辑器。它是Vi编辑器的改进版本,被广泛认为是 Linux 和 Unix 系统中最强大的命令行编辑器之一。 **常见用途:**快速编辑配置文件、编写脚本和代码。 |
htop |
一个交互式的进程查看器和系统监控工具。它是更传统的 top命令的升级版,提供了更丰富、更彩色的界面和更易于理解的系统概览。**常见用途:**实时查看 CPU 使用率、内存占用、正在运行的进程及其资源消耗。 |
开发与版本控制
| 工具 | 作用 |
|---|---|
git |
目前最流行的分布式版本控制系统。它用于跟踪文件和代码随时间的变化,并协调多人之间的工作。 **常见用途:**克隆( clone)代码仓库、提交(commit)更改、推送(push)到远程仓库。 |
build-essential |
这是一个元包(meta-package),它本身不包含任何程序,但会安装编译软件所必需的全部基本工具。 常见用途:安装包括 gcc(GNU C/C++ 编译器)、g++及其相关库和工具,以便在系统上编译和构建 C/C++ 应用程序或从源代码安装软件。 |
2、用户与权限管理
sudo adduser your_username
sudo usermod -aG sudo your_username
3、防火墙设置
-
允许必需的服务(至少是 SSH):
# 允许 SSH (默认端口 22) - 这是远程管理所必需的! sudo ufw allow ssh # 如果运行 Web 服务 (HTTP, HTTPS) # sudo ufw allow http # sudo ufw allow https -
启用防火墙:
sudo ufw enable # 启用时会提示确认,输入 'y'
4、 永久关闭/禁用图形显示界面
如果您的 Ubuntu 服务器曾经安装了桌面环境(例如 GNOME、KDE、XFCE 等),您可以使用 systemd 的 Target 功能来永久禁用它,让系统启动时默认进入命令行模式。
Linux 系统使用 Target(替代了旧的 Runlevel)来定义系统启动后的状态。
| Target 名称 | 含义 |
|---|---|
multi-user.target |
非图形界面模式(命令行/CLI)。适用于服务器。 |
graphical.target |
图形界面模式 (GUI)。适用于桌面。 |
步骤 1: 设置默认启动目标为非图形模式
运行以下命令,将系统默认的启动目标设置为 multi-user.target:
sudo systemctl set-default multi-user.target
# 结果
# Created symlink /etc/systemd/system/default.target → /lib/systemd/system/multi-user.target.
步骤 2: 重启系统
执行重启以应用更改:
sudo reboot
系统重启后,它将不再加载图形界面,直接进入命令行登录提示符,大大节省资源。
临时切换或移除图形界面
1. 临时切换到命令行模式(不重启)
如果您想在不重启的情况下,暂时停止图形界面并切换到命令行模式,可以使用 isolate 命令:
Bash
sudo systemctl isolate multi-user.target
您想让服务器的物理显示器(如果您有连接)在闲置一段时间后关闭或黑屏,以节省电力或保护屏幕。
在没有图形界面(纯命令行)的 Linux 环境中,控制屏幕行为的机制是 内核控制台(Kernel Console)。您可以使用 setterm 命令或通过配置内核参数来实现这个目的。
5、关闭显示器屏幕
💡 方案一:使用 setterm 命令 (临时或脚本设置)
setterm 命令用于配置 Linux 终端的属性。您可以设置屏幕保护程序(Screen Saver)的激活时间,让屏幕在闲置后黑屏。
1. 立即激活黑屏
要让屏幕立即黑屏,可以使用:
setterm -blank force
2. 设置闲置后自动黑屏时间
您可以通过设置一个分钟数,让屏幕在指定时间(例如 5 分钟)的闲置后黑屏:
# 将屏幕保护(blank)设置为 5 分钟后激活
# -powersave powerdown 会在 blank 之后关闭显示器的电源(如果显示器支持 DPMS)
setterm -blank 5 -powersave powerdown
⚠️ 注意:setterm 的设置通常只对当前的控制台会话有效,并在重启后会失效。
方案二:永久配置屏幕闲置时间 (配置文件)
要让这个设置永久生效,您可以将 setterm 命令添加到系统的配置文件中,确保每次启动时都会执行。
1. 创建或编辑 console-setup 配置文件
在 Ubuntu 系统中,一个常见的位置是 /etc/default/console-setup,或者在 /etc/rc.local 中(如果您的系统仍在使用)。
推荐方法: 在 /etc/default/console-setup 文件中设置一个名为 BLANK_TIME 的变量。
sudo vim /etc/default/console-setup
找到或添加以下行来设置闲置时间(单位:分钟),例如 15 分钟:
BLANK_TIME=15
POWERDOWN_TIME=15
BLANK_TIME: 屏幕变黑的时间(单位:分钟)。POWERDOWN_TIME: 在屏幕变黑之后,关闭显示器电源(powerdown)的时间(单位:分钟)。
2. 应用更改 (可能需要重启)
保存文件后,这些更改通常会在系统下一次启动时生效。如果想立即应用,可以尝试执行配置脚本(但这不总是可靠):
sudo /etc/init.d/console-setup restart
# 或者,直接使用 setterm 命令临时设置,然后重启
setterm -blank 15 -powersave powerdown
3. 检查屏幕保护是否已启用
您可以使用以下命令查看当前控制台的黑屏时间设置:
setterm -q -test
如何唤醒黑屏?
当屏幕黑屏后,任何按键输入或鼠标移动(如果连接了鼠标)都会立即唤醒屏幕,显示命令行提示符。