Ubuntu-Nas> 正文

初步设置Ubuntu Server

2023-03-25T21:21:33+08:00

  现在我们已经安装好了 Ubuntu Server,作为一台 Server 服务器,我们通常使用 ssh 来远程连接它,进而管理、使用它。

1、替换为国内的软件软件源

  源可以理解为软件仓库,是 Linux 系统中的一个文件,可以说是 Linux 的灵魂,一个 Linux 配置的源文件决定了 Linux 系统可以获取哪些资源,获取哪些文件,源文件损坏意味着 Linux 系统无法下载 / 更新等。因为国外的源下载/更新软件十分缓慢,并且由于速度慢,可能会导致下载错误,中途停止等状况发生,所以国内的源还是十分重要的。一般情况下,将 /etc/apt/sources.list 文件中 Ubuntu 默认的源地址 http://archive.ubuntu.com/ 替换为国内源即可。

推荐的国内源有:

中科大源 https://mirrors.ustc.edu.cn/ubuntu/ 清华源 http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ 网易源 http://mirrors.163.com/ubuntu/ 阿里源 http://mirrors.aliyun.com/ubuntu/

首先,备份原来的源: sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

接着,使用如下命令(以中科大源为例)修改源文件:

sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list

sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

当然也可以直接编辑 /etc/apt/sources.list 文件(需要使用 sudo)。以下是 Ubuntu 22.04 参考配置内容:

# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

更改完 sources.list 文件后请运行 sudo apt update 更新索引以生效,sudo apt upgrade进行一次更新。

2、安装Vim编辑器

  Vim是一个著名的功能强大、高度可定制的文本编辑器。在配置Ubuntu Server 系统的过程中,经常可以使用它。 sudo apt install - y vim

3、安装net-tools工具包

  ifconfig是一个常用的网络命令,它是net-tools软件的一部分。 sudo apt install - y net-tools

4、设置固定 IP 地址

通常作为Nas系统,位置一般是在路由器之后的,所以通常有两种设置固定 IP 地址的方式:路由器DHCP分配网络管理工具Netplan 配置静态IP地址

  路由器DHCP分配设置:

  向局域网的设备分配静态IP地址的最简单的方法是在路由器配置静态DHCP。静态DHCP或DHCP保留功能是大多数路由器都可以使用的功能。   每次设备向DHCP服务器请求地址时,DHCP服务器都会为指定的网络设备分配相同的IP地址。这是通过设备的MAC地址实现的。

  网络管理工具Netplan 配置静态IP地址:

  在Ubuntu Server系统的安装过程中有一个步骤network connections可以设置固定IP: grub-Install-Ubuntu-Server

  如果在安装系统时没有设置,可以使用以下方式设置:

  Ubuntu 17.10及更高版本使用Netplan作为默认网络管理工具。Netplan配置文件使用YAML语法编写,文件扩展名为.yaml。要使用Netplan配置网络接口,您需要为接口创建YAML描述。然后Netplan会使用所选的渲染器工具生成所需的配置文件。Netplan支持两个渲染器,NetworkManager和Systemd-networked。NetworkManager主要在台式机使用,而Systemd-networked在没有GUI的服务器使用。   设置静态IP地址的第一步是识别要配置的以太网接口名称,如果有多个接口,需要确定配置的接口名称。   可以使用ip命令ip addr显示所有网络接口的列表,找到需要配置静态IP地址的接口名称。例如:loenp2s0就是找到的接口名称。

    1: lo: <LOOPBACK,UP,LOWER_UP>...```
    2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...

  Netplan配置文件存储在目录/etc/netplan。Ubuntu Server中通常文件名为00-installer-config.yaml

  首先备份配置文件:

sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml_bak

  然后运行vim命令打开Netplan配置文件/etc/netplan/00-installer-config.yaml。

sudo vim /etc/netplan/00-installer-config.yaml

  输入内容:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s0:
      dhcp4: no
      addresses:
        - 192.168.31.200/24
        - IPV6d地址/64
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1]

配置选项含义说明:   每个Netplan Yaml文件都以network键开头。   network至少包含两个必需元素和一个可选元素。第一个必需元素是网络配置格式的版本version。   第二个是设备类型。设备类型可以是ethernets,bonds,bridges或vlans。   还有一个是renderer。如果您以服务器模式安装Ubuntu,则使用networkd作为renderer渲染器的后端。   在ethernets设备类型下,您可以指定一个或多个网络接口。在此示例中,我们只有一个接口enp2s0,该接口通过DHCP服务器获取IP地址dhcp4: yes。   要将静态IP地址分配给enp2s0接口,首先将DHCP设置为dhcp4: no。指定静态IP地址。在addresses: 字段中,您可以添加一个或多个IPv4或IPv6 IP地址分配给接口。   在指定IP地址时,ip地址之后的子网掩码是必须的,在使用IP V6时也一样必须带有子网掩码。   routes字段是网关字段,即路由器的地址。在nameservers字段,设置域名服务器IP地址。   编辑Yaml文件时,请确保遵循YAML代码缩进标准。如果语法不正确,则更改将不会应用。完成后保存文件并退出vim编辑器。   最后运行命令sudo netplan apply应用配置文件,使静态IP地址在当前会话中可用。

4、删除snap

  Snap是随着Ubuntu一起发行通用包,原理比较简单,它们改变过往的Linux软件对操作系统级别类库的依赖的做法,直接将所有依赖全整到自己的软件包内,几乎支持所有Linux系统。但可惜事实是,Snap越发的不受到欢迎,尤其是在中国。因为国内没有镜像加速,软件下载速度及其慢!

  要在 Ubuntu Linux 中移除 Snap,请按照以下步骤操作:   停止开机自启的Snap服务

  系统在启动时,会自动启动Snap相关服务,我们先禁用掉这些服务

sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service

  查询并移除Snap安装的软件包的配置文件和数据

snap list
sudo snap remove --purge <软件包名称>

  例如,要移除 Snap Store 软件包,输入以下命令:

 sudo snap remove --purge snap-store

  移除Snap

  在删除掉Snap安装的软件后,下一步就是把Snap本身也删除掉,这里需要使用Apt来实现

#使用apt移除掉snap
sudo apt autoremove --purge snapd
#移除snapd的一些目录
sudo rm -rf /var/cache/snapd
sudo rm -rf ~/snap

  至此,其实snap已经被删除掉了。但是这个并不足够,因为Ubuntu源中的一些软件已经是snap版本,而非deb版本,下载snap版本时,会自动检查并在必要时重新安装snap服务。

  禁止重新安装Snap   我们可以利用APT可配置禁用安装哪些依赖的特性,来实现禁止重新自动安装Snap服务。

#禁止重新自动安装Snap服务
sudo vim /etc/apt/preferences.d/nosnap.pref

  禁止重新自动安装Snap服务。

Package: snapd
Pin: release a=*
Pin-Priority: -10

  这样就可以了。

5、打开或取消自动更新

  要不要让服务器自动更新,其实没有一定的答案,得看该服务器的运用场合。一般会认为打开自动更新,可以享有相对即时的安全性更新,进而提升系统的安全性;而关闭所有更新,可以避免运行在服务器上的程序因为系统套件版本发生变化而出现不兼容的问题,进而提升系统的稳定性。

  Ubuntu Server的自动更新仰赖其使用的APT套件管理工具,我们可以借由设置APT的设置档,来实现Ubuntu的自动更新功能。APT设置档的目录为/etc/apt/apt.conf.d,设置档的名称必须以两位数的十进位数值开头,表示设置档的加载顺序,也就是说,后面读取的设置档,有可能会覆盖掉前面读取过的设置档的设置。

与自动更新有关的设置项目主要有以下四个: APT::Periodic::Update-Package-Lists

指定自动更新套件库清单(apt update)的周期,单位是天。如果将这个项目设为0,则表示不自动激活这个功能。

APT::Periodic::Download-Upgradeable-Packages

指定自动把可更新的套件下载下来(apt upgrade -d)的周期,单位是天。如果将这个项目设为0,则表示不自动激活这个功能。

APT::Periodic::AutocleanInterval

指定自动把目前已经不可下载,但是先前已经被下载下来的套件清除(apt autoclean)的周期,单位是天。如果将这个项目设为0,则表示不自动激活这个功能。

APT::Periodic::Unattended-Upgrade

本文主要介绍使用unattended-upgrades套件来打开或关闭自动更新,与套件unattended-upgrades互相搭配使用。可以指定要自动下载并安装套件(类似apt upgrade)的周期,单位是天。

Ubuntu Server通常会内置unattended-upgrades套件,如果没有的话,可以使用以下指令来安装:

sudo apt install unattended-upgrades

安装完unattended-upgrades套件后,可以运行以下指令,来设置自动更新的打开或关闭:

sudo dpkg-reconfigure -plow unattended-upgrades

选择Yes,可打开自动更新,包含打开自动更新套件库清单的功能。选择No,可关闭自动更新,包含关闭自动更新套件库清单的功能。 unattended-upgrades

分享到:

Ranvane的日常记录

关于我们 客服中心 广告服务 法律声明