- A+
Ubuntu Server 20.04详细安装教程
1. Ubuntu Server20.04启动盘制作
1.1 下载镜像
去Ubuntu官网找到20.04的镜像文件(20.04下载地址),按照自己的需求下载 iso文件
1.2 制作启动盘
- 用Rufus制作启动盘,到官网下载文件(rufus官网)
- 分区类型:选择GPT,目标系统类型UEFI(非SM)
GPT和MBR是不同的分区表类型
使用MBR分区表的硬盘最多只能划分4个主分区磁盘,并且MBR最大仅支持 2TB的硬盘。
如果需要分区的硬盘容量超过2TB了,则需要使用GPT分区表类型,此分区表类型不受分区个数、硬盘大小的限制。
FAT32:
指的是文件分配表是采用32位二进制数记录管理的磁盘文件管理方式,因FAT类文件系统的核心是文件分配表,命名由此得来。一般2012年之后的电脑, BIOS的主流模式都是UEFI模式。
从GPT分区的硬盘启动,则主板使用UEFI、硬盘使用GPT分区、操作系统支持GPT和UEFI这三个条件缺一不可。目前比较新的64位Linux系统和Win系统都是支持UEFI的,所以都是需要从GPT分区的硬盘启动的。
如果是UEFI+GPT分区表模式,那么给ubuntu分区的时候不用设置/boot分区,设置efi系统分区;
如果是legacy+MBR分区表那么就要设置/boot分区
1.3 BIOS设置
将U盘制作成启动盘之后,保持插入在电脑中不要拔出,将电脑关机之后。再重新开机,开机的时候一直按F2键(也有按其他按键的,联想笔记本是F2+Fn组合键,大部分笔记本是按F2,如果按F2无法进入,可以百度查查自己的笔记本进入BIOS的热键)进入到BIOS设置。进入BIOS设置之后,主要要设置两个地方分别是将Secure Boot设置为Disabled,将Boot Option #1设置为U盘
注意:不同厂商的笔记本BIOS菜单可能有所不同,但是需要设置的东西都是一样的,选中之后敲回车就好
- Secure Boot设置:Security —> Secure Boot —> Disabled
- Boot Option设置:Boot —> Boot Option #1 —> 将 UEFI USB Key: **** 选择至第一位
- 保存BIOS设置:Exit—>Save Changes and Reset
2. Ubuntu Server系统安装
2.1 系统安装
2.1.1 进入到安装界面,选择Install Ubuntu—>回车
2.1.2 选择语言
本步骤直接默认按回车
2.1.3 选择键盘
本步骤直接默认按回车
2.1.4 配置网络
按tab键配置IP相关地址,使用 DHCP 或者 静态IP。
进行手动配置,选择网卡回车,选择IPv4,回车,选择Manuel,回车。
进入网络配置页面
这里subent格式为xxx.xxx.xxx.0/xx,举例我的192.168.199.0/24。这里的/24,就是子网掩码255.255.255.0的意思。/25是255.255.255.128。24是0,25是128,26是192,27是224。address就是IP地址了。gateway是网关。Name servers就dns,直接114.114.114.114。
保存,回车,下一步
2.1.5 选择代理
本步骤直接默认按回车
2.1.6 选择镜像
本步骤可默认按回车,也可以配置阿里云(http://mirrors.aliyun.com/ubuntu/),后续也可自行添加
2.1.7 配置磁盘分区
选择默认的使用整块磁盘自动分区,需要手动分区的话选择 [custom storage layout]
检查磁盘分区是否符合要求,回车继续
确认是否继续,继续后会破坏磁盘数据
2.1.8 配置系统信息
配置系统主机名、登录用户和密码。
2.1.9 安装openssh远程连接工具
按空格键勾选图中的小方框内为小叉子,然后按tab键选择Done继续。
2.1.10 选择预置环境
按需选取,不需要则直接回车继续
2.1.11 安装系统
如果联网状态会自动安装系统更新,更新完重启
重启后遇到这个提示,拔掉启动盘,按下回车,重新启动
至此安装完成
2.2 系统配置
2.2.1 root账户设置密码
当前普通用户界面下输入命令,然后按提示两次输入密码即可。
sudo passwd root
2.2.2 ssh配置
# 查看是否安装了SSH服务 ps -ef |grep ssh # 没有安装的话,执行下面语句 sudo apt-get update #先更新下资源列表 sudo apt-get install openssh-server #安装openssh-server sudo ps -ef | grep ssh #查看是否安装成功 sudo systemctl restart sshd #重新启动SSH服务 # 进入ssh配置文件 sudo vim /etc/ssh/sshd_config
PermitRootLogin
是一个用于配置 SSH 服务器的选项。这个选项决定了是否允许 root 用户通过 SSH 直接登录到服务器。通常情况下,为了提高安全性,最好禁止 root 用户通过 SSH 直接登录,而是使用一个普通用户登录后再通过 su 或者 sudo 切换到 root 用户来执行需要特权的操作。这样可以降低系统受到攻击的风险。
常见的 PermitRootLogin 选项取值包括:
yes
:允许 root 用户通过 SSH 直接登录。no
:禁止 root 用户通过 SSH 直接登录。without-password
:允许 root 用户通过 SSH 密钥登录,但不允许使用密码登录。
按i进入编辑模式,找到#PermitRootLogin prohibit-password
,默认是注释掉的。
把 PermitRootLogin without-password
改为 PermitRootLogin yes
,注意PermitRootLogin without-password
被注释掉了,要去掉注释。如果没有找到PermitRootLogin without-password
,直接文件末尾添加PermitRootLogin yes
即可。然后按esc,输入:wq保存并退出。
重启sshd服务
sudo systemctl restart sshd
2.2.3 驱动更新
# 1. 更新软件包列表: sudo apt update # 2. 升级已安装的软件包: sudo apt upgrade -y # 3. 更新驱动程序: sudo apt install ubuntu-drivers-common sudo ubuntu-drivers autoinstall
2.2.4 网络配置
-
打开终端,使用root权限登录或者使用sudo命令获取root权限。
-
使用文本编辑器打开网络配置文件
/etc/netplan/00-installer-config.yaml
。sudo vim /etc/netplan/00-installer-config.yaml
-
在文件中,找到
network
部分,然后根据你的网络设置进行编辑。以下是一个示例配置:network: ethernets: enp0s3: addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] version: 2
enp0s3
是网络接口的名称,你需要根据你的实际网络接口名称进行替换。addresses
是你的服务器的静态IP地址和子网掩码。gateway4
是你的网关IP地址。nameservers
是DNS服务器的IP地址。
-
保存文件并关闭文本编辑器。
-
在终端中执行以下命令以应用配置更改:
sudo netplan apply
-
重新启动网络服务以使更改生效:
sudo systemctl restart networking
现在,你的Ubuntu Server 20.04已经配置了静态网络。你可以通过ping命令或打开浏览器测试网络连接。
2.2.5 禁止自动休眠
- 执行如下命令查看休眠模式的情况,如果sleep状态是loaded,也就是处于自动休眠开启状态
systemctl status sleep.target
- 接下来,执行如下命令关闭系统的自动休眠开关:
# 这些命令做了以下几点: # 通过mask命令,你禁用了所有休眠相关的systemd目标。 # 通过set-default命令,你设置默认的运行级别为多用户文本模式(即命令行界面) sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target sudo systemctl set-default multi-user.target #################################################### # 如果你想要恢复自动休眠功能,可以使用以下命令: sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target sudo systemctl set-default graphical.target
- 再次执行查看命令,可以看到sleep的状态已经变成了masked,也就是关闭了。
- 编辑
/etc/systemd/logind.conf
文件:sudo vim /etc/systemd/logind.conf
- 在文件中找到以下行:
#IdleAction= #IdleActionSec=
- 将这两行的注释符号
#
移除,并设置IdleAction
为ignore
,IdleActionSec
为0
,如下所示:IdleAction=ignore IdleActionSec=0
- 保存文件并关闭编辑器。
- 使用以下命令重新加载systemd配置:
sudo systemctl restart systemd-logind.service
- 完成!现在Ubuntu Server 20.04将不会因为无操作而自动休眠。
2.2.6 设置关盖/合盖不挂起/不睡眠
- 通过更改登录配置文件
logind.conf
设置
sudo vim /etc/systemd/logind.conf
- 里面影响关盖操作的变量包括
HandleLidSwitch
、HandleLidSwitchExternalPower
和HandleLidSwitchDocked
。
logind.conf
里面各项的含义如下:
1. NAutoVTs=6:指定系统启动时自动分配的虚拟终端数量。 2. ReserveVT=6:指定系统保留的虚拟终端数量。 3. KillUserProcesses=no:指定当用户注销时是否终止用户进程。 4. KillOnlyUsers=:指定需要终止进程的用户列表。 5. KillExcludeUsers=root:指定不需要终止进程的用户列表。 6. InhibitDelayMaxSec=5:指定阻止操作的最大延迟时间(以秒为单位)。 7. HandlePowerKey=poweroff:指定按下电源键时的操作,此处设置为关机。 8. HandleSuspendKey=suspend:指定按下休眠键时的操作,此处设置为休眠。 9. HandleHibernateKey=hibernate:指定按下休眠键时的操作,此处设置为休眠。 10. HandleLidSwitch=suspend:指定关闭笔记本电脑盖子时的操作,此处设置为休眠。 11. HandleLidSwitchExternalPower=suspend:指定在外部电源连接时关闭笔记本电脑盖子的操作,此处设置为休眠。 12. HandleLidSwitchDocked=ignore:指定连接到底座时关闭笔记本电脑盖子的操作,此处设置为忽略。 13. PowerKeyIgnoreInhibited=no:指定是否忽略阻止操作的电源键按下。 14. SuspendKeyIgnoreInhibited=no:指定是否忽略阻止操作的休眠键按下。 15. HibernateKeyIgnoreInhibited=no:指定是否忽略阻止操作的休眠键按下。 16. LidSwitchIgnoreInhibited=yes:指定是否忽略阻止操作的盖子关闭。 17. HoldoffTimeoutSec=30s:指定在执行操作前等待的时间(以秒为单位)。 18. IdleAction=ignore:指定系统处于空闲状态时的操作,此处设置为忽略。 19. IdleActionSec=30min:指定系统处于空闲状态多长时间后执行操作(以分钟为单位)。 20. RuntimeDirectorySize=10%:指定运行时目录的最大大小,此处设置为总磁盘空间的10%。 21. RemoveIPC=yes:指定是否在用户注销时删除IPC对象。 22. InhibitorsMax=8192:指定系统允许的阻止操作的最大数量。
HandleLidSwitch
: 定义笔记本电脑关闭盖子时的行为。可以设置的值有:
ignore
:忽略关闭盖子的事件。poweroff
:关闭电源。reboot
:重新启动。halt
:停止系统。kexec
:通过 kexec 进行快速启动。suspend
:挂起系统。hibernate
:休眠系统。
HandleLidSwitchExternalPower
: 定义当笔记本电脑连接外部电源时关闭盖子的行为。可以设置的值与 HandleLidSwitch
相同。
HandleLidSwitchDocked
: 定义当笔记本电脑连接到底座时关闭盖子的行为。可以设置的值与 HandleLidSwitch
相同。
HandlePowerKey
: 定义电源按钮的行为。可以设置的值与 HandleLidSwitch
相同。
IdleAction
: 定义系统空闲时的行为。可以设置的值有:
ignore
:忽略空闲事件。poweroff
:关闭电源。reboot
:重新启动。halt
:停止系统。kexec
:通过 kexec 进行快速启动。suspend
:挂起系统。hibernate
:休眠系统。
IdleActionSec
: 定义系统空闲多少秒后触发 IdleAction
。
UserTasksMax
: 定义每个用户可以同时运行的任务数的最大值。
KillUserProcesses
: 定义当用户注销时是否终止用户的进程。可以设置的值有:
yes
:终止用户的进程。no
:不终止用户的进程。
2.2.7 定时自动关闭显示器
- 想要定时关闭显示器,可以编辑
/etc/default/grub
这个文件 - 通过修改GRUB_CMDLINE_LINUX_DEFAULT变量,你可以添加或修改传递给内核的参数,以便在启动时对系统进行自定义配置。
# ipv6.disable=1:禁用 IPv6 协议。 # consoleblank=300:设置控制台空闲时间为 300 秒后自动关闭。 GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=300"
- 修改完了运行
sudo update-grub
,然后重启,即可设置系统5分钟没有活动自动关闭显示器。