Ubuntu Server: Quick Configuration Guide
本文给出了初次安装好 Linux Ubuntu Desktop 版之后推荐掌握的一些基础配置方法,完成以下内容的阅读可以帮助新手快速掌握 Ubuntu Server/Desktop 的使用。
本文所作目的:一方面作为 Ubuntu 快速配置记录,方便下次使用;另一方作为分享以帮助更多的 Ubuntu 小白快速上手。
补充:如果文中有表述不正确的地方,望各位大佬不吝指正~~~
系统网络配置以及网络代理
首先,你需要掌握 Ubuntu Server 系统网络信息的基本查看方法:
查看网卡信息
通过 Ubuntu Server 的 Shell 中,执行 ifconfig
命令进行查看:
1 | ifconfig |
上面的 enp0s31f6
就是我们要设置网络的网卡名称,有些机器可能有好几块网卡,一定要看清楚!!!
如果没有 ifconfig 指令,所以我们要先安装 net_tools
:
1 | sudo apt-get install net-tools |
网络配置
这里提供两种 Ubuntu Server 网卡(网络适配器)的网络配置方法:
- GUI 配置方法:DeskTop 环境下推荐使用图像化界面进行配置
- 文件配置方法:使用网络相关的配置文件进行配置
网卡(网络适配器)需要配置的信息有:网络 IP 地址(IP ADDRESS)&& 子网掩码(NETMASK)&& 网关(GATEWAY)&& 域名解析服务器地址(DNS)。
| ================================================== Split Line =============================================== |
GUI 配置方法
Desktop(桌面)依次点击 >>> 系统设置【System Sets】>>> 网络设置【Network Sets】>>> 有线【Wired】设置 >>>【IPV4 Setting】:
这里可以选择设置网络为:自动 DHCP(Automatic(DHCP))<<< 动态 IP;或者 手动(Manual 模式)<<< 静态 IP。
1 | 示例静态网络信息配置如下: |
在命令行中输入 sudo vim /etc/NetworkManager/NetworkManager.conf
,将里面的 managed = flase
改为 managed = true
。让 NetworkManager 管理网卡,以监控网卡状态变化(up/down)。
设置完成之后,如果你不想每次配置完网络后重启服务器,可以通过重启相关的网络服务使配置生效(见后文重启网卡)。
如果你的 Ubuntu Server 版本低于 18.04,可使用当前章节的配置方法。否则请跳转至【文件配置方法(新)】。
文件配置方法(旧)
通过修改网卡配置文件的方法来配置网络:
[1] >>> 网卡配置
你可以通过,修改网卡配置文件 /etc/network/interfaces
来为 Ubuntu Server 设置网络:
1 | sudo vim /etc/network/interfaces |
网卡配置文件默认文件内容如下:
1 | interfaces(5) file used by ifup(8) and ifdown(8) |
| ================================================== Split Line =============================================== |
↓↓↓↓↓↓ DHCP && 静态 IP && DNS 设置方法 ↓↓↓↓↓↓
[1.1] >>> 设置动态获取 IP
1 | interfaces(5) file used by ifup(8) and ifdown(8) |
注意,上面的网卡名称要依据 ifconfig
中查询到的网卡信息进行设置。
默认情况下,Ubuntu Desktop 版网络配置就是动态 IP。可以通过 >>> 【右上角网络标识】–>【Edit Connections】–>【Wired connection X】–> 在【IPV4 Settings】进行查看,可以看到:Method:Automatic(DHCP)
。
如果你不想每次配置完网络后重启服务器,可以通过重启相关的网络服务使配置生效(见后文重启网卡)。
| ================================================== Split Line =============================================== |
[1.2] >>> 设置静态 IP
事实上,很多情况下,我们更多的想给网卡分配一个固定 IP。
网卡的 IP 地址不是随便给定的,其依赖于所在局域网络的网关(路由)。
假设你的网关 IP 地址为:192.168.0.1/24
,你可以通过 |>>> 在线网络和 IP 地址计算器 <<<| 站点,获取当前待配置网卡可用 IP 地址配置信息,做如下配置:
1 | interfaces(5) file used by ifup(8) and ifdown(8) |
[2] >>> DNS 配置
配置域名解析服务器(DNS)用于域名解析,以阿里 DNS 域名解析服务器地址:223.5.5.5
为例:
配置 DNS 服务器地址之后,想要配置生效,也要重启服务器或网络服务(见后文重启网卡)。
↓↓↓↓↓↓ 方法一 ↓↓↓↓↓↓
通过在网卡配置文件 /etc/network/interfaces
中进行设置:
1 | auto enp0s31f6 |
重启服务器或网络服务,DNS 生效后会体现在 /etc/resolv.conf
文件中:
1 | Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) |
| ================================================== Split Line =============================================== |
↓↓↓↓↓↓ 方法二 ↓↓↓↓↓↓
直接通过域名解析服务器配置文件 /etc/resolv.conf
来配置 DNS:
如该配置文件的首行是否为:
# This file is managed by man:systemd - resolved(8). Do not edit.
,请跳转至 >>> 方法三。
1 | Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) |
如果重启系统或者网络后,ping 公网 ip 地址通,但是域名不通,编辑下面的文件,在其中加上上面的内容:
/etc/resolvconf/resolv.conf.d/base
或:/etc/resolvconf/resolv.conf.d/head
如果还是无法上网,可以将
/etc/NetworkManager/
目录下的system-connections
目录删除或者移走,然后再重启网络或者系统。
| ================================================== Split Line =============================================== |
↓↓↓↓↓↓ 方法三 ↓↓↓↓↓↓
如果你发现每次在 /etc/resolv.conf
配置 DNS 之后(方法二),重启服务器 DNS 就会重置为原始 127.0.1.1
。
仔细查看才发现 /etc/resolv.conf
本身在第一行的注释里面已经写了 “Do not edit”:
1 | # This file is managed by man:systemd - resolved(8). Do not edit. |
也即是说,当前 /etc/resolv.conf
归 systemd 管了,配置文件变为:/etc/systemd/resolved.conf
,你可以在其中添加 DNS 信息:
1 | DNS=114.114.114.114 |
然后,在 Ubuntu Terminal 中执行如下命令:
1 | systemctl restart systemd-resolved |
再查看 /etc/resolv.conf
文件就可以看到新的 DNS 信息已经写入其中了。
[3] >>> 重启网卡
如果你不想每次配置完网络后重启服务器,可以通过重启相关的网络服务使配置生效:
- 重起网络服务:
1 | sudo /etc/init.d/networking restart |
个别系统重启服务后地址不变,这一般是缓存的问题,可以通过 ip 命令刷新一下缓存。
- 重启 DNS 服务:
1 | 配置 `/etc/resolv.conf` 后重启方法: |
文件配置方法(新)
从 Ubuntu 18.04 开始,开始使用 Netplan 工具来配置 IP 了,而不是使用 interfaces 配置文件和 networking 脚本。
如果还安装旧版本方法执行会产生异常:
1 | ubuntu@ubuntu:~$ sudo systemctl restart networking |
| ================================================== Split Line =============================================== |
下面正式来看使用 Netplan 工具来配置 IP 的全过程:
[1] >>> 检查环境
检查当前 Server 环境是否可用 Netplan 工具来配置 IP:
1 | 检查 Ubuntu 版本: |
| ================================================== Split Line =============================================== |
Netplan 工具通过网络配置文件的方法来配置 Ubuntu 网络:
[2] >>> 网卡配置文件
Ubuntu 中的 “ 网卡配置文件(*.yaml
)” 位于系统配置目录(/etc)下的 Netplan 配置目录(/etc/netplan/):
1 | ls -l /etc/netplan/ |
需要注意,这里根据系统版本以及平台环境的不同,可能文件名称有所不同。你可以:
1 | 查看 Netplan 网络配置文件默认内容: |
[4] >>> 网络测试
配置网卡和 DNS 之后,我们需要 reboot
重启服务器 或 重启网卡,使得配置生效。
首先查看配置后网卡信息:
1 | ifconfig |
然后检测网络连通性:
1 | ping www.baidu.com |
或者:
1 | sudo apt-get install curl |
首先 Ubuntu 分为 Server 版和 Desktop 版,这两种版本的网络设置方式有很大区别,主要是配置入口工具不一样。
Desktop 版:有一个 Network-manager 软件,要尽量使用这个软件来进行 IP 的设置。
Server 版:不同版本号,IP 配置方法有较大差别。例如:低于 Ubuntu16 版使用 networking,而 Ubuntu18 使用 netplan。
配置网络代理
出于信息安全,大部分公司都会存在内、外网以进行网络限制,往往我们需要通过网络代理服务器才可以访问外网。
下面我们来看配置网络代理服务的方法:
GUI 配置
[1] >>> 配置系统代理
Desktop 依次点击:【System Sets】–>【Network Sets】–>【Network Proxy】,配置系统网络代理内容如下:
1 | 示例网络代理配置如下: |
其中,proxy.xxxxxx.com
表示用于网络代理的服务器地址,8080
为代理服务器用于网络代理的端口。
配置系统代理后,全局生效!!!Ubuntu 中所有应用均可以使用系统代理访问外网。
[2] >>> 配置浏览器网络代理
1 | # 你可以仅仅为浏览器设置网络代理,以浏览器可访问外网 |
配置文件
[1] >>> 配置系统代理
配置系统代理后,全局生效!!!Ubuntu 中所有应用均可以使用系统代理访问外网。
1 | vim ~/.bashrc |
[2] >>> 单独配置应用程序网络代理
注意,我们可以单独为 Ubuntu 中应用程序配置代理,例如 apt-get、wget 等,为应用程序单独设置代理的方法可参见网络,这里不赘述。
当然,应用程序可以直接使用上文配置好的系统网络代理。
Proxyenv (推荐)
很多人可能发现,一旦给系统设置代理后会影响其它用户使用,我们更希望能够即开即关,而上述的网络代理设置方法不太灵活。
下面给出一种通过自定义网络代理配置文件,实现随时切换网络环境(内、外网)的方法:
[1] >>> 启用网络代理
自定义一个用来进行配置网络代理的文件:
1 | vim ~/.proxyenv |
模板示例内容如下,可以根据需求进行组合添加:
1 | !/bin/sh |
每次使用网络代理时,可以使用如下命令启用网络代理:
1 | . ~/.proxyenv |
| ================================================== Split Line =============================================== |
[2] >>> 关闭网络代理
自定义一个用来关闭配置网络代理的文件:
1 | vim ~/.unproxyenv |
模板示例内容如下,可以根据需求进行组合添加(要保证与上文 ~/.proxyenv
内容相对应):
1 | !/bin/sh |
使用网络代理结束时,可以使用如下命令关闭网络代理:
1 | . ~/.unproxyenv |
| ================================================== Split Line =============================================== |
[3] >>> 网络代理配置完整样例
1 | # 1. 启用代理: |
更换 Apt-get 软件源 (换源)
在介绍 Apt-get 换源之前需要介绍一下 Apt-get 中源概念:
何为源
就像家里的电视机,Apt-get 相当于买了一台电视机,有了电视不意味着你就能看节目了,你要手动添加频道(信号源)才能看你想看的电视节目。
你可以将 Apt-get 源理解为一个存放了各种 Apt-get 应用包的远程服务器,更进一步的说 源 是用于访问服务器的链接。
Apt-get,默认使用的是 Ubuntu 官方提供的源,这时 Apt-get 源 设置的是官方源对应的链接。当你使用 Apt-get 进行包的安装、更新操作时,会从官方源中去搜索、下载你需要的包。
而由于 Apt-get 使用的官方源位于外网,网络时好时坏,这可能会导致使用 Apt-get 进行包的安装、更新等操作失败的情况:
1 | An HTTP error occurred when trying to retrieve this URL. |
这时就需要更换一个稳定、高速的源来提供良好的网络环境。所幸的是,国内镜像源站点提供了 Apt-get 的镜像源,感谢开源~~~
Apt-get 源的配置文件是:/etc/apt/sources.list
,你可以在其中配置国内镜像源。
备份官方源
换源之前,先来将官方源备份一份:
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list.backups |
一旦配置出错,或者想还原官方源的时候可以随时还原。
更换国内源
修改源配置文件中的官方源为国内镜像源:
1 | sudo vim /etc/apt/sources.list |
国内常用 Ubuntu 镜像源:教育网的源(比如:清华源、中科大源)、阿里源、网易源等等。
需要注意的是:同一镜像源中,不同版本的 Ubuntu 源是不同的。
例如:ubuntu 14.04 LTS (trusty)/ubuntu 16.04 LTS (xenial)/ubuntu 18.04 LTS (bionic)/ubuntu 20.04 LTS (focal)/ubuntu 22.04 LTS (jammy)/ubuntu 23.04 (lunar)/ubuntu 24.04 (noble)/…?
修改源配置文件时,需要根据你的 Ubuntu 具体版本来添加相应的源!!!
1)教育网推荐(中科大的、清华源)
1 | ### 1. 清华源:https://mirrors.tuna.tsinghua.edu.cn |
2)阿里源
1 | 阿里源: https://mirrors.aliyun.com/ubuntu/ |
3)网易源
1 | 网易源: https://mirrors.163.com/ |
其中,Apt-get Sources Help 后面的网址是各个镜像源 Ubuntu 换源的帮助文档。
更新源
换源后,你需要更新一下软件源,以启用新源:
1 | sudo apt-get update |
| ================================================== Error Info =============================================== |
当你使用 apt install
安装应用包石,你可能会遇到 E: Unable to locate package xxxxx
的错误。
此时,你可以重新更新一下软件源,然后重启执行安装命令。如果仍然无法使用,可以更换另一个软件源,然后更新软件源后重试。
| ================================================== Split Line =============================================== |
你可以使用新源,升级系统中应用程序(可选):
1 | sudo apt-get upgrade |
PPA
使用 Ubuntu APT-GET 获取应用包,会出现 E: Unable to locate package
的情况,但你确定应用包肯定是存在的。当你网上查阅时发现,会让你另外配置一下 PPA 源,这是什么?!!
PPA(Personal Package Archive),允许应用程序开发人员和 Linux 用户创建自己的存储库来分发软件。
配置 PPA 源,让你可以轻松地获得通过官方 Ubuntu 库无法获得的新软件版本或软件。
关于 PPA 的具体使用指南可以参见【The Ultimate Guide to PPA in Ubuntu】。
用户登录设置
用户登录、用户切换相关设置:
首先来查看
设置 Root 用户登录
Ubuntu 中只要为 root 设置一个密码,即可开启 root 账户。之后即可通过密码升级为 root 权限:
[1] >>> 添加 root 用户
1 | 设置 root 用户登录密码(之后获取 root 权限密码) |
| ================================================== Split Line =============================================== |
[2] >>> 登陆界面设置 root 用户登录选项
Ubuntu 默认的是 root 用户不能登录图形界面的,只能以其他用户登录图形界面。
可以通过修改配置文件 ../50-ubuntu.conf
,以解决:
1 | vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf |
其中,greeter-show-manual-login
表示允许 “手工输入登陆系统的用户名和密码”;all-guest
表示 “不允许 guest 登录”。
修改完成后需要重启系统生效。先不要着急重启!!!原因接下:
重启系统,用 root 用户在图形界面登录会产生错误,读取 /root/.profile 时发生错误(Error found when loading /root/.config
)。
因此,重启系统前,需要先切换为 root 用户(su root
),然后将 /root/.profile
文件中的 mesg n
替换成 tty -s && mesg n
,其它信息不变!!!
sudo 授权和免密
普通用户想要获取 root 权限,需要在命令前使用 sudo。
但每次使用 sudo 时都需要输入 root 密码,有时候很烦~~~那,能不能免密使用呢?!!
虽然给普通用户的 sudo 设置免密有安全隐患,但如果你只是个人使用,那就无所谓~~~
配置步骤如下:
[1] >>> 登陆或切换到 root 用户下
1 | su root |
[2] >>> sudo 配置文件添加写权限
1 | chmod u+w /etc/sudoers |
[3] >>> 配置 sudoers 文件
1 | vim /etc/sudoers |
在 sudoers 文件中找到 root ALL=(ALL:ALL) ALL
内容后,换行后为 user
用户添加 sudo 授权和免密:
1 | # User privilege specification |
你可以根据实际需要在 sudoers 文件中按照下面四行格式中任意一条进行添加:
1 | # 允许用户 youuser 执行 sudo 命令(需要输入密码) |
[4] >>> 撤销 sudo 配置文件写权限
1 | chmod u-w /etc/sudoers |
添加新用户
如何添加一个用户供日常使用,或者供他人使用:
[1] >>> 创建新用户
1 | [root@LAPTOP-SNOSCKOB ~]# adduser orange |
[2] >>> 修改新用户密码
1 | [root@LAPTOP-SNOSCKOB ~]# passwd orange |
[3] >>> sudo 授权和免密
新创建的用户并不能使用 sudo 命令,需要为其添加授权或免密(参照上文):
1 | [root@LAPTOP-SNOSCKOB ~]# chmod -v u+w /etc/sudoers |
修改主机名
在终端输入如下命令,可查看主机名:
1 | hostname |
你可以通过修改主机名配置文件(/etc/hostname
)来实现 hostname 的修改:
1 | sudo vi /etc/hostname |
配置 SSH 远程登录
重启或开关机
[1] >>> 重启命令
1 | 立刻重启 |
[2] >>> 关机命令
1 | 立刻关机(一般加-p 关闭电源) |
常用应用
常见基础应用安装:
VIM
Linux 更早版本默认的文本编辑器是 Vi IMitation(Vi),但不太好用:
1 | 使用 vi 命令编辑文件: |
随着功能的不断增强,出现了 Vi IMproved。甚至基于 VIM 进一步增强的 Neovim…
[1] >>> Setup
这里选择安装最基础的 vim-gtk
<<<<< Vi IMproved - enhanced vi editor - with GTK2 GUI(增强的 VI 编辑器 – 使用GTK2 GUI)。
1 | sudo apt-get install vim-gtk |
[2] >>> configuration
VIM 配置文件是 vimrc,可通过如下命令进入 vimrc 配置文件:
1 | sudo vim /etc/vim/vimrc |
远程访问 Ubuntu Desktop
提供如下访问解决思路:
1 | % 1. 第三方桌面:xfce |
Ubuntu Server: Quick Configuration Guide
https://www.orangeshare.cn/2015/04/01/ubuntu-server-quick-configuration-guide/
install_url
to use ShareThis. Please set it in _config.yml
.