把blog的服务器换了个位置,顺便怀旧

2020年9月18日 没有评论

2010年,在香港租了个虚拟主机,装上了wordpress,把blog从blogengine.net上迁了过来,之前是朋友托管的windows服务器。但是他生意黄摊了,我也得把blog挪出来。再早一年之前,blog是在自己家的windows sharepoint上面。再往前,blog还能追溯到aspcool的服务器,但是这已经是20年以前了。aspcool的站长现在在做比特币算力出租。

兜兜转转,看看服务器上的第一篇,居然是盼着在freebsd上跑mono,那时候dotnet还遥遥领先java,结果20年后这个目标还没有实现。看来这个是真的有点难。

这篇算是新服务器的hello world

分类: 未分类 标签:

关于通过Docker部署的gitea的升级

2020年8月18日 没有评论

最早以前用gitlab,但是太耗资源了。换了gogs,发现总不更新。最后换了gitea。

之前放在托管服务器上的是使用docker部署的gitea 1.6.1版,好长时间没升级了,这次升级了一下,升级到了当前最新的1.12.3版。

按照gitea官方文档,原来的docker容器删掉换新的docker容器就好了,但是前提是容器的/data必须映射到了宿主。也就是说,docker容器删掉,数据不会丢失。

我升级的时候也没有一步到位,先是升级到1.8.3,再升级到1.12.3。避免跨度太大,扯到……docker。

现在升级完看上去都正常。另外,升级前记得备份映射到宿主的/data。

分类: Docker 标签:

Archlinux安装阶段的静态IP修改

2020年7月24日 没有评论

办公室的网络需要授权才能访问互联网,server有不需要授权的网段,但是archlinux的iso启动的时候默认是dhcp获取的ip,这就需要将ip改为不需要授权的网段。研究了archlinux的wiki,找到了修改方法。

archlinux的iso是用的是systemd-networkd这个服务来设置iso启动的网络设置,这就需要修改/etc/systemd/network/20-ethernet.network。

首先,去掉DHCP相关设置:删除[DHCP]段,删除[Network]的DHCP=yes

然后,加静态IP设置,在[Network]段加上:

Address=192.168.1.2/24

Gateway=192.168.1.1

DNS=114.114.114.114

最后,用systemctl restart systemd-networkd重启网络服务。

分类: Linux 标签:

Archlinux安装ftp服务

2020年7月23日 没有评论

前两天安装的transmission服务,下载的内容只能通过sftp拿回来。后来发现sftp服务传输效率不高,在需要安全的情景下也还能忍,但是在家里内网的情况下,千兆带宽只跑20%,cpu负载就满了,还是专门配置一个明文的ftp好。

网上看了一下,vsftpd用的最多,而且看archlinux的wiki,这个貌似也是最简单。我就选这个了。其实我要求不高,不用开匿名,不用单独账号列表,使用系统账号就好,能把下载的内容删除,这么多就好。过程如下:

1. pacman –S vsftpd

2.编辑/etc/vsftpd.conf

3.去掉write_enable=YES前面的注释

4.去掉local_enable=YES前面的注释

5.使用systemctl启用并启动vsftpd

这就可以打完收工了。

分类: Linux 标签:

Archlinux的时间同步

2020年7月23日 没有评论

现在Linux主机的最佳实践是硬件时钟设置为UTC时间,然后设置自己的时区。但是如果是一台之前没有安装过Linux的主机,就会有一个问题,怎么精确设定时间。当然,如果联网的条件下,NTP是最简单的办法。以前这么做都是通过ntpd包带的ntpclient来实现。现在多了一个选择:systemd-timesyncd。

启用过程很简单,现在修改/etc/systemd/timesyncd.conf,去掉NTP=前面的注释,然后在后面填上time.windows.com这个服务器。然后使用timedatectl set-ntp true起作用这个服务。

之后可以用timedatectl status开查看当前系统的时间状况。也可以用timedatectl timesync-status来查看时间同步的情况。

分类: Linux 标签:

Transmission的RPC验证

2020年7月19日 没有评论

Transmission的RPC接口很好用,Transmission-Remote-GUI就是玩pt的利器,但是RPC验证不开启的话,会有一些诡异的行为没有文档描述。比如:

  • 不开启验证,TRGUI添加磁链或者种子的时候,会提示下载路径不是绝对路径,但是原生的WebGUI没有问题。
  • 不开启验证,使用域名访问(非localhost)的时候,会提示拒绝,建议用ip或者开启验证。

以上行为在Transmission 3.0和TRGUI的5.18上会出现。

分类: Linux 标签:

树莓派4上的64位Archlinux

2019年12月21日 2 条评论

前两天终于咬牙跺脚收了同伴科技的X825,这是因为树莓派4终于支持了USB3.0,能基本把硬盘的性能跑出来了。顺便研究了一下,现在树莓派4上面的64位Linux,基本上可以确定现在树莓派4可以当做小型服务器来耍了。

首先,树莓派4是aarch64架构的arm处理器,4G内存,千兆网络,USB3.0接口,基本可用了。其次,Docker Hub上的服务器应用也开始支持aarch64了,甚至像mariadb、mongodb和openjdk的docker官方镜像只支持arm的aarch64架构。

网上查了一段时间,对比了树莓派爱好者基地的64位debian和第三方出的64为archlinuxarm,觉得还是喜欢archlinux,于是写写怎么在树莓派4上跑64位的archlinuxarm。

感觉archlinuxarm网站论坛里面的讨论,找到了一个三方出的树莓派4的64为archlinuxarm的rootfs,地址是https://olegtown.pw/Public/ArchLinuxArm/RPi4/rootfs/ ,挑一个最新的,按照archlinuxarm官方树莓派4的安装教程 https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4#installation 来安装就好了。安装好以后,连接有线网络,可以在路由器的dhcp设备列表里面找到设备的ip,这时候远程登录就好了。

安装好以后需要做一些官方教程里面没有的额外设置,首先要用nano来编辑/etc/resolv.conf,添加一行nameserver 8.8.8.8。这是因为这个rootfs没有安装vi包,其次没有设置dns服务器。如果我们需要改成静态ip,需要修改/etc/systemd/network/eth.network。

如果需要使用netbios访问树莓派4,可以参考我之前写的http://just4fun.cn/?p=1017

如果需要使用文件做交换内存,可以参考我之前写的http://just4fun.cn/?p=972

这个时候可以开始配置X825上面的硬盘作为rootfs。我是专门从狗东买了一个容量最小的tf卡,按照前面的介绍安装好archlinuxarm,分区并格式化/dev/sda1,然后直接修改/boot/cmdlin.txt就好了。但是在树莓派爱好者基地的64位debian貌似这么做不好用,可能是因为它用了树莓派上面UFEI导致的,没有深入研究。

硬盘接好启动以后,用fdisk先给硬盘创建一个分区,把格式化好ext4的分区mount在/mnt/newdrive,然后执行命令rsync -avx / /media/newdrive把tf卡的rootfs同步到硬盘上。这个步骤在树莓派爱好者基地的64位debian上也不好用。之后修改cmdline就好了。

重启之后,使用df -h看看根fs是不是挂在sda1上。

另,这个三方的roofs可以用pacman更新archlinuxarm官方的aarch64软件包,但是因为官方没有aarch64的树莓派内核,所以需要自己从https://olegtown.pw/Public/ArchLinuxArm/RPi4/kernel/https://olegtown.pw/Public/ArchLinuxArm/RPi4/firmware/ 下载最新的内核和firmware。此外这个网站还提供了5.4的内核,但是因为树莓派官方的内核只有4.19的代码,所以我没敢尝试。

分类: ARM, ARM Box, Linux 标签: ,

关于此次Archlinux的Base安装包组变化带来的影响

2019年10月23日 没有评论

按照Archlinux的新闻稿,在2019年10月6日更新了Base安装包组,这里面只留下了必要的软件包,https://www.archlinux.org/news/base-group-replaced-by-mandatory-base-package-manual-intervention-required/

但是根据我的试验,不只其新闻稿中说的kernel、kernel-firmware和editor被移走,netctl、dhcpcd也被挪走了。而wiki的Install Guide却没有提及,这导致在安装完成后,实际是没有办法连接网络的,或者我不知道怎么连接网络了。经过试验需要把如下的安装根文件系统的语句

pacstrap /mnt base

替换为

pacstrap /mnt base linux linux-firmware netctl dhcpcd vi

其目的是补全base中移走的内容,保证安装完毕重启以后,系统能连接网络,继续后面的软件包的安装。

分类: Linux 标签:

给ArchLinux配置NetBIOS/WINS协议的hostname解析

2019年9月23日 没有评论

这个需求的背景是,博主使用树莓派作为开发服务器,使用windows环境内做客户端完成开发。树莓派在连接不同的网络的时候,动态获取的IP每一次都变化,在代码中动态调整比较烦人。如果能支持NetBIOS的话,那么就可以直接通过主机名,在不同的网络环境中都使用名字来访问树莓派。

一般的Linux的桌面环境这么做都不存在什么问题,但是像ArchLinux这样的极简系统就需要自己配置NetBIOS服务在局域网内广播主机名。一般Linux环境都有现成的Samba可用,而Samba服务端就内置了NetBIOS/WINS服务端,这样我们安装好Samba,启动相应服务就好了。

在ArchLinux当中,可以通过如下步骤解决:

1.安装Samba包

pacman –S samba

2.从https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD获取最新版的smb.conf放在/etc/samba目录下。

3.启动winbind服务

systemctl enable winbind

systemctl enable nmb

这样,即使不启用Samba服务,我们先在也可以使用NetBIOS和WINS协议找到这个树莓派了。这个办法在Archlinux的PC和树莓派上都适用。

分类: Linux 标签:

小NAS系统评测

2019年4月16日 没有评论

最近因为收了两个星级蜗牛的小NAS机器,计划一个上开源的NAS系统,一个上黑QNAP体会一下NAS+HTPC,所以对开源的NAS系统做了一个对比评测。

先后在vbox里面安装了,FreeNAS,OMV,Openfiler,RockStor,EasyNas,还有国产的U-NAS:

1.FreeNAS是基于FreeBSD,内部界面最酷,支持中文,但是内部功能也相对高冷。貌似没有插件系统。

2.OMV是基于Debian的系统,功能基本全面,插件也足够丰富,最不满意的是没有内置文件浏览器,这个稍有点尴尬。

3.Openfiler是基于rPath这样一个Linux系统,功能和FreeNAS差不多。

4.RockStor是貌似基于CentOS,没有中文界面,只有最近本的功能。

5.EasyNas是基于OpenSUSE,也是没有中文界面,只有最基本的功能。

6.U-NAS比较惊艳,基于Debian,3.16的Linux内核,界面也是Synology和QNAP模仿桌面的界面,和类似App商店的插件安装模式,难得的是还有开源的Web上Office、Note的插件,Transmissions也定制过,更好支持多用户,而且页面也集成了transmission-web-ui,使用上舒服不少。

因为家里Synology已经有了一个ds-716,一个ds-216,所以Synology已经用的比较熟悉了。所以又在小NAS机器上跑了一个黑QNAP,感受了一下。

综合排名,从好用程度来讲,Synology适合普通家用和SOHO一族。QNAP对应功能也都有,但是感觉比Synology差一些,但是HTPC功能还是不错,但是推荐不用内置的HD_Player,直接用KODI。字幕和解码都比小米盒子之类要强大。小米盒子使用usb 3.0的有线网卡以后,相对QNAP的HTPC功能来讲,主要还是差在字幕和解码上,当然也可能找到更好的安卓App换到小米盒子上。

开源的NAS系统还是OMV更好,可以自己装X来跑KODI,单纯对比功能已经基本上和商业产品差不多了,但是界面有点丑。U-NAS界面和功能都不必OMV差,但是暂时还没有文档描述怎么上KODI,但是因为其基于Debian,估计也能上。其他那几个开源的NAS,我觉得还是算了。

分类: 未分类 标签:

netctl开启自动连接wifi

2018年12月20日 没有评论

首先使用wifi-menu连接过一些wifi,这样在/etc/netctl下会有一些链接文件。然后安装wpa-actiond包,再开启netctl-auto@wlan0服务。

1. pacman –S wpa-actiond

2.systemctl enable netctl-auto@wlan0

这样重启以后,就会从已有的连接文件中,选取信号最强的那个wifi自动连接。

分类: Linux 标签:

关于树莓派Raspberry Pi Zero W、3B、3B+使用串口控制台的问题

2018年12月20日 没有评论

收了一个Zero WH,外加一个UPS Hat。接上以后,发现putty使用串口无法登录,于是在网上查来查去,最后搞定。记录一下。

树莓派的SoC有两个UART,一个叫PL011一个叫miniUART。默认扩展插针上的UART是PL011。但是树莓派的ZeroW\3B\3B+和以往的型号不一样,增加了蓝牙,并且默认连接在PL011上,这时miniUART自动连接在扩展插针上。这样的话,如果不修改cmdline.txt和config.txt的情况下,是无法连接串口控制台的。

PL011和miniUART的主要区别在于,PL011是外部的串口模块,有独立的时钟,速率稳定为115200,输入输出缓存会相对大一些。miniUART没有独立时钟,受到core主频的影响。

根据树莓派官方文档 https://www.raspberrypi.org/documentation/configuration/uart.md 的描述,最简单的解决办法是关闭蓝牙,这样PL011会自动切换到扩展插针上。管理蓝牙模块的办法也很简单,在config.txt里面加上

dtoverlay=pi3-disable-bt

分类: Raspberry Pi 标签:

关于PuTTYgen生成的公钥

2018年11月23日 没有评论

网上有介绍使用非对称密钥登录SSH的文章会说PuTTY生成的公钥,对SSH兼容不好。近期研究发现,问题在于PuTTYgen生成的公钥直接保存的格式和其文本框中的格式不一样。

如果使用保存的文件就会有问题,但是如果从文本框复制,再在登录后vi编辑文件粘贴进去,就没有问题。打开保存的文件,就会发现其实两边的格式是不一样的。

分类: 未分类 标签:

VS Code配置Spring Boot开发环境-安装插件

2018年8月11日 没有评论

VSCode的插件现在都可以设置依赖关系了。Spring Boot的需要两个插件,一个是Java Extension Pack,一个是Spring Boot Extension Pack。比较诡异的是这几个插件的依赖关系。大家自己看吧

image

image

image

image

分类: Java, Visual Studio 标签:

微雪的SPI液晶屏在ArchlinuxARM上的设置

2018年8月8日 没有评论

我之前的一堆树莓派都找不到了,但是翻出来了一个带微雪3.5寸SPI液晶屏的B+,有点古董。正好前段时候收了一个HDMI的3.5寸液晶屏,顺手对比一下,再写一个配置教程。

微雪的这个屏叫3.5A,应该是有好几个版本了,我手里这个是V3,但是微雪淘宝店里的照片已经不一样了。好在驱动还是一样的。微雪还有一个3.5B,是IPS液晶的面板,也视角会更大。另外还有一个3.5 HDMI产品,也是IPS的面板。这三块屏都是480*320的分辨率。

这三块屏的区别是,HDMI那块带一个驱动芯片,1920的信号输出也能直接显示,模糊而已。因为使用HDMI,一般的img都不需要驱动,另外HDMI的带宽要好,显示速度要快。SPI的这两块,由于数据带宽低,屏幕上更新的内容多了以后,会有明显的刷屏。而且因为SPI不是标准的视频接口,所以需要微雪的接口驱动才能工作。

相应的价格也是3.5HDMI最高,3.5A最便宜,我手里这两个屏,正好一头一个。

微雪网站资料很丰富,3.5A的页面如下:www.waveshare.net/wiki/3.5inch_RPi_LCD_(A) 这里面提供了一驱动包,一个安装好驱动的raspbian的镜像,以及一个说明文档。这个文档说明了驱动包怎么用,以及内置驱动的img怎么做tf卡。驱动包地址为http://www.waveshare.net/w/upload/3/34/LCD-show-180331.tar.gz

我看了一下驱动包怎么安装,也打开了LCD35-show这个脚本,发现这里面基本上两部分内容,显示编译驱动,然后配置控制台驱动和x的驱动。正好看到包里面有编译好的驱动,至少在这个B+上目前工作正常,下面就说说ArchlinuxARM上怎么配置。

1.在驱动包的根目录下有一个waveshare35a-overlay.dtb文件,把这个文件复制两次到你archlinuxarm的boot分区的overlays目录下,一次保持原名,一次改名为waveshare35a.dtbo。

2.修改config.txt文件,在最后加上dtoverlay=waveshare35a

3.修改cmdline.txt文件,在最后加上一个空格和fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo

这样重启以后,经过一段时间的浅灰色的显示阶段,控制台就显示出来了。

这个办法目前在我的B+上的ArchlinuxARM上可用,uname -a显示为

Linux alarmpi 4.14.59-1-ARCH #1 SMP Tue Jul 31 00:57:25 UTC 2018 armv6l GNU/Linux

在ArchlinuxARM中使用F2FS文件系统

2018年8月3日 没有评论

做tf的系统(我的系统就是archlinux)需要安装f2fs-tools。

针对ArchlinuxARM官方的安装过程,替换mkfs.ext4为mkfs.f2fs

目前树莓派的最新内核,以及aarch64最新内核都会支持这个文件系统,不需重新编译内核

系统第一次启动以后,需要安装f2fs-tools,默认的跟目录包不包含它。resize.f2fs和fsck.f2fs会依赖这个包。

对于f2fs能对tf有多少提升,现在很多人意见不统一,至少他是针对tf设计的。

分类: ARM, Linux, Raspberry Pi 标签:

dotnet core点滴:创建asp.net core项目

2018年7月30日 没有评论

1.dotnet new webapp –o aspnetcoreapp

新建webapp类型的项目到aspnetcoreaspp文件夹

2.cd aspnetcoreapp

3.dotnet dev-certs https –trust

为项目创建https的证书,并信任这个证书

4.dotnet run

5.浏览https://localhost:5001

分类: dotNET 标签:

树莓派3B和3B+目前阶段的主要区别

2018年7月26日 没有评论

近期收了一个新的树莓派3B+和一个二手的3B,总结一下:

1.官方表示3B和3B+是同一个处理器,只是主频高了,有线网变成了千兆,无线支持了4G。

2.3B和3B+在使用armv7指令集,也就是arm32的时候,基本没有什么区别。

3.3B和3B+在使用armv8指令集,也就是aarch64的时候,3B上基本正常的系统,3B+上基本有线网络、无线网络都会出问题。

4.除了ArchLinuxARM之外,都没有官方的树莓派aarch64的系统。即使如此,3B+也无法正常使用。

5.3B上跑aarch64的系统,外加f2fs的话,计算和IO都有很大的提升。

6.3B+目前看上去更像一个内置无线网络和蓝牙的2B

7.2B有一个1.2版,使用的是3B的处理器,而3B的版本上来就是1.2

8.想试试aarch64的话,3B比3B+更合适

9.淘宝3B手机普遍比3B+贵20

分类: Raspberry Pi 标签:

新版Win10安装

2018年7月20日 1 条评论

4月份的电脑安装的1709的nov版,在现在安装18的4月版的时候,被提示磁盘分区表不是GPT。对于我这种c盘系统,d盘备份的情况,就导致了新系统无法安装了。不知道这是出于什么考虑

分类: 未分类 标签:

Raspbian上安装Docker

2018年7月5日 没有评论

习惯了Arch的仓库以后,Raspbian的仓库老的不能再老了。查了Docker的网站,不能直接装,需要用如下的方法,先搞下来一个脚本来安装,速度有点慢:

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh

真的是有慢,用的docker官方的仓库。

分类: Docker, Raspberry Pi 标签: