ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

旧电脑变废为宝!

2020-06-27 09:03:30  阅读:340  来源: 互联网

标签:变废为宝 CentOS sudo 旧电脑 ssh 发行版 Linux 安装


好了,正文开始。

前段时间阿里云搞活动,于是就买了一台 ESC 云服务器,作为自己的平时学习各种技术和项目部署的机器。

但是随着项目和技术的更新,一些技术是需要安装相关的服务,比如缓存服务 redis、数据库mysql、消息队列 kafka、Web服务 nginx(openresty)、分布式协调服务 zookkeeper、分布式搜索服务 elasticsearch、大数据相关实时流计算服务 storm 以及自己项目部署等等等的一系列的服务,它们都是需要安装与部署。

然而服务的安装部署是需要内存的!本人买的 ESC 机器的内存很小,只有 2G(因为穷(^_^)买不起高配置的机器)!显然 2G 的内存是不够的。

需求

既然云服务器的内存不够了,那就加再机器吧!再买一台云服务?算了再买的话没有优惠不划算(还是因为穷)!

想了想家里还有一台大学时期的联想笔记本(z485),那就用它吧!

这台电脑到现有有 9 年的时间了,算是个老古董。工作之后我对它进行配置进行了升级,在原来的 4G 内存基础上再加了 4G 内存,在 500G 的机械硬盘基础上加了一个 128G 的固态硬盘,这些配置当个平时用的服务器应该还行吧!

因为对 CentOS 发行版比较熟悉,所以我准备把这台笔记本装个 CentOS 发行版的 Linux 操作系统,然后安装 docker 程序,在它上启动各种所需要的服务!

那废话不多说,咱们开干!

Linux 发行版介绍

注意,Linux 的发行版有很多,根据软件包管理系统的不同分为两类:基于Dpkg (Debian系)和基于RPM (Red Hat系)。具体参见 https://zh.wikipedia.org/wiki/Linux%E5%8F%91%E8%A1%8C%E7%89%88

这两个派系,其中都包含商业发行版和社群发行版。

基于Dpkg (Debian系):

基于RPM (Red Hat系):

基于其他包格式

  • ArchLinux,一个基于KISS(Keep It Simple and Stupid)的滚动更新的操作系统。
  • Chakra,一个从ArchLinux派生出来,只使用KDE桌面的半滚动更新发行版。
  • Gentoo,一个面向高级用户的发行版,所有软件的源代码需要自行编译。
  • Slackware,最早的发行版之一,1993年创建,由Patrick J. Volkerding维护。

方案

方案一:直接安装 CentOS 7.8 版本的 Linux 系统

因为笔记本比较老,所以就没有采用 UEFI 模式启动,并且将两个磁盘采用传统的 MBR 分区表方式进行分区,并且做格式化操作。计划在 128G 的固态硬盘上装入系统,500G 的机械硬盘存储数据。

与是开始下载 CentOS 7 的镜像(我选择了在国内阿里云镜像上下载 CentOs7 镜像),准备好一个 8G 的 u 盘,通过软通牒软件将 CentOS 7.8 的镜像写入 U 盘。然后开始重启电脑进行安装。

但是!出现了一个问题, 安装时进入到 CentOS 7 的安装画面,选择第一步安装,然后就黑屏,屏幕左上角有一个下划线光标在闪烁,然后就没有然后了。上网找各种文章,大部分都是说 U 的盘符名称与进行安装时选择的盘符名称不一致导致的,需要在进入安装界面时通过键入 e(UEFI 启动模式) 或者 tab(传统启动模式),然后修改出现的中一行命令中的参数变量值,修改为你的 U 盘的真正名称。

但是!修改了完了还是不好使...于是继续找资料继续瞎折腾了大半天的时间。

最后无果。放弃安装 CentOS 7.8。

参考资料:

方案二:降级安装 CentOS 5.5 版本的 Linux 系统

既然 CentOS 7.8 版本不能够安装,那我就降低版本,使用 CentOS 5.5 版本来继续安装!

于是又开始把 CentOS 5.5 通过软通牒软件写入 U 盘,继续开始装!

重启机器,设置 U 盘启动,选择第一个选项安装,OK!终于到了安装界面(内心有点小惊喜)!不过,接下里就有失望了,根据提示选择安装语言,下一步选择键盘,再下来出现选择镜像所在的盘?显示有 /dev/sda、/dev/sb1、/dev/sdb2、/dev/sdb3、/dev/sdb4 这些盘符,挨个选择之后。然后继续上网找资料,说是要把安装 CentOS 5.5 的 ISO 镜像放到某个盘的根目录去,照着做了后,继续安装,选择镜像磁盘,还是不行。继续放弃了。

参考资料:

官方强烈建议不要安装 CentOS 6.5 以下的版本。

方案三:采用安装 win10 操作系统并装入 Linux 子系统

既然无法直接安装 CentOS 系统,那我就通过利用window10 的 Linux子系统以及花生壳内网穿透工具,搭建一台Linux。

那就开始搞了。

这里也可以使用虚拟机来安装 Linux 系统,不过以前装过,这次想尝试下新的技术装 Linux。

1. 准备一个已经通过大白菜软件制作好 pe 系统的 u 盘,把 win10 镜像放入u 盘。

2. 重启设置 u 盘启动,进入到 pe 系统,选择 win10 镜像把系统安装到 128G 的固态硬盘上。

3. 安装好了之后,重启电脑,进入到 win10 系统开始进行初始化配置、安全更新、激活等操作。

4. 开始安装 Linux 子系统

选择“开发者选项”,打开开发者模式

在这里插入图片描述

进入“启用或关闭Windows功能”设置 打开适用于linux的Windows子系统

在这里插入图片描述

在应用商店下载Linux子系统: 搜索Linux:

在这里插入图片描述

注意如果你的应用商店打不开,需要执行下面的操作:

  1. 打开“运行”输入 inetcpl.cpl (“WINDOWS”+“R”键,输入 inetcpl.cpl亦可)
  2. 点开高级往下拉,勾上"使用TLS 1.2"选项,或者点还原高级设置。

选择想要的版本:

在这里插入图片描述

这里我选择了 Ubuntu 下载安装。安装完毕之后,设置用户名和密码。不过这里需要设置用户的用户名和密码。设置完毕之后我们要设置 root 账户的密码。

5. 进入 Ubuntu 系统,更新 apt 镜像源

因为 Ubuntu 用的软件管理包的现在安装工具是 apt 软件,我们更新它的镜像源为国内的阿里云镜像,这样下载软件速度会飞起来!

备份/etc/apt/sources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list-backup

编辑替换为阿里源(Ubuntu)

sudo vim /etc/apt/sources.list
添加以下内容
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

更新软件

sudo apt update
sudo apt upgrade

6. 安装 openssh 服务,提供远程登录的功能

安装ssh

sudo apt install ssh

修改sshd配置

# 备份sshd配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config-bak
# 修改内容
Port 22 # 取消注释
ListenAddress 0.0.0.0 # 取消注释
#StrictModes yes #加注释
PasswordAuthentication yes # 允许密码登录

启动ssh

sudo service ssh start

如果提示sshd error: could not load host key,执行:

sudo rm /etc/ssh/ssh*key
sudo dpkg-reconfigure openssh-server

查看服务状态

sudo service ssh status
# * sshd is running 显示此内容则表示启动正常

不要忘了,配置防火墙开启端口才能被其他PC访问

打开 Win10 防火墙设置,(可以通过右下角有个向上的箭头点击盾牌快速进入面板)Windows Defender 安全中心,点击下方的高级设置

1

选择左侧入站规则 然后点击右侧 新建规则

2

选择 端口 -> tcp -> 特定端口 -> 填入刚刚设置的 Port 默认 22 -> 允许连接 -> 提交

连接的网络根据你本地的网络连接情况选择,搞不清楚就公用、专用全选好了,端口添加后即可正常访问了。

如果需要限制服务器的访问权限,如指定局域网或外网可连接的客户端IP,则看下面:

双击刚才添加的入站规则名称进行配置

选择作用域选项卡,填写允许或拒绝的IP即可

3

这样 SSH 服务就配置好了

参考资料:

7. win10 Linux 子系统开机启动启动 ssh 服务

上面配置了 ssh 服务,不过注意 win10 重启后,需要重新bash进入子系统手动启动 ssh 服务才可以使用。我们通过 win10 的开机自动启动服务执行脚本来让 Linux 子系统启动 ssh 服务。

1、关闭 sudo 输入密码的限制,更改 /etc/sudoers 文件内容,加入 %sudo ALL=NOPASSWD: /etc/init.d/ssh

sudo vim /etc/sudoers
# 添加内容
%sudo  ALL=NOPASSWD: /etc/init.d/ssh

2、在 windows 下创建 Ubuntu_ssh_start.vbs 脚本,放置在 C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 目录,以 ubuntu18.04 为例。如果你安装的是 ubuntu16.04,更改 vbs 脚本中的 ubuntu1804 为 ubuntu1604 即可,我这边装入的就是默认的 Ubuntu,所以直接执行 ubuntu 就可以。 脚本内容:

Set ws = WScript.CreateObject("WScript.Shell")
ws.run "ubuntu run sudo /etc/init.d/ssh restart", vbhide

参考资料

8. Win10系统下如何实现内网穿透

通常情况下,两台在不同局域网的电脑如果要进行传送数据,一般都需要先使用内网穿透才可以。

宽带为内网IP的用户即内网用户,以下范围内的IP地址属于内网保留地址,即不是公网IP,而是属于内网IP:

  10.0.0.0 - 10.255.255.255;

  100.64.0.0 - 100.127.255.255;

  172.16.0.0 - 172.31.255.255;

  192.168.0.0 - 192.168.255.255

例如某小区用户均被分配的内网IP,通过一个公共的网关访问外网,小区内每家用户的计算机均可连接外网,但是Internet上的其他用户却无法对内网的计算机发送连接请求,自然也就无法访问内网计算机所搭建的网站,也无法为内网计算机提供仅公网IP才能支持的下载、传输服务,例如BT下载、电驴等。

内网穿透即NAT穿透,通过端口映射将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,让互联网上的用户可以通过此公网IP地址访问特定的内网主机所提供的网站或者服务器。

这里我们用花生壳内网穿透工具。

内网穿透教程:花生壳DDNS端口映射

花生壳官网:https://hsk.oray.com/

1、下载花生壳客户端,并且注册用户。

2、在Windows10系统内安装花生壳,完成后登陆。

3、点击客户端内网映射,则跳转至花生壳管理的内网映射web页面,可以直接在网页中对域名进行添加映射,即使不在服务器现场,也可以远程管理。

1

2

3

我们记录下域名和准发服务器 IP,配置到我们需要远程登录的机器的 ssh 信息上,方便登录,这样就实现了远程登录

5、搞定端口映射之后,内网用户也能同公网用户一样随心所欲使用强大的互联网服务了。除了搭建网站之外,完成内网穿透的用户还可以轻松实现远程桌面的搭建和访问、远程监控摄像头、自己开服玩游戏、搭建各类办公系统等等。

参考资料

9. Windows10内置ubuntu子系统安装后中文环境设置

下载中文语言包

   sudo apt-get install language-pack-zh-han*

安装man手册

sudo apt-get install manpages
sudo apt-get install manpages-de
sudo apt-get install manpages-de-dev
sudo apt-get install manpages-dev

设置本地化环境变量:

echo "LANG=zh_CN.UTF-8" >> ~/.profile

如果想设置全局环境变量:

sudo echo "LANG=zh_CN.UTF-8" >> ~/etc/profile

参考资料:

遗留问题处理

关于方案一和方案二的问题,还需要查找相关资料或者请教高手来解决下。

待办事项

后续把 docker 安装下。

总结回顾

通过一周末的折腾,终于实现了旧电脑变废为宝,实现了 Linux 环境提供服务资源。

这里涉及到的知识有:

  • 硬盘分区 MBR 与 GPT
  • 主板 BIOS UEFI 模式启动
  • 大白菜超级 U 盘装机工具
  • 软通牒制作u盘启动
  • U盘安装 CentOS 5.5 镜像
  • U盘安装 CentOS 7 镜像
  • pe 系统安装 win10、win7 系统
  • Win10 操作系统的 Linux 子系统特性
  • Win10 系统防火墙端口开放
  • Ubuntu 安装 openssh 提供远程登录功能
  • Win10 重启自动执行 vb 脚本来启动 Linux 子系统的 ssh 服务
  • win10 系统下通过花生壳软件实现内网穿透,提供外网访问功能
  • Ubuntu 设置中文环境

题外话,时间去哪儿了?

周六本来想要看继续学习后端 java 的某个老师讲的实战课程写一写实战代码,因为将解的该内容出涉及到安装一些服务软件,突然想到我的 ESC 服务器内存快不够用了,于是就是把旧电脑利用起来,提供一个 Linux 环境供我学习使用。结果这么一操作,加上写这边博客的时间,一个周末时间就没了...原本想要做的事情没有做....

做一件的事情的时候还是应该以主线为主,支线为辅。比如本周末,计划的主线是写代码,支线是装系统,结果本末倒置,装系统花了巨大的时间,代码却没有写几行。

不过通过各种方案装 Linux 环境、加写博客总结,感觉收货是满满的,也很有成就感!

标签:变废为宝,CentOS,sudo,旧电脑,ssh,发行版,Linux,安装
来源: https://www.cnblogs.com/gasonner/p/13197296.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有