17 January 2021 - 字数统计：1744 - 阅读大约需要6分钟 - Hits: Loading...

# piCore的使用经历

by mayx

这是一篇创建于 天前的文章，其中的信息可能已经有所发展或是发生改变。

AI摘要

这篇文章作者讲述了在树莓派上使用piCore的经历。piCore的优点在于它在内存中运行，使得无SD卡工作成为可能，并通过穿透功能实现远程访问。然而，作者遇到的问题包括依赖的软件安装、SD卡拔除后的软件使用问题以及权限限制。尽管软件库不如Ubuntu丰富，但piCore支持直接运行二进制文件，作者举例了Cloudreve、SakuraFrp和甜糖等软件的安装过程。作者认为piCore是一个便于使用但文档欠缺的系统，适合树莓派且提供了便捷的更新功能。

- 开端
- 使用经历
  - 无卡安装软件的经历
  - 运行其他软件的经历
- 总结

不流行的发行版也很好用啊

#
开端

上个月我试着在树莓派上使用piCore，本来是想解决打印机的问题，不过因为没有打印机驱动所以也就无所谓了，还是用电脑好一些。

学校也有一个树莓派，但是没有SD卡，不过没关系，piCore就是在这个时候起作用的，我在学校的时候找了一张我自己的SD卡插在了那个树莓派上，使用piCore启动后就可以把SD卡拔掉了。正因为它的系统在内存中运行，所以没有SD卡也能正常工作。

之后我在上面开了一个穿透，这样我在家也可以玩在学校的树莓派了。

#
使用经历

##
无卡安装软件的经历

虽然piCore的系统运行在内存中，但是默认情况下它的软件全部安装在SD卡中，把SD卡拔掉后发生的第一个问题就是软件没有办法正常使用了。原来安装的软件不能启动，然后想安装新的软件也没办法安装……这样就不太好了，像连接Wifi的软件也在SD卡中，虽然有些守护进程运行后程序会载入内存不会因为没有SD卡出问题，但是如果我想连接新的Wifi就没办法使用了……这要我怎么办呢？后来我研究了一下piCore安装软件的代码，那些软件管理器全部都是用的Shell写的，对于从小就在使用Shell的我基本上都能看懂。后来我发现安装的软件其实都不是读取SD卡挂载的目录，而是`/etc/sysconfig/tcedir`目录，然后这个目录又有一个软链接指向SD卡的挂载目录。这样就很好搞了啊，把原来的软链接删掉，新建一个`tcedir`的目录就好了。当然不止如此，在这个文件夹里还要创建一个`optional`目录，这样软件包才能下载到正确的位置。

这些操作完成后就好了吗？并没有，现在安装新的软件已经没有问题了，但是安装以前安装过的软件会出现问题。在piCore中，安装过的软件会在`/usr/local/tce.installed`这个文件夹下创建一个文件，软件管理器会读取这个文件夹下的内容判断程序是否安装。但是SD卡拔掉后这个文件不会消失，所以我还得要手动把这里面的文件删掉，这样安装旧软件就不会出现问题了。

对了，还有一点是权限问题，由于不知道什么原因，软件管理器要求不能在root权限下安装软件，这样的话在创建`/etc/sysconfig/tcedir/optional`这个路径的时候就需要注意不能以root权限创建，不然软件有可能会安装失败。

虽然说piCore，或者说TinyCore并不是一个流行的发行版，不过软件还是有不少的。虽然不像Ubuntu那样可以用`apt`那样有非常多的软件可以用，不过正常使用的话软件基本上也够用了，虽然说也可以安装图形界面，不过因为我用的树莓派3B的内存太小了，只有1G，所以也不敢安，而且我有Windows的远程桌面，也没必要折腾树莓派搞图形界面。

##
运行其他软件的经历

作为Linux发行版，软件和生态固然很重要，但是使用软件的方式也不只是用通过安装软件包的方式。软件的本质还是二进制文件，所以说有些piCore仓库里没有的软件，我们也可以直接运行二进制文件。

举一个例子的话……比如说Cloudreve，一个用Golang写的网盘系统，就能很简单的在上面运行。在Release中找到arm64的程序，下载到树莓派上，然后直接解压运行就OK了，非常的轻松，像那些已经编译好的软件很轻松就能拿来直接用。

再比如说就是穿透，我用的是SakuraFrp，同样那是一个单独的已经编译好的程序，直接下载arm64的程序，然后再运行就可以了。

还有比如想通过当CDN赚钱，比如说甜糖，同样下载对应的编译好的程序就OK了，当然即使这个软件能运行，这个计划还要求有32GiB以上的存储空间那还得另外插个U盘啥的那就是那么一回事了……

#
总结

由于piCore可以在内存中运行的特性，而且还有不错的软件管理器，我觉得它确实是一个在树莓派上相当不错的系统，而且相对来说也很简单，也许用buildroot也可以整一个类似的系统，但是有piCore就方便很多，也不用编译啥的，安装软件也很方便，另外更新一样也很方便，用`tce-update`就能更新，卸载的话后来我发现是用`tce-audit remove`……总的来说系统确实很不错，就是文档真的很垃圾，写的很不清楚，好多功能还得自己研究，然后网上也没有可以参考的……除此之外，设计的确实很不错。

tags: 树莓派 - piCore 查看原始文件

#### 推荐文章

Loading...

上一篇：如何用PHP制作一个简单的反向代理
下一篇：自己动手做一个Server酱·TurboMini版
想问这篇文章
召唤伊斯特瓦尔