RainySummer's Blog

Hexo site of RainySummer

0%

0. ownCloud / Nextcloud

伴随着一系列问题的发生,ownCloud 项目的创始人 Frank 对风险投资的“屠杀社区”行为感到十分沮丧,决定采取一些行动。在辞职后的几周内,绝大多数的核心开发者也离开了 ownCloud 选择跟随 Frank 另起炉灶。随后,他们宣布组建新的业务平台,从 ownCloud 的 GitHUB 仓库创建了一个分支并将其命名为 nextCloud。有人认为这是自己打自己的脸,但更多人觉得这是一个项目的重生。用从前的方式,做崭新的事情。

截止至当前最新的版本,ownCloud (10.4.0) 仍不支持PHP7.4。而对于包括笔者在内的许多网站管理员来说,在生产环境中改动PHP版本是绝对不能接受的,何况退回至7.2或更早版本有未知的兼容性问题和安全风险。而Nextcloud (18.0.3) 则已经推荐使用PHP7.3/7.4。

鉴于前述的管理问题和PHP版本的支持问题,笔者选择支持PHP7.4的Nextcloud。

⚠ 本文的操作基于前文《在CentOS 8.1上搭建WordPress平台》。未按照前文部署环境的读者请自行部署。

1. 下载 / 上传

在Nextcloud官网(https://nextcloud.com/install/#instructions-server)下载适用于服务器的压缩包,并在本地解压。

之后以FTP的方式将nextcloud文件夹上传至服务器/var/www/html/目录下。

2. 权限设置

为设置/var/www/html/目录所有者:
chown -R nginx:nginx /var/www/html/nextcloud/

3. 创建服务器

  1. 进入数据库:
    mysql -u user -p pass
    user是用户名,pass是密码
  2. 创建数据库:
    create database nextcloud;
    exit

4. Installation wizard

浏览器访问[服务器IP]/nextcloud/即可进行后续的设置。

如遇到登录没有反应的情况,请在shell中查看ll /var/lib/php/目录权限中有apache。 如有则以chown nginx:nginx /var/lib/php/[目录]/的方式更改为nginx

0. 环境简介

[Ref] https://www.centos.bz/2018/11/centos-7%E5%AE%89%E8%A3%85nginxphpmariadb%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BAwordpress%E5%8D%9A%E5%AE%A2/

本文所使用的环境为阿里云云服务器ECS。操作系统为CentOS 8.1 x64

请预先配置好ECS实例及SSH的连接。

1. 准备工作

Requirements on the server side

  • PHP 7.3 or greater
  • MySQL 5.6 or greater OR MariaDB 10.1 or greater
  • Nginx or Apache with mod_rewrite module
  • HTTPS support

根据WordPress官方文档,安装WordPress之前需要先安装PHP(7.3或更高版本)以及MySQL(5.6或更高版本)、或是MariaDB(10.1或更高版本)

PHP

[Ref] https://www.php.cn/topic/php7/434093.html

本文选择安装PHP 7.4,其它版本请作参考。

  1. 添加EPEL和REMI存储库
    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
  2. 安装PHP
    sudo dnf -y install dnf-utils
    sudo dnf module install php:remi-7.4
    sudo apt-get install php-mysql
  3. 设置
    编辑设置文件sudo nano /etc/php.ini
    extension=mysqli取消注释并改为extension=mysql

安装完成后可以通过php -v查看所安装的PHP版本。

MariaDB

  1. 安装:
    yum install mariadb-server
  2. 运行一次mysql_secure_installation
  3. 进入数据库:
    mysql -u user -p pass
    user是用户名,pass是密码
  4. 创建数据库:
    create database wordpress;
    exit

Nginx

[Ref] http://nginx.org/en/linux_packages.html#instructions

  1. 新建一个名为/etc/yum.repos.d/nginx.repo的文件:
    sudo nano /etc/yum.repos.d/nginx.repo
    并填入以下内容:

     [nginx-stable]
     name=nginx stable repo
     baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
     gpgcheck=1
     enabled=1
     gpgkey=https://nginx.org/keys/nginx_signing.key
     module_hotfixes=true
    
     [nginx-mainline]
     name=nginx mainline repo
     baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
     gpgcheck=1
     enabled=0
     gpgkey=https://nginx.org/keys/nginx_signing.key
     module_hotfixes=true
  2. 安装Nginx:
    sudo yum install nginx

  3. 设置:
    修改/etc/php-fpm.d/www.conf文件:
    sudo nano /etc/php-fpm.d/www.conf

    • user/group
      user = apache改为user = nginx
      group = apache改为group = nginx

    • location
      取消注释这段配置

       location ~ \.php$ {
          root           html;
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
          include        fastcgi_params;
       }

      并删去root html;
      修改fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;fastcgi_param SCRIPT_FILENAME $request_filename;

最后的设置

  1. 启动服务
    systemctl start nginx.service
    systemctl start mariadb.service
    systemctl start php-fpm.service
  2. 设置开机自启
    systemctl enable nginx mariadb php-fpm

安装WordPress

(可以使用FTP操作)

  1. 从官网下载WordPress并解压,将wordpress目录下的文件上传至/var/www/html

  2. 上传完成后,在SSH中设置权限:
    cd /var/www
    新建temp文件夹
    mkdir temp
    然后赋予777权限
    chmod 777 temp

  3. 编辑WordPress设置:
    sudo nano /var/www/html/wp-config.php
    修改数据库的相关信息:

    /** The name of the database for WordPress */
    define( 'DB_NAME', 'wordpress' );
    
    /** MySQL database username */
    define( 'DB_USER', 'root' );
    
    /** MySQL database password */
    define( 'DB_PASSWORD', 'password' );
    
    /** MySQL hostname */
    define( 'DB_HOST', 'localhost' );

    以及

    define('WP_TEMP_DIR', '/../tmp');
  4. 重启服务器

  5. 访问[公网IP]/wp-admin/install.php进行后续的安装

序言

准备工作

请下载并安装以下的工具。

MinGW

对于MinGW,推荐MSYS2MinGW-builds

或者读者可以选用mingw-w64官方列表中的其它开发工具链(Toolchain)。

OpenCV

OpenCV下载页面:https://opencv.org/releases/

下载页面

我们需要选择对应版本的Sources(即源代码)下载。

在这里我们选择大版本3的最后一个版本(3.4.9)。

CMake

CMake下载页面:https://cmake.org/download/

选择Latest Release (3.16.4) -> Binary distributions -> Windows win64-x64 Installer。

用CMake编译OpenCV

首先将下载的源代码解压。

打开CMake并下载

打开CMake后,选定OpenCV源代码所在的路径和编译输出的路径。

CMake

初次输出时,会弹出下面的对话框。请按图所示,选择MinGW Makefiles,并默认default compiler即可。

CMake

先进行Configure,显示Configuring done确认无错误后,再进行Generate

一般需要重复多次,直至Entry列表中的条目都变为白色,并且无报错/显示“Generating done”。

读者遇到错误时,请参照output和log检查。

例如遇到“ffmpeg”之类文件的下载错误,请读者参考网上的下载方式自行下载,并在源码目录\opencv-3.4.9\.cache\ffmpeg下替换相应的文件:

文件

后续编译

在编译输出文件目录opencv_mingw_build下以命令行执行mingw32-make。(可能需要稍长的时间)

Cmder

如遇中断,再次执行mingw32-make即可。

完成后,再执行mingw32-make install

Cmder

之后将新增的\opencv_mingw_build\install\x64\mingw\bin的完整路径(如D:\Toolchain\opencv_mingw_build\install\x64\mingw\bin)添加到系统环境变量Path中。!!并重启!!

CLion配置

CMakeLists.txt的内容请参考:

cmake_minimum_required(VERSION 3.15)
project(Lab)

# Where to find CMake modules and OpenCV
set(OpenCV_DIR "D:\\Toolchain\\opencv_mingw_build\\install")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

set(SOURCE_FILES main.cpp)
add_executable(Lab ${SOURCE_FILES})

# linking
target_link_libraries(Lab ${OpenCV_LIBS})

配置完成CMakeLists和Toolchain后,尝试下列代码(将Lena.jpg置于项目的根目录下):

#include "iostream"
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
    Mat img = imread("../Lena.jpg");
    if (img.empty()) {
        cout << "Error" << endl;
        return -1;
    }
    imshow("Lena", img);
    waitKey();
    return 0;
}

成功运行:

运行结果

笔者近日打算购置一台新的笔记本电脑,也遇到了几位有着同样想法的同学。经过大家的一番交流和讨论,同时笔者也稍微做了一些工作,算是各自定下了想要购买的笔记本。于是,笔者打算写下此系列的文章,分享下选购笔记本过程中的经验和想法。

选购一台笔记本

首先,想要选购笔记本电脑,需要明确对于笔记本的需求。和交流过的同学们一样(抑或许是大多数的同学),笔者对于笔记本的需求也是偏向于商业本的。作为一名学生,笔者需要将电脑带至课堂上使用,这就要求笔记本足够便携。笔者对于笔记本的大多数需求也是围绕这个关键词。

尺寸、屏幕及重量

一台笔记本若要满足“便携”的特性,首要因素在于其尺寸(屏幕尺寸)和重量。但一般我们会关注与笔记本的屏幕尺寸,而不是笔记本的尺寸。作为便携的商务本,其屏幕尺寸一般为14”(英寸), 13.3”(英寸),甚至是更小的尺寸(例如12英寸的轻薄本)。
而重量来说,笔者个人认为1.5Kg或许算是能接受的上限了。更重者也许不适合于随身携带或是随手携带。当然,具体的重量也需要各位参照自己的感官。

CPU、内存、显卡及硬盘

这部分的参数决定着笔记本的硬件性能。

  • CPU: 选购笔记本时,笔者建议尽量选择最新架构(代数)的CPU,且若非必要不选择配置低压CPU的笔记本款式。
  • 内存: 至于内存,笔者建议留够工作/游戏所需的内存,应该为不少于8GB。
  • 显卡: 对于显卡,大家选购时需要小心所谓“阉割版”或者“残血版”的独显。这类的独显其实是“败事不足而成事有余”,结果导致笔记本的性价比不高。
  • 硬盘: 大家在选购时需要注意硬盘的类型,是HDD或是SSD。SSD(固态硬盘)比HDD(机械硬盘)有更高的读写速度。因此建议至少系统所在硬盘为SSD,甚至全部硬盘为SSD。

无线网卡、I/O接口

选购笔记本时,无线网卡所支持的标准应至少为802.11ac,即支持5GHz的WiFi。否则不免有些过时,而且无法享受到快捷便利的WiFi网络。
而I/O接口则是一个稍微有些矛盾的点:商务本为了达到轻薄的效果,一般都需要省却/精简一些接口。而精简接口却又不免带来了一定的不便。笔者建议根据心仪的笔记本款式所拥有的接口,来购置相应的扩展器(扩展坞)。一般如果机身没有网络接口、HDMI/VGA/DP、甚至耳机接口者,则在另外购置的扩展器上应该提供相应的I/O接口来弥补。

日常生活中我们常常遇到笔记、摘抄一类的需求,一般来说一些笔记APP便能解决这样的需求。但对于笔者来说,在此之上笔记还需要支持Markdown,而且能在平台间同步(至少能查阅)。笔者尝试过许多现成的云笔记平台及其他产品,均不如意。

本文提出其中一种“Markdown×云笔记”的解决方案,需要掌握Git/Github和Markdown的用法。

准备工作

创建一个新仓库

需要拥有一个专业版/教育版的Github账户,以便能够创建一个私密(Private)的仓库。

如图所示:
new_repository.png

将仓库Clone至本地

在新仓库的页面,复制仓库的https/ssh协议地址。

clone

在准备clone至的路径打开命令行,执行命令:git clone [仓库地址]

clone

成功clone后,本地目录下会有一个与仓库同名的文件夹。

使用范例

Commit

我们在本地创建Markdown笔记,并保存至上述的文件夹中。

之后将命令行的路径设置为文件夹路径下,并在命令行中执行git add [新增笔记的文件名]命令。

commit

(可以通过git status查看当前状态)

commit

Push

使用git push命令将当前更改push至GitHub仓库。

push

References

Imported from 酷安网 (www.coolapk.com/feed/15944186?shareKey=Y2MwMzdkZTMwOTgyNWUyMThjMTQ~&shareUid=1374413)

开箱一个 #少女前线#✖️#肯德基# 双人套餐

吃吃吃😋

一个人次双人套餐😂😂😂我觉得我不太可以

1

本来约了好基友指挥官(简某人×不是)一起解决的,但好基友自己先吃了自己那份,结果撑了???
只好硬着头皮自己吃。手机点单,没有预想中的公开处刑😂。

3

4

货真价实的双人份,默默拿了一个打包袋打包带走一半。云母球球腻不要以后不要再搞双人份了好不?🙄(还有能不能跟M记联动一次?(小声.jpg)

兑换皮肤

皮肤的兑换券大概是24hr之后收到的:

5

M1895 CB特典皮肤:M1895 CB-杓兰雅

6

7

8

简介

现在很多人喜欢在手机上、或是在电子书设备(如Kindle、多看电子书等)上阅读电子书,久而久之随着阅读量的增大、阅读时间的增长,字体也成为了一个讲究。想要追求近似纸质书的阅读体验,字体的选择自然十分重要。

而且不光是手机上的阅读软件,电子书阅读器都或多或少支持使用自定义的字体。

Kindle设备从5.9.6版本的固件开始支持自定义字体。只要将支持的格式(OpenType (OTF) 和 TrueType (TTF))的字体文件复制到Kindle根目录下的fonts文件夹中即可。
需要注意的是,只有KF8标准的电子书才支持自定义字体的功能。

本文展示的字体均以介绍为目的,非作商业性质的用途。且不保证本文中所展示的字体为最新版本或完整版本。
本人及本文对任何他人对字体的后续使用所产生的问题不承担任何责任,请有意使用字体者通过官方渠道获取相应的字体。
本人及本文不保证本文中内容的正确性和准确性,请有意者自行考证。

更多的字体可以参考Kindle 中文字体推荐这篇文章和网上的其它内容,在此仅对个人偏好的字体作简要推荐。字体研究十分深奥,也请感兴趣者自行查阅有关资料。

英文字体

English Font

在挑选阅读电子书所使用的字体时,其实有一个小技巧,那就是参考各大电子书厂商为增强阅读体验所挑选、甚至是专门设计开发的字体。

在英文的电子书阅读领域中,主要有Amazon(亚马逊)旗下的Kindle系列、Google下的Google Books、还有Apple的Apple Books。

Amazon

到目前为止,Amazon在Kindle上使用过三款主力字体。分别是Caecilia、Bookerly和Amazon Ember(以时间顺序)。

Caecilia

PMN Caecilia is a slab serif typeface designed by Peter Matthias Noordzij (hence the name PMN) and published through Linotype in 1990. The design is intended to mimic the writing of a broad nib pen with subtle changes in stroke thickness—this gives it humanist qualities and makes it very comfortable to read for a slab serif. The Amazon Kindle uses PMN Caecilia as a default font which is a testament to its readability. 1

Caecilia

Caecilia是Amazon在Kindle上最早使用的主力字体。根据读者的反馈,平板衬线的Caecilia字体显得比较机械化,与其用于正文,用作标题的字体则更为适合。也有读者评论,看到Caecilia这款字体,就像是在看不同宽度的Courier字体。(Courier是最初用在打字机上的一种字体,也是一种最常见的计算机字体。)2

因此本文对Caecilia字体不作推荐。

Bookerly

Bookerly is a serif typeface designed by Dalton Maag as an exclusive font for reading on Amazon’s Kindle devices and apps. Combined with a new typesetting engine, Amazon.com asserts that the font helps the user “read faster with less eyestrain.” 3

Bookerly

Bookerly字体是Amazon在2015年6月份发布的字体,用以在Kindle系列电子阅读器上取代原来的Caecilia字体。

Type Detail - Bookerly

Amazon Ember

Amazon Ember

Amazon在2016年发布新的一款字体,名为Amazon Ember。据书伴(bookfere.com)介绍,Amazon Ember是专为Kindle电子阅读器带背光(front-lit)显示屏而设计的。但在本人实际体验中,感觉Ember比Bookerly更为圆滑,少了几分棱角。所以观感上还不如Bookerly。

Google

Literata

Literata

Literata是Google和TypeFace合作打造的一款字体,与2015年发布并用于Google Books中。Google表示Literata将用来取代Google Books上默认的Droid Serif字体,因其“非常适合在所有设备上长时间阅读”,是一款“能够在一系列设备和运行不同渲染技术的高分辨率屏幕上提供出色的阅读体验”的字体。4

Apple

Athelas

Athelas

Inspired by Britain’s classic literature, Athelas is an elegant book font family for screen and print. It takes full advantage of typographic tranquility and breathes peacefully on the page to usher the reader into the wordsmith’s art. 5

Athelas是TypeTogether在2008年发布的字体。Athelas被用作macOS操作系统中的自带字体,以及Apple Books电子书应用中的自带字体。

中文字体

中文字体

相比英文字体,中文字体还需要注意一点:汉字字符的编码。不同涵盖范围的字符编码也就表现出了“简体字体”、“繁体字体”、甚至日韩字符字体的现象。

GBK编码,是在GB2312-80标准基础上的内码扩展规范,使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。6

一般我们使用的中文字体是简体字(GB2312-80),如果看简体字的电子书是可以的,但是如果需要阅读繁体字的书籍,则推荐使用GBK字符集的字体,这样的话就可以覆盖到简体和繁体的汉字。

对于电子书字体,我个人偏好使用宋体。当然也有很多读者喜欢使用黑体、甚至楷体。个人认为本着阅读体验优先的原则,使用宋体、黑体类的字体为佳,不推荐圆体、手写体字体和花体字。

方正字库

方正字体

方正博雅宋

方正博雅宋是一款专门针对报纸阅读而设计的新一代正文字体,其设计理念是“以人为本,关注读者视力健康”。方正博雅宋的字形扁方,中宫放松,字面大,横竖笔画粗细比例合理,横排视线流畅,适应长时间阅读。虽然它是一款正文字体,但由于结构宽博,线条简约坚固,还可用于标题。

方正悠宋

悠宋家族以突破当下屏显用字板结于黑体的局面为诉求,通过对笔画造型、粗细对比、文字中宫和字面率的设计,萃取书写精神,平衡技术和艺术的关系,开启屏显阅读新体验。

悠宋字体是方正对屏显字体设计的一次尝试,但个人比较认同其他读者的想法,这款字体设计有些过于“夸张”,比较重。

方正屏显雅宋

屏显雅宋是在标雅宋基础上的针对屏幕应用的改良设计版。雅宋家族是字重梯度多、设计质量高的宋体家族之一,曾获得“亚洲最具影响力设计大奖优秀设计奖”。其中标雅宋适合正文排版,但原先的设计着眼于纸质印刷,直接运用于屏幕上,则显得横竖差别偏大,对屏幕阅读的舒适度有一定的影响。为此,重新设定了横竖比例,并做了一些局部改良,使得在屏幕应用中有良好的表现。

明体

“宋体”和“明体”其实是一种字体的两种叫法,“宋体”产生于明朝印刷术的技术革新过程中,至于将明朝的字体叫成“宋体”则是流传中一种刻意的讹传,代表着明代出版界、文化界一种崇古、摹古的追求。而“仿宋”体是早于“宋体”出现的一种楷书的异化字体,可以说它更接近宋人的书写习惯,它也是“宋体”字产生的基础。7

likecapf:看在组里都在说铅印、旧字型,其实这个“旧字型”他是有专有名词的,就是明体字。明体就是明朝体。宋体就是宋朝体。所以“旧体字”其实比新体字更新。因为大陆对出版业印刷行业的规范,指定只能用宋体才是规范,所以明体出局了。台湾是规范只能使用明体字。所以宋体出局了。8

索尼明体

索尼明体

筑紫舊明朝

筑紫舊明朝

总结

实际Kindle界面截图对比:

英文

英文

内容来源:The Crowd

中文

中文

内容来源:《人类简史》

References

[1] PMN Caecilia Font Combinations & Free Alternatives · Typewolf (https://www.typewolf.com/site-of-the-day/fonts/pmn-caecilia)
[2] 亚马逊多款Kindle将用上Bookerly字体 (https://www.ithome.com/html/digi/168690.htm)
[3] Amazon.com: Kindle Paperwhite: Kindle Store (https://www.amazon.com/b?ie=UTF8&node=11624010011)
[4] Literata:Google Books迎来全新的默认字体 适合长时间阅读 - Google 谷歌 - cnBeta.COM (https://www.cnbeta.com/articles/tech/394809.htm)
[5] Athelas Font | Try, Buy and Download | TypeTogether (https://www.type-together.com/athelas-font)
[6] GBK字库_百度百科 (https://baike.baidu.com/item/GBK%E5%AD%97%E5%BA%93/3910360)
[7] “宋体”并非宋体?“明体”又是何体?“仿宋”亦非宋体?_网易订阅 (http://dy.163.com/v2/article/detail/DJFM9HLS0521D7DT.html)
[8] 科普:宋体与明体,新字型与旧字型。 (https://www.douban.com/group/topic/87841759/)

万物互联

万物互联(IoE)定义为将人,流程,数据和事物结合一起使得网络连接变得更加相关,更有价值。万物互联将信息转化为行动,给企业,个人和国家创造新的功能,并带来更加丰富的体验和前所未有的经济发展机遇。 —— 百度百科

万物互联一直是我非常感兴趣的一个话题,现在的电子设备种类庞杂而且数量巨大,人均拥有设备或多或少都有两到三台,包括手机、电脑,甚至与家中的路由器、网络电视等等智能设备。在网络和云的时代,“数据就是金钱”。单独运行的设备优势已大不如从前,我想未来设备互相连接、数据互相分享才是发展的趋势。

话说回来,本文在树莓派上安装安卓(Android)系统的尝试也是希望能进一步证明树莓派的可拓展性和多方面的用途。作为全球使用最广泛的手机系统,安卓系统不仅仅是用于智能手机上,在其它诸如平板电脑、智能手表和智能家居上,也可以看到安卓系统的身影。在树莓派上安装安卓系统无疑能为其带来不少的可能性。

Pie on a Pi! 👏🎉
Pie on a Pi!

选择合适的Android版本并获取系统镜像

⚠ 树莓派3B/3B+均为1GB内存,因此并不能运行大型的应用/游戏。如果读者有这方面的兴趣,笔者并不建议继续进行本文的操作。

⚠ 因为树莓派4更改了启动机制,所以本文本不适用。而且截至本文完成时,还未有第三方系统的树莓派4启动方案。

有许多能在树莓派上运行的Android系统版本,包括emteria.OS(其前身是RTAndroid)、LineageOS等等。目前笔者查找到的系统镜像都是适用于树莓派3B/3B+的,或者可能可以兼容于更早的树莓派主板。但是这些系统并不能用于树莓派4,大概是因为主板、CPU更新换代导致的引导方式变化。

ℹ 需要注意的是,Google推出的Android Things系统其实并不是一个完整的Android系统,笔者推测它和Windows 10 IoT同样是面向与物联网设备的系统。

LineageOS

LineageOS是一个基于Android的面向智能手机以及平板电脑的开放源代码操作系统,前身为CyanogenMod。在此我们使用@KonstaT所开发的树莓派版本。我们访问这个官网页面查看适用于树莓派3/3B+的所有开发版本。在笔者写这篇文章时,最新的系统版本是LineageOS 16.0 (Android 9),我们可以从Android File Host下载:

下载地址

从这里下载的速度可能会十分缓慢,也许需要挂着机等个一两小时。目前笔者还没有发现高速的或者第三方的下载源。

安装

⚠ 在继续此步骤前请务必确认使用具有高速读写性能的SD卡,否则系统运行将十分卡顿。笔者推荐用于手机/高清视频拍摄的SD卡,如Sandisk的Ultra、Extreme及更高端的系列。

写入镜像到SD卡

下载完成后,我们解压压缩包以得到.img的镜像文件,或者直接在balenaEtcher(这款是树莓派官网所推荐使用的工具)中选择压缩包,将系统镜像写入到准备好的SD卡中。

balenaEtcher

① 选择镜像文件,② 选择SD卡,就可以 ③ 开始写入镜像了。

扩展分区大小

This is a 4 GB image, remaining space on your sdcard will remain unallocated. Settings app shows unallocated space as used by system which in reality it is not.

系统镜像的大小是4GB左右,因此写入到SD卡后也只会占用这么多空间,剩下的空间都是分配的空间。官方推荐使用GParted工具将/data分区(/dev/block/mmcblk0p4)扩展至包括剩余的未分配空间。在这里笔者使用的是专业版的DiskGenius工具,可以在Windows上完成对EXT4分区的扩展操作。

在此之后我们便可以将SD卡插入树莓派并通电启动了,记得给树莓派接上显示屏以及插上网线。

启动系统

树莓派通电启动后,屏幕上应该会显示如下的启动界面:

Boot Animation

第一次启动的时间会比较久一点,耐心等待15到20分钟即可看见下图所示的Logo并且看到Launcher已经启动。

Logo

ADB连接

开启开发者选项

Settings -> About tablet -> 连续点击Build number数次,直至出现提示。

开启ADB

进入开发者选项:
Settings -> System -> Advanced -> Developer options

开启Android debuggingADB over network选项,记住ADB over network下IP地址后的端口号(如0.0.0.0:5555的端口号5555)。

从Windows电脑端连接

从网上下载到ADB工具包后,用命令行工具定位到adb.exe所在的目录。

ADB

使用命令adb connect [IP:PORT]来连接Android系统。其中的IP为树莓派所在的IP地址,PORT为上文中开启ADB调试时显示的端口号。

ADB连接

安装apk应用

将下载好的apk文件放在adb.exe的同级目录下,并用如下的命令安装:

adb install [APK文件名].apk

截屏

  1. 截取屏幕:adb shell screencap -p /sdcard/01.png

  2. 将截图Pull到adb目录下:adb pull /sdcard/01.png

断开连接

adb disconnect [IP:PORT]断开与指定设备的连接。

adb disconnect来断开所有的连接。

ADB断开连接

锁定横屏

⚠ 在这个版本的系统上默认为横屏显示,如果直接打开竖屏应用会卡住并导致问题。

为解决这个问题,我们需要将显示锁定为横屏。下载并使用Ultimate Rotation Control这款应用,并将屏幕设置为横屏,之后就可以打开原先竖屏显示的应用了。

简介

NextCloud是一款自由及开放源代码(FOSS)的网盘应用,其功能类似于目前各大公司提供的网盘,但我们可以将其部署于本地的电脑上作为我们自己的私人网盘。
本文将简单介绍在树莓派(树莓派4B)上部署NextCloud的方法。为了简洁操作并且尽可能地避免部署过程中的问题,我们选择NextCloudPi作为我们的部署方式。

NextCloudPi is a Nextcloud instance that is preinstalled and preconfigured, and includes a management interface with all the tools you need to self host your private data in a single package.

NextCloudPi是NextCloud的预部署镜像,我们可以直接将这个镜像安装到树莓派上,就能享用到现成的NextCloud服务。

下载及安装

官方的下载地址是:https://ownyourbits.com/downloads/
我们将要下载的镜像在以NextCloudPi_RPi开头的目录(文件夹)中,可以选择直接下载压缩包或者以torrent的方式下载。
下载完成后,我们解压压缩包以得到.img的镜像文件,之后便可以用balenaEtcher将系统镜像写入到准备好的SD卡中,这款工具是树莓派官网所推荐使用的。

balenaEtcher

①选择镜像文件,②选择SD卡,就可以③开始写入镜像了。
等待写入完成后,如果没有显示屏或者需要在初次启动时使用SSH:请在boot分区下新建一个名为ssh的空白文件。
在此之后便可以将SD卡插入树莓派并通电启动了,切记记得给树莓派插上网线。

初次启动的配置

我们建议第一次配置时使用网页端,会更便捷。等树莓派正常启动后,使用处于同一局域网下的电脑访问网址https://nextcloudpi或者https://nextcloudpi.local。(根据官网的信息,如果是使用Windows,我们可能需要安装Bonjour Services才能正常访问这个网址。
如果上述的网址不能正常访问,则使用https://【树莓派IP】:4443的网址,其中树莓派IP是树莓派所在的IP地址。我们可以在路由器的管理界面或者使用fingAngry IP Scanner等局域网管理工具查看树莓派的IP地址。

Web Warning

访问时浏览器可能会显示类似于如图所示的安全警示,这是因为我们部署的NextCloud服务目前使用的是自签名的证书,不被浏览器所认可。我们需要选择高级/Advanced,并选择继续前往。 接下来我们应该能看到如下的界面。

Config

复制并保存其中的密码以留作以后使用,在我们登录之后可以在nc-adminnc-passwd中重置密码。

换源

🔗 请参考USTC的Raspbian源使用帮助

文件共享

Samba挂载外接硬盘

Samba is an important component to seamlessly integrate Linux/Unix Servers and Desktops into Active Directory environments. It can function both as a domain controller or as a regular domain member.

Samba是一款十分著名并且常用的文件共享工具,尤其适用于Linux设备以及Linux与Windows设备之间的文件共享。
我们使用的NextCloudPi安装后自带了Samba服务,我们在网页设置中将Samba服务开启后即可使用。

NextCloudPi默认的Samba服务只挂载了NextCloud的数据文件夹,即/var/www/nextcloud/data/ncp/files,在Samba中显示的文件夹名称为ncp-ncp(在笔者处如此)。如果我们需要便捷地访问我们的外接硬盘,则需要修改Samba服务的配置文件。

我们可以先用fdisk -l命令查看SD卡和其他储存设备的路径。

fdisk

如上图所示,容量接近SD卡的/dev/mmcblk0p2是SD卡的路径,最后的Device下所列的则是外接储存设备的路径。
我们需要创建一个目录,例如/media/RainySummer/,并将外接硬盘挂载到这个目录:mount /dev/sda1 /media/RainySummer。 如果需要开机自动挂载硬盘,则可以编辑/etc/fstab文件,在文件末尾添加:/dev/sda1 /media/RainySummer fuseblk ro,defaults 0 0

这里的fuseblk根据树莓派实验室据查为只读的模式。但实测在树莓派4B(Raspbian 10 buster)上可以r/w,即读和写。

之后我们需要编辑sudo nano /etc/samba/smb.conf文件,并在最后添加类似如下的内容:

[external]
  comment = share all
  path = /media/RainySummer/
  browseable = yes
  public = yes
  writeable = yes

保存后我们用sudo systemctl restart smbd.service重启Samba服务。

测速

hdparm

hdparm是一款测试硬盘读性能的工具。
使用hdparm -Tt 【路径】命令来测试相应储存设备的性能。

SD

SSD

我想我们可以只关注速度的数值,其中的报错信息可能只是因为hdparm无法读取到储存设备的信息。

CrystalDiskMark

CrystalDiskMark是一款小巧实用的储存设备测速工具。
我们可以通过NextCloudPi的samba功能分享相应的目录,并在Windows中映射为盘符。

映射盘符

之后我们就可以在CrystalDiskMark中选择相应的盘符并测试。

CrystalDiskMark

iperf3

iperf3是一款网络性能测试工具,它可以测试最大TCP和UDP带宽性能。我们用它来测试我们内网中树莓派其他设备之间的网络情况。
首先我们使用sudo apt install iperf3在树莓派端进行安装,并在官网下载Windows的程序。
首先我们在树莓派运行iperf3 -s来运行服务端,之后我们在Windows解压后的程序所在路径运行cmd,并执行iperf3 -c [ip],其中[ip]是树莓派的IP地址。
在这之后,我们稍加等待便能在树莓派端和Windows上看见测试的结果。

iperf3 树莓派

iperf3 CMD

PS: 通过上述的测试,我们可以发现树莓派4的千兆网络和USB3货真价实,而且确实对性能的提升很大。

官方文档及参考

参考资料

誓约

七夕有戒指×2的礼包,于是乎就买了一个礼包,婚了两位人形小姐姐。

  • 多萝西
    多萝西:啊喂,我话还没说完……
    Dorothy

  • 索米
    Suomi

特典皮肤

SPAS-12-宪兵乐手

《少女前线公式设定画集II》预购特典限定皮肤。

SPAS-12

SPAS-12

UMP45-冬之旅

购买“全天候连帽外套”冲锋衣的特典限定皮肤。
(大破的45好可爱啊!!!(/ω\))

UMP45

UMP45

生涯任务的丰厚奖励

比起夏活,我反倒觉得这次改版后的生涯任务奖励更为实在。
这个“全新生涯任务奖励”,对于所有玩家都是未完成的状态。因此只要再完成一遍生涯任务,就可以一口气获得十分丰厚的奖励。
我想不光是对于萌新有吸引力,对于我这种长期咸鱼的玩家也是元气大增了。

Mission

第一个六星人形

说实话感觉少前最魔幻的操作,没有之一,就是加入了六星⭐⭐⭐⭐⭐⭐的机制。
应该是说理所当然的就认为上限只有五星,又或是因为总觉得这样打破了原有的平衡……总而言之感觉很奇怪。

目前只是一改:
HK416

真核面具

通关夏活后获得真核面具×1,考虑到SG的建造消耗还是太大了,于是兑换KSG小姐姐。
(其实这次说真的并没有特别想要的人形,估计也造的差不多了,而且还来不及练。)

KSG

纲领活动“萤月花火”

感觉这次纲领活动的奖励皮肤很好看了,是G36的。

G36

G36