yanhy的学习记录匣 - 官方 探索知识的宝箱,记录成长的脚步。欢迎来访Yanhy的博客站,在这里,每一页都是对知识无尽好奇的见证,每个故事都是学习旅程中的珍贵篇章,一起激发灵感,分享进步 2024-10-30T16:38:00+08:00 Typecho https://yanhy.top/index.php/feed/atom/search/官方/ <![CDATA[[联想MiiX2-11]旧WIN平板折腾记-初步了解]]> https://yanhy.top/index.php/archives/416/ 2024-10-30T16:38:00+08:00 2024-10-30T16:38:00+08:00 yanhy2000 https://yanhy.top 去年同事送了我一个平板,联想MiiX2-11触控平板笔记本。当初玩了一下,性能很低,出厂默认win8.1。由于屏幕边角老化和电池鼓包,当平板可玩性也不大就一直在吃灰。前段时间收拾东西再次发现这玩意,查了一下配置还行,试试看能不能做个小服务器~

机型图片

图片来自网络

配置

图吧工具箱配置信息

介绍

发售于2014年,机身11.6寸屏幕,带有配套键盘;机身上有一个USB接口,可传数据或者充电(没错这玩意充电接口是usb)。通过接上键盘后可以拓展两个usb,键盘左右侧各一个usb2.0接口,不能充电。
续航这一块暂且不看,电池已经鼓包,后续要拆卸下来的。屏幕后续也不需要了,计划用上面的MicroHDMI接口进行调试,其余使用远程控制。
机身有扬声器麦克风,和前后摄像头。不过也就是能用的程度。板载网卡仅支持2.4Ghz频段。
我这台是i5的配置,市面上也有四代i3的配置。i5这款理论主频1.6Ghz,最高2.0Ghz。核显为Intel HD 4200,显存128MB,理论可以看H264解码4k视频,不支持h265等新编解码技术。
内存为ddr3 4GB,不可拆卸。硬盘内置128GB SATA,据社区分享是MSATA,或许可以自行更换扩容。

来自百度:
1、支持windows 8.1操作系统,办公娱乐无障碍;2、超强的双核
3、全高清ISP屏;4、WIFI网络无极限,更有3G版本
5、超长8小时待机;6、轻薄的机身
7、多功能键盘底座;8、拥有前后设想图
9、Intel Hasewell 双核处理器

系统与驱动

我这台已经刷入了tiny10,系统镜像链接:https://archive.org/details/tiny-10_202301
刷入后仍需打一堆驱动,所幸官方驱动入口还没有关闭,官网服务入口:https://newsupport.lenovo.com.cn/products_index.html?fromsource=products_index&selname=IdeaPad%20MIIX2-11

以防万一官网下架,导致老设备没得折腾,备份了一手(仅备份了官方win10的驱动)
主:https://www.123865.com/s/Dpq0Vv-8ueHd?提取码:Lj2E
备:https://www.123684.com/s/Dpq0Vv-8ueHd?提取码:Lj2E

折腾方向

1、挂机宝 功耗仅10w左右的挂机宝,办公性能还可以
2、win服务器 系统支持虚拟化,可以用wsl、docker等挂一些简单的服务
3、linux服务器 实测刷入ubuntu后,wifi等外设可以免驱驱动,但亮度、电池等仍无法识别,不过也方便折腾了
4、小型nas 虽然只有一个硬盘位,但可以作为一个小型文件站,低功耗也挺不错的

本文先到这里,简单介绍了这个板子。后续会有更多折腾,比如解除BIOS高级菜单等。这块板子社区普遍反应温度高了降频严重,因此计划拆出来主板,设计个简单外壳并加上风扇,尝试让其稳定运行服务。

]]>
<![CDATA[移动、天翼云电脑使用DD重装系统]]> https://yanhy.top/index.php/archives/398/ 2024-07-30T12:30:00+08:00 2024-07-30T12:30:00+08:00 yanhy2000 https://yanhy.top 前段时间入手了移动云电脑,结果被意外收回了... 后面发现还是有云电脑需求,干脆入了天翼云电脑试试看。官方系统内容挺多,且有不少后门,干脆自行DD重装一下,顺便做个记录。

DD重装本质上是利用Linux的指令来进行硬盘擦写填充文件。

菜鸟编程:Linux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

本文使用Github开源项目 reinstall ,并将云电脑系统重装为Windows 10 LTSC 2021

一键重装脚本 English 项目介绍
- 支持安装 16 种常见 Linux 发行版
- 支持用官方原版 iso 安装 Windows,并且脚本会自动查找 iso 和驱动
- 支持任意方向重装,也就是支持 Linux to Linux、Linux to Win、Win to Win、Win to Linux
- 专门适配低配小鸡,解决内存过少导致无法进行网络安装
- 自动判断动静态 IPv4 / IPv6,无需填写 IP / 掩码 / 网关
- 支持 ARM,支持 BIOS、EFI 引导,原系统支持 LVM、BTRFS
- 不含第三方自制包,所有资源均实时从源站点获得
- 有很多注释

前期准备

  • 云电脑准备数据盘1GB以上(重装后系统盘会被全盘擦除,分区也会被清除,需数据盘保留一些软件)
  • 下载软件Todesk_lite到数据盘(用于在云电脑重装后因没有驱动无法控制,只能提供第三方远程软件控制)
  • Github加速器(任意且可选,部分云电脑访问Github艰难,可以备好)

移动云电脑切记需要下载好远程软件在数据盘,并保证软件打开就可以使用,否则在无鼠标驱动下安装远程控制软件相当困难

天翼云电脑实测无需远程,重装系统后仍然可以在官方客户端键鼠操控,也无需强制数据盘

DD重装系统

关闭Windows Defender 保护

打开设置 - 更新与安全 - Windows安全中心,点击左侧病毒与威胁防护,将选项全部关闭。
如使用天翼云电脑,系统可能预装火绒等杀毒软件,直接退出杀毒软件即可。

以管理员身份运行Powershell

使用快捷键Win+X,选择 Windows Powershell(管理员)打开即可

Windows Powershell(管理员)

下载脚本

复制以下脚本,并粘贴到Powershell终端内(右键终端界面即可粘贴)

certutil -urlcache -f -split https://github.299993.xyz/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat
注:这里的脚本使用了Github加速源。如以后该加速源关闭,将无法正常执行脚本,可使用Github原链接,可能需要加速器。
备用链接
国内加速源
certutil -urlcache -f -split https://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.bat

国外(Github原链接)
certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

执行完成
脚本下载完成

执行脚本

复制以下脚本,并粘贴到Powershell终端内(右键终端界面即可粘贴)
这里要安装的为Windows 10 LTSC 2021系统,稳定且性能占用较低。如有其他系统需求,可以在https://drive.massgrave.dev/网站查找所需镜像。

./reinstall.bat windows --iso='https://drive.massgrave.dev/zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso' --image-name='Windows 10 Enterprise LTSC 2021'

期间会出现软件安装的窗口,无需理会,等待其自动安装和配置。
当最后几行出现下面内容时则为初期准备完成,可以重启安装

***** INFO *****
windows
Username: administrator
Password: 123@@@
Reboot to start the installation.
You can run this command to reboot:
shutdown /r /t 0
PS C:\Users\Administrator>

脚本执行完成截图

重启云电脑自动重装

在Powershell内输入以下指令,重启系统进入Linux子系统,开始自动DD重装。

shutdown /r /t 0

系统重启后,无需任何操作,一直等待或者关闭云电脑客户端放后台慢慢装即可。花费时间取决于网速和硬盘读写速度,如云电脑为机械硬盘可能会慢一些。
由于我这个天翼云电脑带宽只有50M,因此下载速度特别慢,前前后后需要30到50分钟左右。

全程为脚本自动操作,请勿手动介入,可能会打断脚本。一直等待到系统开机输入密码阶段才算安装完成。

下载镜像中

注:天翼云电脑在重装后还是原系统卸载系统软件,都不影响在官方客户端的控制使用(截至2024/7/30是可行的)。但偶尔会出现弹窗显示异常提醒建议重启,点以后再说即可。

天翼云电脑 忽略弹窗即可

在Linux系统部署完成后,自动重启到Windows安装中。全程无需手动操作,也不要去介入操作,会打断进程。

系统自动安装中

新系统开机

安装完成后自动开机,默认开机密码:123@@@

锁屏界面

移动云电脑需要开机后用键盘打开远程软件,进行远程连接后才能控制。
使用快捷键 Win+E 打开此电脑,方向键选择D盘,并选择Todesk_lite.exe,回车键打开软件进行远程连接。

天翼云电脑可直接用官方客户端控制。

进入系统

天翼云电脑可在修改分辨率手动全盘。重装后无法进行自适应分辨率、硬盘映射等等功能,有需要可使用原系统。
刚安装好的系统分辨率不对,可以手动在桌面-右键-显示设置,手动调整分辨率为1920x1080即可。

系统激活

激活推荐使用HEU-KMS,可参考我前面的文章 安利个Windows激活工具 HEU-KMS

文件传输

最便捷的文件传输方式可使用第三方远程控制软件,进行文件传输;也可以提供各种网盘进行传输。官方客户端文件传输能力失效。

天翼云电脑修复

仔细研究了一下ecloud的驱动相关,按自己需求整理出了适用于官方客户端的驱动优化
修复以下问题:

  • 新系统后双重鼠标指针
  • 调整官方客户端窗口时自适应分辨率
  • 从云电脑内拉拽文件到外面以及相反拉拽文件
  • 剪贴板同步
  • 音频驱动
  • 客户端画质调整

驱动下载

需下载以下链接内三个文件(经fiddler抓包后未发现上报连接,但不排除定时上报。程序已精简过,去除其他服务如远程录屏、打印等服务)

https://yanhy.lanzouj.com/b033zndfuj
密码:5k43

驱动安装

clink天翼云电脑守护程序

先创建好文件夹,在C:\Program Files (x86)\ctyun\clink(也不一定要指定位置,这是原系统安装路径,为确保不出错还是推荐本路径)
解压后,将64文件夹放到clink目录内,如下图

文件夹路径

打开64文件夹,右键点击以管理员身份运行来打开clink_agent.exe和clink_cb_helper.exe。运行后没任何反应,但可以通过任务管理器看到已经在运行了。注:如不使用管理员身份运行,则在一些系统中可能因为没权限导致无法使用部分功能。

驱动软件运行

经多次测试,核心服务程序为必须运行项,否则其他程序无法正常工作,;服务程序则为跟着客户端窗口调整分辨率、剪贴板同步、文件拖拽传输等功能。

音频驱动ecloud_AudioDriver_FullSetup

音频驱动直接双击安装即可

驱动安装界面

drivers天翼云电脑显示驱动

随意解压一个位置,打开文件夹后,选择 qxldod.inf 文件,右键-安装。安装后没有弹窗,但如果第一次安装屏幕会闪烁并修改分辨率为很低的一个状态。

如果前面有安装了守护程序,只需要缩放一下官方客户端窗口,即可自动调整云电脑分辨率大小。

如果不使用守护程序,只安装驱动,可以手动在桌面-右键-显示设置,手动调整“显示器1”的分辨率为1920x1080即可,可以修复双重鼠标指针。(单独安装除了修复双重鼠标指针好像意义不大,经过测试这个驱动貌似就是配合守护程序调整分辨率使用)

结束

当云电脑DD重装后,会失去一些便利的特性,但是同时也有一些好处。使用全新系统,省去官方定制系统臃肿的性能占用和一堆无用的软件,删除官方监控后门,甚至部分云电脑可以重装后直接变成不休眠(天翼云还是会休眠),能更好的由自己控制。

本文部分内容摘抄自该博主(https://kui.li/989.html),如有版权问题请留言,会及时处理

补充:移动云电脑家庭版操作较麻烦,可以参考这篇文章获得更多移动云电脑相关内容:https://www.yuque.com/scynull/cloud/ikxva5t32sii3lrn

本文到此结束,如有更多感兴趣的话题可以关注本博客,不定期更新~

]]>
<![CDATA[树莓派镜像烧录器Raspberry Pi Imager新版本试用]]> https://yanhy.top/index.php/archives/213/ 2022-04-14T21:51:00+08:00 2022-04-14T21:51:00+08:00 yanhy2000 https://yanhy.top

好久一段时间没折腾树莓派了,上次为了尝试在树莓派刷入安卓系统再次打开了树莓派官方烧录软件,没想到这次更新的内容还不少...

树莓派镜像烧录器截图

1.png

1.7.2版本下载链接:https://yanhy.lanzouu.com/ik7Cv0368zle

新增内容

(相较于博客内第一篇文章)

  • 自带中文汉化
  • 新增64位raspbian下载通道

    • 入口:选择操作系统 -> raspbian OS(other) -> raspbian OS(64bit)
  • 选择镜像与sd卡后出现左下角设置按钮,支持修改主机名、用户名及密码、wifi连接等预设置

使用过程

本次刷入的是64位官方raspbian系统

步骤一:选择操作系统

打开镜像烧录器,选择操作系统 -> raspbian OS(other) -> raspbian OS(64bit),也可根据自行需求更换系统

2.png

步骤二:选择SD卡

如果sd卡之前有内容或者刷过其他镜像,可以先清空SD卡,步骤如下:

选择操作系统 -> 擦除 ,再选择目标SD卡,点击 烧录 按钮即可

3.png

然后重新根据步骤一选择目标操作系统,并选择要烧录的SD卡即可

步骤三:设置镜像初始化

此功能为新版本烧录器特有内容,选择镜像与sd卡后,会在左下角显示设置图标

4.png

5.png

点击设置图标后,会打开一个弹窗(每次加载镜像均为镜像的默认设置),在弹窗内可进行相关初始化设置,以下打钩的为本文推荐修改的配置内容:

  • (√)镜像自定义选项:仅限本次
  • ( )设置主机名(保持默认,也可以个性化修改,无影响使用)
  • (√)开启SSH服务

    • (√)使用密码登陆(推荐)
    • ( )使用公钥登陆(在常用设备登陆更方便,更换设备或初次配置较为麻烦)
  • (√)设置用户名与密码(仅选择密码登陆有效,以下请自行修改)

    • 用户名:pi
    • 密码:123456
  • (√)配置WIFI(尽可能用2.4GHZ的wifi,5GHZwifi不一定支持,默认自动填充电脑连接的wifi)

    • 热点名:rasp
    • ( )hidden ssid(此处根据实际情况,此处我的wifi为隐藏网络,所以勾选隐藏的热点)
    • 密码:12345678
    • 显示密码
    • WIFI国家:GB(默认即可)
  • (√)语言设置(会自动填充电脑内设置,但选项内没有设置语言选项,可能需要进系统后修改)

    • 时区:Asia/shanghai
    • 键盘布局:US
  • 永久设置(个性化选项,可自行修改)

    • 完成后播放提示音
    • 完成后弹出磁盘
    • 启用遥测

步骤四:开始下载并烧录

确认上述步骤设置等配置完成后,点击烧录,等待其下载完成并烧录结束即可(该烧录器会一遍下载一边烧录,速度有所提升)

6.png

7.png

启动系统

将烧录好的sd卡插入到树莓派,确保刚刚设置的热点网络已开启,上电自动开机。

本文使用有线网络连接树莓派,并使用USB视频采集卡将树莓派HDMI接口连接至电脑,使用OBS查看树莓派图形输出

8.png

9.png

此时系统已经启动完毕,用户名也已经改成了之前预设值的用户

10.png

结束

本次官方烧录器可能考虑到更多用户的需求以及更低的使用门槛,对烧录器添加更方便的设置选项,总体来说对用户体验优化挺好的。

]]>
<![CDATA[Linux轻量云服务器云硬盘搭建网盘(上)]]> https://yanhy.top/index.php/archives/191/ 2022-03-29T06:44:00+08:00 2022-03-29T06:44:00+08:00 yanhy2000 https://yanhy.top

腾讯云今年春节活动优惠力度较大,在这期间我也采购了一台服务器与俩数据盘,准备作为网盘...

资源:

  • 轻量云服务器2c4g 6M带宽
  • 云盘程序-cloudreve
  • 云硬盘100G+1000G

云服务器挂载硬盘

前往轻量服务器云硬盘后台挂载硬盘至目标服务器上

12222.png

云硬盘初始化

挂载成功后,通过ssh连接至服务器,输入fdisk -l可查看到新挂载的硬盘容量大小及硬盘id(此处主硬盘为vda,新挂载的硬盘为vdb、vdc)

1333333.png

由于该云硬盘在之前挂载过windows server系统的服务器,使用指令fdisk -l得知已经被win分区处理过。因云硬盘上没有重要信息需要转移,所以这里准备直接进行重新初始化操作...

如果硬盘为新购挂载的可以直接查看“云硬盘初次使用初始化”...

win转linux云硬盘二次初始化

执行以下指令,进入 fdisk 分区工具,开始对新增数据盘执行分区操作。以新挂载的数据盘 /dev/vdb 为例,则执行以下命令:

sudo fdisk /dev/vdb

14444.png

从前面得知,这块硬盘已经被win分区过了,所以先删除全部分区,再重新格式化以挂载给linux使用

输入指令 d 来删除分区,分别删除1、2号分区

1555555.png

删除分区后,再重新建立个新的分区并格式化为ext4

输入指令 n 来新建分区,有时会提醒要选择分区类型,一般可输入 p 来创建个主要分区(p 表示主要分区,e 表示扩展分区)

之后要选择的主分区编号、初始扇区、截止扇区可直接回车默认即可。

操作结束后,输入指令 p 即可看到新建的分区。确认无误后,输入指令 w 将分区结果写入分区表中。

如果上述操作有失误之处,直接输入 q 可不保存退出

16666.png

退出分区软件后,输入指令将分区表同步到系统:

partprobe

如果此指令提示找不到命令,需要安装软件包parted来解决:apt install parted

执行以下命令,将新建分区文件系统设置为系统所需格式:

sudo mkfs -t <文件系统格式> /dev/vdb1

不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为例,则执行以下命令:(格式化需要一段时间,请稍等一会)

sudo mkfs -t ext4 /dev/vdb1

1666666.png

再输入 fdisk -l 可看出,该硬盘文件系统已经变成“Linux filesystem”

再如法炮制,将第二块硬盘也初始化一番...

177777.png

此时云硬盘已经初始化结束,接下来就可以挂载使用了。

云硬盘初次使用初始化

执行以下命令,查看磁盘名称:

sudo fdisk -l

第一步挂载成功后可以在列表中看到服务器有两块磁盘,/dev/vda 为系统盘,/dev/vdb 为新挂载数据盘(多块硬盘将以vdc、vdd依次排序)

执行以下命令,将新建分区文件系统设置为系统所需格式:

sudo mkfs -t <文件系统格式> /dev/vdb1

不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为例,则执行以下命令:(格式化需要一段时间,请稍等一会)

sudo mkfs -t ext4 /dev/vdb1

再输入 fdisk -l 可看出,该硬盘文件系统已经变成“Linux filesystem”,可以被挂载至系统文件夹使用了。

云硬盘挂载

本文将会把硬盘挂载至/mnt文件夹内(大部分系统、设备也是如此),之后可以通过访问该文件夹来使用云硬盘

新建文件夹用于挂载不同的一批:(文件夹名可自定义)

mkdir /mnt/data1
mkdir /mnt/data2

执行以下命令,将设备挂载至新建的挂载点。执行以下命令:

sudo mount /dev/vdb1 /mnt/data1
sudo mount /dev/vdc1 /mnt/data2

执行以下命令,查看挂载结果。

sudo df -h

188888.png

因为是为了网盘服务,所以要保证服务器启动时硬盘也可以同时被加载,接下来设置硬盘开机自动挂载...

本文使用的是腾讯云购买的云硬盘,可以直接使用云硬盘的软链接。官方文档:

挂载方式优缺点信息获取方式
使用云硬盘的软链接(推荐)优点:每个云硬盘的软链接固定且唯一,不会随卸载挂载、格式化分区等操作而改变。缺点:只有云硬盘才有软链接。无法感知分区的格式化操作。执行以下命令,查看云硬盘的软链接。sudo ls -l /dev/disk/by-id
使用文件系统的 UUID可能会因文件系统的 UUID 变化而导致自动挂载设置失效。例如,重新格式化文件系统后,文件系统的 UUID 将会发生变化。执行以下命令,查看文件系统的 UUID。sudo blkid /dev/vdb
使用设备名称可能会因设备名称变化而导致自动挂载设置失效。执行以下命令,查看设备名称。sudo fdisk -l

执行以下命令,备份 /etc/fstab 文件。以备份到 /home 目录下为例:

sudo cp -r /etc/fstab /home

执行以下命令,使用 VI 编辑器打开 /etc/fstab 文件。

sudo vi /etc/fstab

按 i 进入编辑模式。
将光标移至文件末尾,按 Enter,添加如下内容。

<设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>
  • (推荐)以使用云硬盘的软链接自动挂载为例,结合前文示例则添加:
/dev/disk/by-id/virtio-disk-xxxxx /data ext4 defaults 0 0
  • 若您需挂载分区,则结合前文示例则添加:
/dev/disk/by-id/virtio-disk-xxxxx-part1 /data/newpart ext4 defaults 0 2
  • 以使用磁盘分区的 UUID 自动挂载为例,结合前文示例则添加:
UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data ext4 defaults 0 0
  • 若您需挂载分区,则结合前文示例则添加:
UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data/newpart ext4 defaults 0 2
  • 以使用设备名称自动挂载为例,结合前文示例则添加:
/dev/vdb /data ext4 defaults 0 0
  • 若您需挂载分区,则结合前文示例则添加:
/dev/vdb1 /data/newpart /data/newpart ext4 defaults 0 2
  • 按 Esc,输入 :wq 并按 Enter 保存设置并退出编辑器。
    执行以下命令,检查 /etc/fstab 文件是否写入成功。
sudo mount -a 

如果运行通过则说明文件写入成功,新建的文件系统会在操作系统启动时自动挂载。

输入 reboot手动重启后再输入 df -h`,可以看到硬盘已经自动挂载成功了

2222211.png

本章节(上)部分内容结束,感谢阅读~

]]>
<![CDATA[在树莓派Linux多方式安装Java]]> https://yanhy.top/index.php/archives/66/ 2022-03-29T06:34:00+08:00 2022-03-29T06:34:00+08:00 yanhy2000 https://yanhy.top

(已更新Zsh无法使用环境变量问题)

一:使用apt自动化安装jdk

一般如果需要运行java程序时,需要一个简单、稳定的jdk或者jre环境,如下操作即可快速搭建java环境...

使用指令 sudo apt search jdk 即可搜索软件源中的jdk各类版本,找到需要的版本并复制下包名,使用 sudo apt install 包名 即可安装,如图:

08970-os7hivfel8f.png

通常情况下安装这个版本即可,使用指令 sudo apt install openjdk-11-jdk
26914-oud8vb3ztd.png

二:手动下载安装自己所需jdk版本

如果所需的应用需要特定java环境或者想安装更新版本,可以去手动下载安装包,然后上传并解压等...

下载JDK

java常见下载站:

以AdoptOpenJDK为例,我们本篇文章是为树莓派安装jdk环境,因此选择的“其他平台”

本文推荐选择OpenJDK 11 ,此版本为长期支持版,较稳定,且此版本可以通过上面方法一快速安装。本文演示了OpenJDK 15版本的手动安装

依次选择 OpenJDK 15 —— HotSpot,在下面Operating System出选择Linux,Architecture处选择系统版本
如果是树莓派官方系统,应选择arm32,除非你的树莓派是安装了64位系统版本

09556-tiitxuhl51r.png

在下面筛选出的版本中选择JDK版本下载(如果没有编译等生产需求,可以下载JRE版本,文件体积较小)

55141-nkoerhtmlos.png


配置JDK

下载完后将压缩包上传至树莓派内,并解压,指令为 tar -zxvf 压缩包名

66816-ekjbxw8gywd.png

使用指令 mv ./jdk-15.0.2+7 /usr/java 将解压出的文件夹放在 /usr/java 文件夹,或者也可以放到 /etc/java 等其他地方,记下路径,可以输入 pwd 查看当前路径,选中后右键即可复制
59399-efuj3cic6gw.png

配置环境变量:

sudo nano /etc/profile

在文件末尾添加上以下内容:

export JAVA_HOME=/usr/java/jdk-15.0.2+7
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

其中,第一行的路径应该改成java存放的位置,如上述中我将解压出来的 jdk-15.0.2+7 文件夹放到了 /usr/java/ ,因此第一行填入当前的路径
15474-y0avhlpu0md.png

修改完毕后按 Ctrl+O 保存,按 Ctrl+X 退出编辑
输入 source /etc/profile 刷新环境变量(无需重启)
输入 java -version 查看版本信息,如果出现版本信息即为安装成功
49859-ann0n9ewz1.png


新增zsh解决

如果安装了zsh,在zsh下使用java指令会显示

zsh: command not found: java

此时可以将/etc/profile添加的内容复制到用户目录下的.zshrc文件内,然后再输入

source .zshrc

如图:

1111111.png

本文到此结束,感谢支持!

]]>
<![CDATA[WinServer系统的shell体验与RDP的启用]]> https://yanhy.top/index.php/archives/159/ 2021-12-19T00:03:00+08:00 2021-12-19T00:03:00+08:00 yanhy2000 https://yanhy.top

平时用的win服务器一般都是使用winserver2016、2019等,它们都有个共同特点:桌面图形化操作。好处显而易见,操作上手非常容易。但是弊端也是有的,相对linux来说,win的桌面等服务占用了太多性能资源,今天就来尝试一下“终端”版WinServer2016...1121.png


安装系统

先下载WinServer的系统镜像或者准备一个镜像u盘、光盘以安装到物理机上
推荐镜像下载链接:https://msdn.itellyou.cn/

载入WinServer系统安装光盘,此处使用server2019版本

2222222.png

产品密钥可稍后再填写,选择“我没有产品密钥”,或者直接网上搜索一个填入(如果无法复制,推荐暂时不填写)

Windows Server 2019 Datacenter Retail:
[Key]:RC4VN-4GQBW-WYPTV-3BD66-FVXR6

第三步选择系统版本,此处选择数据中心不带桌面版(标准版也一样)

03333333333.png

第四步选择同意条款即可

第五步选择自定义安装,然后选择默认盘安装即可

144444444444444.png

点击下一步后即可开始安装系统

555555555555555.png

此版本系统因为比较轻量,因此安装很快,等待结束重启即可(重启后因安装所需可能还会重启一两次是正常情况)

6666666666.png

正常启动后,会显示出这样的界面,与正常windows安装一致,都需要设置新密码(且新装的WinServer默认不会打开RDP远程服务,后面会将如何开启)

777777777.png

使用键盘选择确定,输入新密码并确认密码(注意切换中英文,默认中文输入法)

888.png

之后会进行短暂的用户设置,然后...就进入了主界面————windows的cmd窗口

99.png

(如果不慎把窗口关闭了,测试了一下win+r之类的快捷键并不能调出来,因此我选择最快的重启大法)

10000.png

此时,可以输入cmd所支持各种指令,如tree指令,可以列举出目录全部文件

111.png

或者使用taskmgr指令打开任务管理器(突然就图形化了起来)

222.png

虽然说是有一部分图形化的内容,但是因为少了如explorer资源管理器之类的窗口,使得整体系统占用减少了很多,我分配的2g内存虚拟机待机仅占用500MB左右。(正常版本WinServer在MemReduce等软件配合下也可以清理很多内存,但是原系统待机占用却将近1GB)

以上部分为安装、使用WinServer系统无桌面版本的基本内容。


开启远程

在每个WinServer系统新装的情况下都是默认不开启远程选项的,因此如果不是装服务商默认的镜像,还需要用户手动去服务器后台连接VNC手动打开远程连接

在一般的WinServer桌面体验版系统中,开启远程管理服务只需三步:

此电脑右键属性-高级系统设置-远程标签页勾选允许连远程连接到此计算机

在WinServer2016或者更低版本还出现过因网络级用户身份验证无法从本地远程连接的情况,需要将仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议)(N)取消勾选即可

在很多情况下还需要手动开启防火墙端口,可以在上面三步做完后进行以下操作:
打开开始菜单-找到Windows管理工具-高级安全Windows Defender防火墙,打开后选左上角的入站规则,然后点击右侧的新建规则...,依次选择 端口-TCP-特定本地端口:3389-允许连接-全选(域、专业...)-名称:RDP远程-完成

此时便可以在本地输入服务器ip进行远程连接管理。

本文演示的WinServer系统无桌面版本开启RDP远程也是同理,只不过没有了可视化的界面,需要手动输入指令来修改。如果VNC等控制台无法复制粘贴指令,可以手动输入部分指令然后按Tab键,cmd会自动填充大量指令(单引号内的内容也可以按Tab键填充,双引号内需要手动输入)

指令如下:(空格代表分行,每条指令都要完整输入)

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\' -name 'fDenyTSconnections' -Value 0

New-NetFirewallRule -DisplayName "rdp" -Direction Inbound -LocalPort 3389 -Protocol tcp -Action Allow

New-NetFirewallRule -DisplayName "rdp" -Direction Inbound -LocalPort 3389 -Protocol udp -Action Allow

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\' -name "UserAuthentication" -Value 0

指令解释:

  • 1、修改注册表'Terminal Server'中,将'fDenyTSconnections'的值改为0。根据微软官方文档的该部分介绍,当'fDenyTSconnections'值为false1时为 “指定拒绝远程桌面连接。 这是默认值。”,因此将其改为true0,相对于手动在‘高级系统设置’内勾选允许远程桌面连接
  • 2、添加防火墙规则:规则名字为'rdp',规则方向为‘入站规则’,指定本地端口为‘3389’,类型为‘tcp’,活动设置为‘允许’
  • 3、添加防火墙规则:规则名字为'rdp',规则方向为‘入站规则’,指定本地端口为‘3389’,类型为‘udp’,活动设置为‘允许’(远程桌面rdp主要依赖tcp传送,但是如果开了udp,会显示传输质量更好)
  • 4、修改注册表,将‘网络级用户身份验证’,相对于手动在‘高级系统设置’取消勾选仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议)(N)(一般在WinServer2016及更低版本会出现勾选后无法连接的情况,取消勾选后即可正常连接)

正常连接后如下图

55.png


结束

到此,WinServer无桌面版基本配置完成
低占用的系统、win的运行环境可以给很多占用较大且无需频繁操作的应用程序提供了很大的好处,正如很多仅依赖cmd即可运行的程序。
虽然说是无桌面版本,但基本的图形操作界面还是有的,同时也可以安装其他软件,虽然处理文件等是略不方便,但是比起长期占用的性能来说,能让自己所需的应用得到更好的运行才是作为一个服务器应该有的,毕竟服务器不是个人电脑,操作体验并不是服务器应有的追求。

]]>
<![CDATA[Termux——安卓终端快速入门]]> https://yanhy.top/index.php/archives/98/ 2021-09-13T19:59:00+08:00 2021-09-13T19:59:00+08:00 yanhy2000 https://yanhy.top

为了学习linux,很多时候都是选择装个虚拟机,或者买个服务器来练习linux操作。除了使用wsl或者虚拟机之外,还有一个更便携的linux终端,那便是安卓上的Termux...

95556-ijn6vp91y9f.png


软件介绍

Termux这个软件,可以说是安卓上的linux虚拟机,又不完全是个虚拟机。据官方文档介绍:

Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager.”
“Termux 是一个Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接运行。自动安装最小的基本系统 - 使用 APT 包管理器可以使用其他包。”

在安卓系统本身环境下,Termux得到了很好的运行优势,无需额外虚拟化操作即可使用linux操作界面。
在使用过程中,只需要像Debian系一样操作即可,你可以使用pkg安装软件包,也可以更换为apt软件包管理器等等。它可以运行很多Arm及Arm64的项目,比如nodejs、python、java等等。
Termux可以用来运行脚本、编译小型项目、学习linux系统操作而不会轻易影响主系统等。


准备工具

  • 一部安卓手机(性能、配置不限,储存大于4g,有root权限最好)
  • Google Play应用商店
  • 科学上网工具


开始安装

下载termux

首先启用科学上网环境,打开Google Play应用商店搜索Termux(该版本较低,可以去F-Droid或者gothub下载),下载安装,安装后打开(期间保持科学网络环境)
也可以去github下载:https://github.com/termux/termux-app/actions/
找到最新构建的版本,选择对应版本下载

打开后会加载几秒钟,随后会进入初始界面(如下图),此时可以关闭科学上网环境

28934-bjwrxl8f6c5.png

使用前非常重要的一步:给Termux换源,并更新软件包。步骤如下:

  • 在较新版本中,官方提供了图形化界面换源方式,可以快速更换,缺点是源站固定无法修改,日常足够使用
    图形化换源界面如图所示

19495-ig76bq3uk6c.png

在Termux中输入指令 termux-change-repo 并回车,将会进入需要更换的。库列表
一般换源只需要更换主仓库(Main repository)即可,空格可以选择取消选择要更换的仓库,默认主仓库是被选择状态
选择后直接回车,进入选择镜像源列表。使用“↓”移动并用空格选择到BFSU源,然后回车即可更换并触发update。这个是国内的北京外国语大学开源软件镜像站,在软件更新、安装时速度会快上不少。
在运行update时可能会报错,因为部分软件包可能未收录原因,但也可以正常使用。如果有特殊需要或者强迫症等,可以参考下面的手动换源到其他源。

  • 也可以手动修改文件来替换源站
推荐清华源(复制执行):
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list

清华源手动修改文件:
执行 apt edit-sources
将文件内第二行deb及后面文件删除
粘贴 deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main

中科大源:
sed -i 's@packages.termux.org@mirrors.ustc.edu.cn/termux@' $PREFIX/etc/apt/sources.list

手动更换源后可以输入 pkg up 或者 apt update && apt upgrade来更新软件包,有时候会提示是否安装更新(y/n),推荐选择默认选项,如下图默认选项为N,如果有需要的话可以自行决定。更新过程较长且耗费较多流量,建议wifi下更新

85912-m8ovvan2jun.png


常用软件安装

到了这一步,Termux本身已经配置完成了,你可以在termux上练习使用linux操作,也可以在上面安装相关环境来部署一些小项目。

如果手机有root,可以执行sudo权限,需要先安装sudo包:pkg install tsu

脚本编程环境软件包:nodejs、python,推荐使用独立配置环境方法,当然如果没有特殊需求也可以直接使用apt install python或者apt install node,执行后输入y即可安装。经测试,从apt安装的版本中,nodejs版本为14.15.4;python版本为3.9.7

也可以在终端里面安装java环境,可以参考我之前博客写的树莓派安装java教程,同为arm架构,安装过程大同小异。

如果喜欢折腾,甚至可以在termux安装xfce4桌面,然后通过配置vnc来远程连接termux的可视化桌面

当然,也可以在termux配置静态博客hexo,一方面可以当做本地服务器,浏览器访问127.0.0.1即可访问自己的网站;另一方面,也可以在本地折腾好后打包到服务器。

termux可以直接ssh连接到安装linux系统的服务器。连接方式:ssh root@10.111.111.111 其中,root@表示使用root用户连接到服务器。


优化termux使用

termux我个人认为并非是独立的虚拟机,还是基于安卓系统操作。因此如果需要termux与系统进行文件交互,并非是难事,创建个软连接即可。(有root权限的用户还可以直接去根目录找termux内系统的/目录)

首先开启termux访问手机存储的权限termux-setup-storage,然后手机会弹窗是否授权termux访问储存权限,点击确认
软链接相对于文件夹的快捷方式,创建在termux的home目录,便于访问,同时也可以用文件管理器去修改文件夹内容。先用文件管理器在储存主目录创建文件夹为share(可自行修改),然后打开终端,输入ln -s /storage/emulated/0/share share即可在home目录创建share文件夹,指向主目录的share文件夹。
同时,授权了储存访问权限后会在home目录生成 storage 文件夹,可以通过这个文件夹访问到几个基本文件夹,如download等

67603-mnxknrrv8vb.png

在termux启动时会显示welcome to Termux! 欢迎信息,可以手动编辑nano $PREFIX/etc/motd来修改启动信息

可以使用Termux-ohmyzsh来美化终端,安装sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)" 由于github访问速度不定,可能下载较慢
第一次打开脚本时会列出可调整的颜色、字体,可以随意选择一个,后续要更改颜色与字体,可以输入~/.termux/colors.sh修改颜色或者~/.termux/fonts.sh修改字体
41862-a7wn858fanv.png

其他美化脚本推荐:bash <(curl -L gitee.com/mo2/linux/raw/2/2)


示例演示 - 部署本地hexo静态博客

hexo静态博客特点是无需数据库,只需要在本地使用markdown编写文章后使用hexo框架配合精美的模板即可生成美观的博客页面,适合部署到github等代码托管站。如果有需要,我后续将会出个专门博客的教程。例如下图中,我同学搭建的个人博客站
16589-a51ql1u8737.png

30612-d45qidov5kl.png

工具:nodejs软件包、hexo本体、git软件包

安装:

apt install nodejs
apt install git
npm install hexo-cli -g
npm install hexo-deployer-git --save
apt install openssh

接下来初始化hexo:

hexo init blog
cd blog
hexo g
hexo s

当输入完hexo s后,显示如下图,即可证明hexo框架启动成功,此时可以去打开手机浏览器,输入localhost:4000即可访问自己搭建的第一个网站——hexo博客初始页(如果发现后台很多报错,一方面可能是缺失模块,另一方面可能因为arm架构的设备不能完美支持,只能在本地搭建提供测试等)
90520-hhfibhbnu8e.png

38910-shzn2vh8ne.png

如果需要关闭博客,键入Ctrl+c即可停止


示例演示 - 安装VNC远程控制

vnc用于linux的远程桌面控制比较多。这里简单讲述一下如何对termux进行vnc控制

工具:x11-repo、tigervnc、xfce桌面

安装:

apt install x11-repo
apt install tigervnc
apt install xfce
vncserver

输入完vncserver后会提示设置密码,然后确认密码,接着会提问是否要设置只读的密码(其他功能用),一般选择N即可

引入vnc全局变量:export DISPLAY=":1"
先退出vnc进程:vncserver -kill :1
修改配置文件nano .vnc/xstartup在最后一行加入startxfce4,添加后先ctrl+o保存,在回车确认,在ctrl+x退出编辑

启动vnc指令:vncserver
结束vnc指令:vncserver -kill :1

手机下载一个VNCviewer,添加新连接,ip为localhost:5901,名字随意,点击连接即可(如果报警告可以直接无视,继续连接即可)
连接过程会提示输入密码,密码为刚刚设置的vnc密码,连接成功后如下图
52380-zsnwm92wy3k.png

如果想要每次启动终端自动启动vnc的话,可以输入nano ~/.bashrc,在最后一行添加vncserver即可

vnc可能会中文显示异常等等,需要手动下载字体之类的,本文不再拓展太多


示例演示 - 安装宝塔面板模拟建站(仅root的手机)

宝塔面板,这个让网站运营人员耳熟能详的网站管理面板,功能强大,操作简单易管理,还可以一键部署环境,很多人都使用这个管理网站...在termux中安装宝塔面板,性能较低,仅供参考与学习,不适用于正式生存环境
21252-k61ibrth4qr.png

工具:wget软件包,tsu指令软件包,宝塔安装脚本,浏览器,较长时间

执行指令
apt install wget
apt install tsu
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
如果手机已经root并授权,将会一路执行;如果没有root或者未授权,会显示“are you rooted?”
安装过程较长,由于我手机没有root,所以分享一下在树莓派安装的经验:
执行第三个长指令后,会快速加载安装环境,需要手动输入y才能继续安装。之后要等待很久,安装完会在最后几行显示http://127.0.0.1:8888/xxxx ,其中xxx显示宝塔面板的安全入口,需要把整条网站复制到浏览器才能进入面板;同时会在网址下方显示默认用户名和密码,可以用这个登陆到管理面板
宝塔面板会保持每次打开终端自启动,如果需要更改入口限制开关、账号密码等,可以输入sudo bt(每次只能更改一个东西,再修改需要重新输入指令),然后如下图所示:
60151-mdj9s4u0awf.png

一般我个人喜好输入11关闭入口限制,输入8更改默认端口,输入5更改密码,输入6更改用户名,其他保持默认

第一次登陆宝塔网页,会提示要安装环境。推荐使用LNMP环境(L:linux;N:Nginx;M:mysql/MariaDB;P:PHP),也是大部分网站框架常用环境。如果是在正常服务器安装,推荐使用编译安装,但如果在termux内,使用快速安装即可,编译安装会占用大量系统性能、资源,而且termux安装的宝塔并不适合投入正常使用环境中。至于安装版本,一切默认即可,反正后面也可以手动更换版本,而且termux也用不到太多。

Termux安装Ubuntu

在安卓终端里面体验一把真正的Ubuntu系统!(sudo仍需要root权限)

工具:proot-distro软件包(管理子系统)

安装:

apt update
apt install proot-distro 

安装完后输入proot-distro list可以查看这个软件包支持安装的系统列表
67375-6cyd4z3wk2g.png

这里我们安装Ubuntu系统,可以自行选择更改系统,指令如下:
proot-distro install ubuntu
等显示出Now run xxxxxxx时便为安装成功,安装时间很短,因为都是同一个内核,无需重新下载完整版Ubuntu(也可以多次下载不同的系统,每次下载或者启动只需要输入列表中系统名称即可)

启动Ubuntu时,只需要输入proot-distro login ubuntu即可启动(如果下载多系统,也可以把Ubuntu替换成其他名字来启动)
在Ubuntu内输入exit即可退回默认操作系统

每次启动系统都需要很长一段指令,因此这里提供一种简化指令方法:
在home目录指令nano ubuntu.sh,然后在里面输入proot-distro login ubuntu,接着ctrl+o保存,ctrl+x退出编辑,再修改文件读写权限chmod -R 777 ./ubuntu.sh,之后就可以通过执行脚本./ubuntu.sh快速进入了!

本文到此结束,感谢支持!

部分插图内容来自我同学的个人博客:https://jmzdd-jjly.website/ 欢迎大家前往访问!

]]>
<![CDATA[为树莓派制作个简单温控系统]]> https://yanhy.top/index.php/archives/48/ 2021-04-25T10:14:00+08:00 2021-04-25T10:14:00+08:00 yanhy2000 https://yanhy.top 由于之前在树莓派上安排了不少东西,如frp、网盘等,又因为树莓派4B的功耗增加不少,导致整体散热偏高...(网盘这个坑后面填)59570-o7xe7u5bmu.png

温控原理

使用树莓派小风扇对其风冷散热,并且在三极管组成的简单电路下通过树莓派GPIO口输出PWM进行不同阶段温度的控制,使其可以在温度过高情况下减少PWM占空比加速散热、温度较低时静音慢速散热,减少因为长期高速运转产生的噪声,也同时增加了风扇寿命。


硬件准备

1、树莓派及优质电源线(推荐使用官方电源,第三方电源在风扇运转时容易出现低电压警告)
37037-bc14to444b8.png

2、树莓派小风扇 x1
3、三极管NPN8050 x1
4、电解电容100μF x1(理论上大部分电容都支持,起到稳定风扇作用,减少因风扇突然加速等产生的异响)
5、接插件 x5
6、杜邦线(母对母) x3


电路原理图

27324-bvr6ev9k4e6.png

三极管8050三个管脚顺序从平面、从左到右依次是发射极E基极B集电极C
本图中,风扇负极接入三极管的发射极E,树莓派上任意一个GPIO引脚接入三极管的基极B,树莓派上的GND接入三极管的集电极C
电容C1并联到风扇的两段,或者直接并联到接插件的1、3处,如果使用电解电容需要注意正负极

本电路无需焊接至电路板上,直接通过接线即可使用,且因为体积较小可以直接放入树莓派壳内,方便移动


程序控制

通过树莓派的GPIO引脚输出高电平以导通三极管,且通过PWM控制树莓派的转速,代码如下:

程序参考:https://blog.csdn.net/vince025/article/details/103749006
#!/usr/bin/python3
# encoding: utf-8
import RPi.GPIO
import time
RPi.GPIO.setwarnings(False)
RPi.GPIO.setmode(RPi.GPIO.BCM)
#下面多处14是我使用的BCM编码为14的GPIO,根据实际情况修改
RPi.GPIO.setup(14, RPi.GPIO.OUT)
pwm = RPi.GPIO.PWM(14, 75)
duty = 0
lastDuty = 0
try:
        while True:
            tmpFile = open('/sys/class/thermal/thermal_zone0/temp')
            temp = int(tmpFile.read())
            tmpFile.close()
            duty = 100;
            #以下内容可自由修改,duty为占空比,值越大速度越慢
            if temp < 40000:
                duty = 100
            if lastDuty >= 40000:
                duty = 75
            if temp >= 42000:
                duty = 60
            if temp >= 45000:
                duty = 50
            if temp >= 50000:
                duty = 25
            if temp >= 55000:
                duty = 10
            #----------------
            if duty == 100:
                pwm.stop()
                time.sleep(.2)
                RPi.GPIO.output(14, RPi.GPIO.LOW)
            if duty == 0:
                pwm.stop()
                time.sleep(.2)
                RPi.GPIO.output(14, RPi.GPIO.HIGH)
            if duty > 0 and duty < 100:
                if lastDuty == 0 or lastDuty == 100:
                    pwm.start(0)
                    time.sleep(1)
                pwm.ChangeDutyCycle(duty)
            lastDuty = duty
            #print(duty,temp)
            time.sleep(5)
except KeyboardInterrupt:
    pass
pwm.stop()
time.sleep(1)
RPi.GPIO.output(14, RPi.GPIO.LOW)
程序二参考:https://tieba.baidu.com/p/4238265567?red_tag=2276462921
#!/usr/bin/env python3
# encoding: utf-8
import RPi.GPIO
import time
RPi.GPIO.setwarnings(False)
RPi.GPIO.setmode(RPi.GPIO.BCM)
#下面多处14是我使用的BCM编码为14的GPIO,根据实际情况修改
RPi.GPIO.setup(14, RPi.GPIO.OUT)
pwm = RPi.GPIO.PWM(14, 75)
speed = 0
prv_temp =0
try:
    while True:
        tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' )
        cpu_temp = int(tmpFile.read())
        tmpFile.close()
        if cpu_temp>=35000:
            if prv_temp<35000 :
                pwm.start(0)
                pwm.ChangeDutyCycle(100)
                time.sleep(.1)
            speed = min( cpu_temp/125-257 , 100 )
            pwm.ChangeDutyCycle(speed)
        else :
            pwm.stop()
        prv_temp = cpu_temp
        print(speed,cpu_temp)
        time.sleep(5)
except KeyboardInterrupt:
    pass
pwm.stop()

以上为python3代码,树莓派中运行需要使用python3 fan.py运行


开机自动运行

方法同上一篇文章用云服务器搭建自己的Frp服务

cd /lib/systemd/system
sudo nano fan.service

编辑启动项:

[Unit]
Description=frp service
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=python3 #文件完整路径,如/home/pi/fan.py
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

保存并退出后,使用systemctl start fan即可在后台启动温控程序
使用systemctl status fan可以查看运行状态,如果前面代码中print未被注释可以看到实时温度以及占空比
使用systemctl enable fan即可开机启动该程序

85536-wnbpibab4jj.png


本篇文章到此结束,需要更多内容请持续关注本博客!

]]>
<![CDATA[用云服务器搭建自己的Frp服务]]> https://yanhy.top/index.php/archives/21/ 2021-04-03T23:43:00+08:00 2021-04-03T23:43:00+08:00 yanhy2000 https://yanhy.top

Frp(Fast Reverse Proxy)是一个用于内网穿透反向代理应用,支持TCP、UDP等多种协议,可以将内网服务通过具有公网IP节点的服务器连接到公网,实际应用于本地服务器、树莓派建站等项目
77548-p3tu90g232.png

前言

前几期我们对树莓派进行了简单配置,但是仍没有将其投入到实际应用中。树莓派4b版性能强大,且运行功率较小,已经可以将其当成一个小型服务器使用了。因此本期内容就是为树莓派搭建个私人的Frp内网穿透服务器,以便于在树莓派上完成建站等项目。本次我们采用了64位系统的raspbian,在社区测试中,64位系统虽然功能尚未完善,但是其性能已经超出了官方原版32位系统很多,正合适用来配置小型服务器。


服务器选购

搭建Frp服务器时,一般使用各个大厂的学生机即可,推荐购买轻量应用服务器,1核2GB内存5M带宽的性能足够网站应用使用了,一般各个大厂的学生机每个月都是9块左右。虽然每个月限制1000GB流量,但是一般小型服务器除了音视频推流之外一般也用不完的。

阿里云学生机:https://developer.aliyun.com/plan/grow-up
腾讯云学生机:https://cloud.tencent.com/act/campus?from=12631
华为云学生机:https://developer.huaweicloud.com/campus?productType=KC1_1&timeType=1&domainItemData=
百度云学生机:https://cloud.baidu.com/campaign/campus-2018/index.html?unifrom=eventpage

注:阿里云的学生机取消入口,只能通过各种活动或者类似于开发者成长计划获取“学生机”;
华为云学生机为鲲鹏云,使用arm架构CPU,开发环境不同,请斟酌选择;
百度云学生机带宽较低,看个人选择;
其他厂商可能也有类似活动,本章暂未列出
购买服务器后安装系统等操作可以直接参考服务商文档,本章不再列出


安装&配置Frp

Frp的官方github开源页,里面可以下载到最新版本:https://github.com/fatedier/frp

Linux服务器配置Frp

1、通过ssh连接到服务器
2、先点击上面的链接前往github页面,找到右侧的Release,点击最新的版本,会看到很多个Frp版本
28538-depjpszrxdl.png

3、确认自己的服务器架构后(一般都是64位x86架构),在合适的版本上右击复制下载链接,一般情况下选择frp_xx.xx.xx_linux_amd64.tar.gz即可

4、在ssh输入 wget 复制的链接并回车即可开始下载,如:
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

5、下载完后解压tar -zxvf frp_0.36.2_linux_amd64.tar.gz(后面为下载的文件名,如不同请自行替换)

6、简化文件夹名称mv frp_0.36.2_linux_amd64 frp重命名为frp文件夹,并进入文件夹cd frp

7、编辑Frp服务端的配置文件nano frps.ini(frps为服务端,frpc为客户端),如无特殊需要保持默认配置即可,修改完点击键盘上Ctrl+o保存,再点Ctrl+x退出
47178-ulfoi0kbko.png

8、现在服务端的搭建临近尾声,输入sudo ./frps -c ./frps.ini即可运行,按下Ctrl+c停止运行
88992-d7wiuayzico.png

9、在服务器上使用守护进程systemctl:
在/lib/systemd/system文件夹下创建frps.service
29393-mf48abmi0z.png
Sudo vim frps.service
输入如下内容并保存退出

[Unit]
Description=frp service
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=#frp完整路径#/frps -c #frp完整路径#/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

示例:76097-39y69ni9vf6.png

10、启动Frp服务:systemctl start frps,输入systemctl即可查看进程frps正在运行;
设置frps开机启动:systemctl enable frps
31816-vuapf5e7ba.png


windows系统配置frps

在win可视化界面,操作会变得非常简便

1、在服务器内打开浏览器前往https://github.com/fatedier/frp下载最新版本,选择amd64版本下载
42893-ng6obzr12t.png

2、解压后双击打开frps.ini配置文件,修改端口并保存
61714-b0duifi2jzj.png

3、在文件夹地址栏输入cmd并回车,输入frps -c frps.ini即可运行frp服务器
76643-pt9lxjcktrg.png

4、要想设置frps服务器开机启动,只需要在地址栏输入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp并进入,新建frps.bat并右键进入修改

5、修改bat文件,将以下内容复制进去:路径\frps.exe -c 路径\frps.ini即可实现开机启动,如:
96799-7dgbsd8wdsb.png

服务器端口配置

在配置完frps后,仍需要去服务端网页后台的安全组处开放相应端口,如默认端口为7000,安全组需要添加tcp协议的7000端口;同时还需要再添加一个tcp协议的端口,作为映射出来的端口
62685-hccu3kmwnpu.png


Frp客户端配置

Linux系统客户端(树莓派为例)

按照前面服务端的方法下载frp到树莓派上并解压,这次将会用到压缩包内的frpc...
由于树莓派是arm架构,且本文使用的是树莓派的64位架构系统,因此在github我们下载frp_x.x.x_linux_arm64.tar.gz,下载、解压方法同服务端

84099-gvo7ftrhe8e.png

1、先进入frp文件夹内cd frp
2、配置frpc.ini的相关信息nano frpc.ini

[common]
server_addr = 服务器的公网地址,比如1.1.1.1
server_port = 服务器frp的端口

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22 #22端口在linux里是ssh连接用的,设置为22端口可以通过frp进行远程ssh连接树莓派
remote_port = 6000 #要映射的端口,比如在ssh软件内输入连接 1.1.1.1:6000 即可连接到ssh的22端口

3、保存并退出,输入./frpc -c ./frpc.ini即可连接到frp服务器

服务端:84453-3xpdpv7ha3a.png

客户端:20223-c5ur739npxa.png

如果连接超时,请检查:
服务器网页端控制台有没有放行端口、是否服务器有防火墙或者宝塔等面板二次阻拦、配置文件是否一致、服务器时间是否正确

win系统客户端

下载同上,然后解压后修改frpc.ini配置文件并保存

文件夹地址栏输入cmd回车,打开cmd后输入frpc.exe -c frpc.ini即可


Frp实际应用

Frp到此已经搭建完成了,之后我们就可以挂上frp做一些小项目了...

1、安装宝塔面板建站(64位系统):wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
2、NAS个人网盘:https://shumeipai.nxez.com/2018/11/01/a-raspberry-pi-nas-that-really-look-like-a-nas.html
3、MC游戏服务器(性能较低,联机用,仅java版):https://shumeipai.nxez.com/2013/11/21/how-to-run-low-cost-minecraft-on-a-raspberry-pi-for-block-building-on-the-cheap.html
4、安装远程桌面云办公:https://shumeipai.nxez.com/2013/10/06/windows-remote-desktop-connection-raspberry-pi.html
5、... ...


本篇文章到此结束,需要更多内容请持续关注本博客!

]]>
<![CDATA[树莓派4b上手“装机必备” - 2]]> https://yanhy.top/index.php/archives/16/ 2021-03-25T07:10:00+08:00 2021-03-25T07:10:00+08:00 yanhy2000 https://yanhy.top

以下内容涉及过多终端,推荐用ssh连接后操作...

远程连接

树莓派内连接wifi后:

有显示屏:打开终端,输入 ifconfig 查看当前的ip地址;
无显示屏:进入路由器后台或者热点查看连接列表,找到设备名为 raspberrypi,并记录下ip地址;

将ip地址填入ssh远程软件,然后远程连接到树莓派:
48400-3ss6gj67qq2.png

用户名为pi,默认密码为raspberry,如遇到第一次连接证书问题选择 是 即可


软件操作

一、更新软件源

树莓派自带的软件源一般来说功能是比较齐全,但是由于地区原因访问较慢,甚至部分地区无法访问等,因此我们一般会先更换到国内软件源,再进行接下来的操作

国内部分软件源

raspbian 32位源:中科大源文档 http://mirrors.ustc.edu.cn/help/raspbian.html#
raspbian 64位x32位源:清华源文档 https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/

64位树莓派可以直接使用debian源
清华源debian源:https://mirrors.tuna.tsinghua.edu.cn/help/debian/
中科大debian源:http://mirrors.ustc.edu.cn/help/debian.html

更换源方法:
输入 sudo nano /etc/apt/sources.list 回车后进入编辑源配置文件,将官方源前面加#禁用,再在最后面添加各个源的链接
网上换源教程中,有提及/etc/apt/sources.list.d/raspi.list修改源的,这里不推荐修改,这是由树莓派基金会维护的源,内包括了树莓派特有的软件包、驱动等少量资源


二、更新软件

终端指令:

第一步:sudo apt update
49913-ufn9pxycq7d.png

第二步:sudo apt upgrade -y(这一段可能比较漫长,等待即可,图中因校园网炸了,网速巨慢)
68001-zb97gul60i.png

13227-n6tsxd8z9.png


三、安装常用软件

输入法

Fcitx及Google拼音:sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin
安装完重启即可

中文字体

部分老32位系统默认是采用英文字库且没有中文的,因此我们可以手动安装中文字体让树莓派显示出中文(安装完后手动去raspi-config选择中文即可)
sudo apt install ttf-wqy-zenhei

微软远程桌面连接

xrdp:
sudo apt install xrdp
启动xrdp服务:sudo /etc/init.d/xrdp restart
检查端口是否正常占用:netstat -tnl (如果出现3389字样,说明开启成功)

(仅64位)宝塔面板

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
输入并回车执行即可,根据提示输入yes等,安装过程会比普通服务器平台缓慢很多

其余软件包如jdk、ftp等看需求安装

本篇文章到此结束,需要更多内容请持续关注本博客!

]]>