家里一直闲置着旧笔记本电脑,资源太浪费了,今天就给旧笔记本电脑安装linux系统,作为家用服务器使用。本篇教程系统选择openEuler。
openEuler
简介
openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其他多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。同时,openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。
官方文档
系统下载
根据需求选择你所需要的 架构
、场景
以及 软件包类型
,本篇教程使用 x86架构
、服务器
以及 Standard包
制作系统安装U盘
系统安装U盘工具使用 Ventoy
。介绍及使用可查看官网 Ventoy
系统安装
启动镜像
启动镜像后,选择 Install openEuler 22.03-LTS-SP3
选择语言
默认语言是英语,请根据自己的需求修改
安装信息摘要
在这个界面中我们可以设置键盘语言、安装的基础软件及服务、网络与主机名,以及配置系统安装位置等
这里重点介绍几个比较关键的配置,其他如键盘、时间与日期等配置,按需配置即可。
安装目的地
选择择打开 安装目的地
选项,配置系统安装所在磁盘。
存储配置为分为 自动
与 手动
,默认为自动,如需要手动分区的话请选择 自定义
,然后点击完成,在新弹出的页面进行配置
手动配置
手动配置硬盘分区时,对硬盘空间的分配需要考虑以下几个方面:
- /(根)分区:这是所有分区的起始点,它包含了操作系统和大部分的应用程序文件。建议分配的空间至少在10~15GB之间。
- Swap(交换)分区:这个分区作为物理内存(RAM)的补充来使用。通常,它的大小取决于你的系统内存大小。如果你的系统内存大于2GB,那么可以分配一个等于或略大于系统内存大小的Swap分区。如果你的系统内存小于2GB,那么分配的Swap分区应该是系统内存大小的两倍。
- /home 分区:这个分区存储用户的数据,如音乐、图片、文档等。其大小取决于你计划存储多少个人数据。在许多情况下,/home 分区会占用硬盘上剩余的所有空间。
- /boot 分区:这个分区包含了引导加载器和内核文件,通常只需要分配200MB到500MB的空间。
- /var 分区:如果你打算在你的系统上运行一个服务器,如web服务器或邮件服务器,那么你可能需要一个/var分区,因为这些服务器通常将日志文件和其他数据存储在/var下。其大小取决于你预计服务器需要多少空间。
这只是一种常见的配置方式,实际的分区情况取决于你的特定需求和偏好。例如,如果你计划运行一个数据密集型的服务器,你可能需要为 /var 或 /home 分配更多的空间。
软件选择
软件选择界面有三个选项 最小安装
、服务器
和 虚拟化主机
,请根据自己的业务需要进行选择安装。我一般选择 最小安装
来保持系统的干净,后面再按需安装自己需要的工具。
网络和主机名
激活右侧的联网按钮,如果设备连着网线,此时会自动获取IP地址,如果需要手动分配IP地址,择点击右下方的 配置
选项。如果要修改主机名也可以在这里修改。
root用户
点击 启用root账户
,然后输入密码,再点击完成即可
开始安装
清除掉所有的感叹号,就可以点击开始安装了
等待一会,安装完成后,就点击重启进入系统即可
至此,系统安装就完成了。
进入系统
引导页
点击第一个选项
登录
输入之前设置的用户名、密码进行登录
系统配置
配置网络
有线网络
如果之前在安装系统时没有配置网络,我们可以通过 nmtui
的字符界面图形模式来配置网络
nmtui
选中 Activate a connection
选中网卡名称后回车
网卡前显示为*号,右边的单词变为Deactivate,则联网成功
配置自动连接
此时还需要配每次启动自动连接选项,否则每次重启后还得手动联网
回到第一个页面,选择 Edit a connection
选中对应的网卡,光标移动到 Edit
敲回车
用方向键移动到 Automatically connect
处,按下空格键选中
前面的空格会变成x,就代表设置好了
这样就设置好启动系统自动连接网络了。
手动配置网络
如需要手动配置IP则将IPv4 CONFIGURATION 选项 从 Automatic
改为 Maunal
,在移动到 Show
敲回车再进行配置,具体内容,按需配置即可。
无线网络
如果机器有无线网卡,需要连接wifi,执行以下操作
配置下载源
由于连接wifi需要安装一些工具,所以还是需要连接有线网络或配置yum源
有线网络
如果已经连接了网线,可以直接执行后续操作
配置本地yum源
如果没有有线网络条件可以配置本地yum源,再安装连接wifi所必需的工具。
连接wifi
安装必要工具
执行以下命令
安装 iw
yum -y install iw
安装 NetworkManager-wifi
yum -y install NetworkManager-wifi
这个命令应该会同时安装 wpa_supplicant
,如果没有安装,可自行安装
yum -y install wpa_supplicant
找到无线网卡
执行以下命令,可以发现无线网卡为 wlp8s0
(以下三个命令任选其一即可)
iw dev
ip addr
或使用如下命令
nmcli dev status
启用无线网卡
ip link set wlp8s0 up
查看无线网卡连接情况
iw wlp8s0 link
可以看到目前还没有连接
查看所有可用的无线网络信号
iw wlp8s0 scan | grep SSID
连接无线网
wpa_supplicant -B -i wlp8s0 -c <(wpa_passphrase "ssid" "password")
看到如下输出,说明连接成功了
分配IP地址
现在查看网卡,发现还是没有IP的
ip addr
通过dhclient控制网卡进行网络操作获取IP
dhclient wlp8s0
在查看网卡,就有IP了
这样就表示连接成功了
配置开机自动连接wifi
设置NetworkManager开机自启
systemctl enable NetworkManager
开启wifi
nmcli r wifi on
查看有信号的WiFi
nmcli dev wifi
连接wifi
nmcli d wifi connect "ssid" password "password"
看到成功的提示,则说明连接成功了,现在重启后,也会自动连接wifi了。
免密登录
SSH
为了便于远程登录服务器,我们使用ssh来免密登录服务器
客户端生成密钥对
使用如下命令,按步骤操作完成即可在 ~/.ssh
目录下生成密钥对
ssh-keygen
输入命令之后,系统会有两次让你输入的地方
系统会提示你选择保存密钥的文件路径和文件名,默认情况下会在 ~/.ssh 目录下生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。
为密钥对设置密码,可以在提示时输入密码。设置密码可以增加密钥的安全性,但每次使用该密钥时都需要输入密码。为空则无密码
我们一路回车即可,生成后查看目录发现有两个新文件。其中 id_rsa
是私钥,id_rsa.pub
是公钥
添加公钥
我们查看客户端的ssh公钥的内容,并复制
cat ~/.ssh/id_rsa.pub
粘贴到服务器的 ~/.ssh/authorized_keys
文件中,如果目录和文件不存在,手动新建即可。
这样就可以免密登录了。
修改SSH端口
ssh默认端口为22,为了安全我们可以修改为其他端口
备份sshd配置文件
为了安全起见,我们先将原本的sshd配置备份,如果出问题可以及时回退
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
修改sshd配置文件
vim /etc/ssh/sshd_config
找到 #Port 22
,默认是注释掉的,先把前面的 #
号去掉,再插入一行设置成你想要的端口号,注意不要跟现有端口号重复,如下图
重启SSH服务器
systemctl restart sshd
可能会出现以下报错内容:
Job for sshd.service failed because the control process exited with error code.See "systemctI status sshd.service" and "journalctI -xe" for details.
原因是SELinux(Linux的一个安全子系统)拒绝了本次重启。只需将SELinux防火墙关闭即可
防火墙、安全组规则设置
iptables添加SSH新端口规则:
iptables -A INPUT -p tcp --dport 端口 -j ACCEPT
firewalld添加SSH新端口规则:
firewall-cmd --permanent --zone=public --add-port=端口/tcp
重载firewalld
firewall-cmd --reload
SELinux
SELinux,全名为Security-Enhanced Linux,是一种用于增强现有Linux发行版的安全特性的安全模块。它是一个强制访问控制系统,对系统的进程和文件提供细粒度的权限控制。
SELinux的作用主要包括以下几个方面:
- 对系统文件、目录、端口等资源进行访问控制:SELinux可以定义谁可以访问哪些资源,以及如何访问这些资源。
- 对系统进程施加限制:SELinux能够约束进程的行为,防止其执行恶意操作。
- 阻止特权溢出:即使黑客成功获得某个进程的操作权限,也往往无法突破由SELinux提供的安全防护,有效防止系统的进一步威胁。
- 强制知道访问控制:所有的权限都是由策略定义的,所有事情都需要给予权限才能执行,增加了系统的安全性。
但在一些场景下我们需要关闭它,比如修改ssh端口
临时关闭
setenforce 0
临时开启
setenforce 1
查看状态
getenforce
永久关闭
编辑 /etc/selinux/config
文件,如下图,将 SELINUX
的值设置为 disabled
。下次开机SELinux就不会启动了
vim /etc/selinux/config
笔记本合盖不休眠
我使用旧的笔记本电脑装了Linux系统当做服务器使用,但是我发现合上屏幕,系统就不运行了,所以要改为不影响
修改配置
vim /etc/systemd/logind.conf
我们把 HandleLidSwitch
后面的 suspend
修改为 ignore
,即: HandleLidSwitch=ignore
重启服务
必须要使用如下命令才能使上面的配置生效
systemctl restart systemd-logind
配置项说明
关键字 | 作用 | 默认值 |
---|---|---|
HandlePowerKey | 按下电源键后的行为 | power off |
HandleSleepKey | 按下挂起键后的行为 | suspend |
HandleHibernateKey | 按下休眠键后的行为 | hibernate |
HandleLidSwitch | 合上笔记本盖后的行为 | suspend |
配置项意义
关键字 | 含义 |
---|---|
ignore | 忽略,跳过 |
power off | 关机 |
eboot | 重启 |
halt | 挂起 |
suspend | shell内建指令,可暂停目前正在执行的shell。若要恢复,则必须使用SIGCONT信息。所有的进程都会暂停,但不是消失(halt是进程关闭) |
lock | 仅锁屏,计算机继续工作 |
常用命令
压缩/解压缩
Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。
tar
最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法。
tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下:
tar -cf all.tar *.jpg
这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去,-r 是表示增加文件的意思。
tar -uf all.tar logo.gif
这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。
tar -tf all.tar
这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。
tar -xf all.tar
这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。
以上就是 tar 的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。这就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。
tar调用gzip
gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 这个参数来调用gzip。下面来举例说明一下:
tar -czf all.tar.gz *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz。
tar -xzf all.tar.gz
这条命令是将上面产生的包解开。
tar 调用 bzip2
bzip2 是一个压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。
与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 这个参数来调用 gzip。下面来举例说明一下:
tar -cjf all.tar.bz2 *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2
tar -xjf all.tar.bz2
这条命令是将上面产生的包解开。
tar 调用 compress
compress 也是一个压缩程序,但是好象使用 compress 的人不如 gzip 和 bzip2 的人多。.Z 结尾的文件就是 bzip2 压缩的结果。与 compress 相对的解压程序是 uncompress。tar 中使用 -Z 这个参数来调用 compress。下面来举例说明一下:
tar -cZf all.tar.Z *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 uncompress 压缩过的包,包名为 all.tar.Z。
tar -xZf all.tar.Z
这条命令是将上面产生的包解开。
有了上面的知识,你应该可以解开多种压缩文件了,下面对于 tar 系列的压缩文件作一个小结:
1) 对于.tar结尾的文件
tar -xf all.tar
2) 对于 .gz 结尾的文件
gzip -d all.gz
gunzip all.gz
3)对于 .tgz 或 .tar.gz 结尾的文件
tar -xzf all.tar.gz
tar -xzf all.tgz
4) 对于 .bz2 结尾的文件
bzip2 -d all.bz2
bunzip2 all.bz2
5) 对于 tar.bz2 结尾的文件
tar -xjf all.tar.bz2
6) 对于 .Z 结尾的文件
uncompress all.Z
7) 对于 .tar.Z 结尾的文件
tar -xZf all.tar.z
另外对于 Windows 下的常见压缩文件 .zip 和 .rar,Linux 也有相应的方法来解压它们:
1) 对于 .zip
linux 下提供了 zip 和 unzip 程序,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
# zip all.zip *.jpg
这条命令是将所有 .jpg 的文件压缩成一个 zip 包:
# unzip all.zip
这条命令是将 all.zip 中的所有文件解压出来。
2) 对于 .rar
要在 linux 下处理 .rar 文件,需要安装 RAR for Linux。下载地址:http://www.rarsoft.com/download.htm,下载后安装即可。
# tar -xzpvf rarlinux-x64-5.6.b5.tar.gz
# cd rar
# make
这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
# rar a all *.jpg
这条命令是将所有 .jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将 .rar 扩展名将自动附加到包名后。
# unrar e all.rar
这条命令是将 all.rar 中的所有文件解压出来。
# unrar x all.rar
这条命令是将 all.rar 中的所有文件解压出来,按目录层级。
扩展内容
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数 -f 是必须的:
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
tar -cf all.tar *.jpg这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去。-r 是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。
# tar -xf all.tar
这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。
压缩
tar –cvf jpg.tar *.jpg // 将目录里所有jpg文件打包成 jpg.tar
tar –czf jpg.tar.gz *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,命名为 jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg // 将目录里所有 jpg 文件打包成 jpg.tar 后,并且将其用 compress 压缩,生成一个 umcompress 压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg // rar格式的压缩,需要先下载 rar for linux
zip jpg.zip *.jpg // zip格式的压缩,需要先下载 zip for linux
解压
tar –xvf file.tar // 解压 tar 包
tar -xzvf file.tar.gz // 解压 tar.gz
tar -xjvf file.tar.bz2 // 解压 tar.bz2
tar –xZvf file.tar.Z // 解压 tar.Z
unrar e file.rar // 解压 rar
unzip file.zip // 解压 zip
总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
评论区