博客就应该一干完就写,几个月过去我现在基本上全忘了。
背景
朋友之前送的一台外星人x51,送我的时候就已经很旧了。去年显卡开始作妖,今年开始越发任性。windows系统已经用不下去了,正好在家用电脑的机会也不多,我也根本没有预算。本着榨干机器剩余价值的态度,我决定把它改成linux机器!!
开公网
一天晚上,我走在路上,看到电线杆上贴着小广告:“200块一年,电信宽带!”。回家就打电话给10000号:“喂!我要申请安装天天宽带,200块一年的!”
等师傅预约好时间上门安装,安装过程5分钟,“对不起!您所在的地区没办法新拉光纤,给你个光纤分流器,逻辑上给你分两根。”🙄️当然是有路由器送的。
whatever,然后再打电话给10000号,“喂?我要开公网ip,用来搭建博客,和家人共享文件,连接摄像头。”,没两天就开好了。
centos 8 stream系统安装
这一章节我已经基本上忘的全光了。好在我找到了之前参考的博客:https://blog.csdn.net/qq2523208472/article/details/83684838。
但基本上是这样的:
下载centos
https://www.centos.org/download/
是不是眼睛都在Packages和Others下面的链接上🫢,至少我当初就是的,结果就是几个连接点啊点,啥都不能用。正确操作要点Architectures下面的链接,得到如下看上去就正确的页面:
再往下点就能下载iso包了。
制作centos安装u盘
找一个起码16G的u盘。参考中使用的iso,我用的rufus:https://rufus.ie/。然后按照教程解压centos ios包到u盘。
注意:
- 安装u盘要格式化的
制作windows启动u盘
因为我们要清空windows,所以需要做一个启动u盘,然后重启后进入这个启动u盘的系统,然后对老windows进行清空。
我用的就是参考里用的ushendu。一路上没遇到什么问题。
注意:
- 启动u盘要格式化的
然后就是进入pe系统,然后把老的windows全删了。
注意:
- 进入pe系统:http://www.ushendu.com/syjc/
- 使用启动u盘系统中自带的diskgenius把老windows都删了
检查一下,就是重启一下,发现什么都没有了。
安装centos
重启电脑,进入bios,设置从硬盘启动。
再次重启电脑后,就能看到参考中的install的界面了。我下载的centos stream 8,所以就是:install centos stream 8
安装是有图形界面点点点的。可以参考这篇:https://blog.csdn.net/m2099797280/article/details/126323501。主要就是设置账户、设置磁盘、选择语言啥的,没啥特别的。
等待安装完成!!
linux系统基础配置
这些网上都找得到,而且很多很多,所以从以前的不会,到现在需要慧眼筛选了。
配置ssh
可以参考这篇:https://blog.csdn.net/Liqi23/article/details/127466997
主要就是:
root能不能登陆
重试次数
允许登陆的用户名
session超时时间
最大session数
sftp的配置
其中遇到的一个问题:
- mac客户端sftp连接上后,按tab不能补全:https://superuser.com/questions/1543592/sftp-from-macos-to-ub...
中心思想:安装最新版本的openssh在客户端上
开通网络
centos stream 8 采用NetworkManager
来设置网络,原来的network服务没有了。service命令也链接到了systemctl去了。
[root@localhost ~]# systemctl list-units *network*
UNIT LOAD ACTIVE SUB DESCRIPTION
network-online.target loaded active active Network is Online
network-pre.target loaded active active Network (Pre)
network.target loaded active active Network
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
3 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
使用NetworkManager操作一样是修改网卡配置文件/etc/sysconfig/network-scripts/{网卡名}
。修改完成后重启网卡systemctl restart NetworkManager
。
NetworkManager
的配置在这里/etc/NetworkManager/NetworkManager.conf
注意大小写!!!
NetworkManager
的cli命令行工具nmcli
的操作可以参考:https://zhuanlan.zhihu.com/p/395236748?utm_id=0
注意⚠️
- 一个ip还是多个ip,都先设置
IPADDR
,然后再是IPADDR1
查看本机ip
curl ifconfig.me
curl myip.ipip.net
磁盘操作
磁盘分区
插上新的磁盘后,使用fdisk
命令,可以看到/dev/sdb
(下面的设备是没有的)。
第一件事情是给新磁盘分区:fdisk /dev/sdb
然后再使用fdisk
查看,(下面的设备就有的)
磁盘格式化
系统自带命令:mkfs.{磁盘格式} /dev/sdb
查看磁盘结构树
lsblk
可选:创建LVM管理磁盘
首先需要将磁盘属性改成支持lvm:fdisk /dev/sdb
按照这个结构设计、操作下就行了:https://www.linuxprobe.com/linux-lvm.html
按照上面教程操作完毕!!!
这里摘录一些过程:
- 查看下pv、vg:
- 创建lv:
挂载:
[root@localhost mnt]# mount /dev/sdb1 /mnt/resourse/ mount: /mnt/resourse: 未知的文件系统类型“LVM2_member”.
- 格式化lv,然后挂载:
可选:开通防火墙
开通:
firewall-cmd --zone=public --add-port={port}/tcp --permanent
关闭:
firewall-cmd --zone=public --remove-port={port}/tcp --permanent
任何操作后重载:
firewall-cmd --reload
查看:
firewall-cmd --list-all
可选:开通mail
开通mail的意义在于公网IP变化的时候,发邮件给自己通知一下,面的ssh不上了。
邮件服务的收发架构基本如下图:
其中举例的一些软件并不局限于框框内的功能,大部分都是身兼多职。
我用的是mailx
。这里简单使用一下。
安装:
yum install mailx
使用:
echo test |mail -s "IP changed" {收件人邮箱}
报错:
[root@localhost ~]# echo test |mail -s "IP changed" {收件人邮箱}
/usr/sbin/sendmail: 没有那个文件或目录
[root@localhost ~]# "/root/dead.letter" 9/222
. . . message not sent.
报错提示没有安装sendmail,原因是没有本地MTA,mail也没有配置外部MTA
解决方法一:
安装sendmail,启动sendmail:
yum install sendmail
systemctl start sendmail
MTA的配置一般比较复杂。使用默认配置后发送的邮件像这样:
linux用户名:
[root@localhost ~]# whoami root
linux本机名字:
[root@localhost ~]# hostname localhost.localdomain
发件人:「linux用户名」「linux用户名@linux本机名字」
收件人:「收件人邮箱」
主题:IP changed
test
解决方法二:vi /etc/mail.rc
配置外部MTA
set smtp="{邮箱stmp地址}" # smtp://smtp.gmail.com:587, smtp://mail.company.net:25
set smtp-auth=login
set smtp-auth-user="{发件人地址}"
set smtp-auth-password="{第三方客户端授权密码}"
set from="{发件人地址}"
不同邮箱设置信息差不多,{第三方客户端授权密码}
一般只在生成的时候显示一次,记得保存。163的像这样:
之后发送邮件就成功了。
发件人:「发件人名称」「发件人地址」
收件人:「收件人邮箱」
主题:IP changed
test
发送邮件的日志可以在这里看:cat /var/log/mail*
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。