DietPi/zh

From FriendlyELEC WiKi
Revision as of 08:59, 5 July 2018 by Tzs (Talk | contribs) (updated by API)

Jump to: navigation, search

English

1 DietPi简介

DietPi 是一个高度定制化的轻量级 Debian OS,属于第三方开发和维护的 ROM ,本维基仅对该系统在入门使用上进行简单的描述。DietPi 比较适合有经验的开发人员或者资深爱好者使用,新手建议使用Fri官方制作和维护的 ROM。如果您对 DietPi 感兴趣或者在使用时遇到了问题,可以到 DietPi 的论坛或者 github 上参与该开源项目并且反馈意见。
DietPi有着下列优秀的特点:
1. 非常的轻量化,系统固件小于500M。
2. 高度的优化,CPU和内存的占用率小。
3. 内置大量实用的脚本工具,在命令行的模式下有尽量提供人性化的服务。
4. DietPi-Software 工具可以方便且快速的安装各种流行软件。
5. DietPi-Config 工具可以便捷的调整软硬件设置。
6. DietPi-Backup 工具可以保存和恢复文件系统。
更详细的特性介绍,请查看DietPi的官网
dietpi-features

2 安装DietPi

2.1 下载系统固件

DietPi的系统固件由 DietPi 官方负责维护和生成,访问DietPi官方下载地址, DietPi 正在不断的支持更多 FriendlyElec 出版的开发板, 本维基发布时,已经支持的板子包括:
dietpi-friendlyelec-board
如果您喜欢 DietPi 这种轻量化的小型OS,并且想要参与到DietPi的开发和维护中,可以关注DietPi的github项目DietPi Github和论坛DietPi forum,协助 DietPi 支持更多 FriendlyElec 的开发板。

另外,您也可以选择从 FriendlyElec 光盘里下载 DietPi 系统固件,官方光盘里的固件也是从DietPi网站上下载而来,并且只进行了简单的修改和验证,修改的主要目的是为了保持DietPi系统固件里使用了FrielyElec维护的最新的Bootloader/Kernel/DTB/Modules等系统文件。如果您是从DietPi的官网上下载的系统固件,请注意检查固件里的 Bootloader/Kernel/DTB/Modules 等系统文件是否为 FriendlyElec 维护的最新版本,如果不是,需要您自行参考开发板对应的维基,手动将这些系统文件更新为最新版本。

2.2 烧写DietPi

烧写 DietPi 系统固件的方法和烧写 FriendlyElec 提供的各种SD卡Linux发行版系统固件的方法是一样的:
将系统固件和烧写工具 win32diskimager.rar 分别解压,在 Windows 下插入TF卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具,在 win32diskimager 工具的界面上,选择你的TF卡盘符,选择系统固件,点击 Write 按钮烧写即可。

2.3 配置文件dietpi.txt

将DietPi系统固件烧写到SD卡后,SD卡会被划分为2个分区: boot 分区和 rootfs 分区。其中boot分区中与DietPi相关的核心文件为dietpi目录和系统配置文件dietpi.txt。dietpi目录中包含了所有Dietpi系统的定制脚本,该目录在第一次运行DietPi时会被拷贝到rootfs分区并用于一系列的初始化操作,控制初始化操作的配置文件正是dietpi.txt,建议仔细阅读dietpi.txt以了解DietPi系统提供了哪些可配置的功能,下面会描述部分比较重要的配置项,里面所有的配置项都需要用户自行去测试是否正常工作。

2.3.1 网络选项Networking Options

# 是否使能以太网和WiFi,当2者同时被使能时,会优先使用WiFi。
AUTO_SETUP_NET_ETHERNET_ENABLED=1
AUTO_SETUP_NET_WIFI_ENABLED=0
 
# 设置WiFi连接的热点名称和密码
AUTO_SETUP_NET_WIFI_SSID=MySuperDooperWiFi
AUTO_SETUP_NET_WIFI_KEY=0123456789
# available | WPA-PSK / WPA-EAP / NONE | WEP=No longer supported
AUTO_SETUP_NET_WIFI_KEYMGR=WPA-PSK
 
# 设置hostname
AUTO_SETUP_NET_HOSTNAME=DietPi
 
# 设置以太网的速率
# 0=automatic speed | 10 = 10mbit, 100 = 100mbit etc
AUTO_SETUP_NET_ETH_FORCE_SPEED=0

2.3.2 混杂选项Misc Options

# swap文件的大小
# 0=Disabled | 1=auto (2GB-RAM = size) | 2+=manual
AUTO_SETUP_SWAPFILE_SIZE=1
# swap文件的生成目录
AUTO_SETUP_SWAPFILE_LOCATION=/var/swap

2.3.3 软件预安装选项Software Automation Options

# 是否自动安装软件
AUTO_SETUP_AUTOMATED=0
 
# 全局密码,包括root和dietpi用户的密码,以及后续如果安装MySQL, Transmission等软件时的的密码
AUTO_SETUP_GLOBAL_PASSWORD=dietpi
 
# 选择使用哪种SSH server
#		0=none
#		-1=dropbear
#		-2=opensshserver
AUTO_SETUP_SSH_SERVER_INDEX=-1
 
# 选择使用哪种日志服务
#		0=none/manual
#		-1=ramlog 1h clear
#		-2=ramlog 1h save clear
#		-3=logrotate + rsyslog
AUTO_SETUP_LOGGING_INDEX=-1
 
# 选择使用哪种webserver
#	NB: This will get ignored, if you have manually selected any WEBSERVER_Stack.
#		0=Apache2
#		-1=Nginx
#		-2=Lighttpd
AUTO_SETUP_WEB_SERVER_INDEX=-2

2.3.4 DietPi-Config settings

# CPU策略 | ondemand | powersave | performance | conservative
CONFIG_CPU_GOVERNOR=ondemand
CONFIG_CPU_USAGE_THROTTLE_UP=50
 
# 设置CPU最小频率和最大频率
CONFIG_CPU_MAX_FREQ=Disabled
CONFIG_CPU_MIN_FREQ=Disabled
 
# 启动系统时是否等待网络
CONFIG_BOOT_WAIT_FOR_NETWORK=1
 
# 是否使能调试串口登录,第一次启动系统必须完成初始化操作才能使用调试串口进行登录。
CONFIG_SERIAL_CONSOLE_ENABLE=1
 
# 软件源,该选项比较重要,请务必选择一个您所在地区可以访问的软件源链接,否则DietPi将无法完成初始化操作
CONFIG_APT_DEBIAN_MIRROR=http://ftp.cn.debian.org/debian/

上述描述仅为部分DietPi提供的定制功能,更多的定制功能请自行阅读dietpi.txt和访问DietPi查询了解。

3 DietPi系统的使用

3.1 第一次启动DietPi

DietPi的初始化配置比较繁琐,但只要完成一次这些初始化配置后,Dietpi还是值得资深爱好者去使用的。
首先,必须连接好网线,DietPi的初始化操作要求必须能连接上网络。
第一次运行DietPi系统时,DietPi会扩展rootfs分区,扩展完成后会重启系统。重启系统后,会根据dietpi.txt里的配置进行进行一系列的初始化操作,如果在dietpi.txt里设置了CONFIG_SERIAL_CONSOLE_ENABLE=1,那么这一次启动系统会调用DietPi-Set_Hardware脚本使能serial-getty服务,但是要等待下一次启动系统才能使用调试串口登录。如果你不想再次重启系统,可以选择通过SSH或者在HDMI上进行登录,登录的账号和密码分别是root和dietpi。登录系统后会继续进行更多的初始化操作,我们根据提示一步步执行即可。以下截图是DietPi-V6.7在NanoPi-K1-Plus的实测初始化步骤, 不同板子不同版本的DietPi的初始化版本可能会有差异,用户只要安装具体的提示一步步进行操作即可:
运行DietPi-Software:
dietpi-Software

根据打印的log信息可以看出,其中有执行apt-get update,如果您使用的固件无法连接软件源,请自行修改dietpi.txt里的配置项CONFIG_APT_DEBIAN_MIRROR。
运行DietPi-Set_software, 设置全局密码:
dietpi-Set_software_gpd

运行DietPi-Set_software, 设置用户密码:
dietpi-Set_software_upd

提示用户可通过ip a命令查看IP地址:
DietPi-ip-a

是否允许DietPi收集并上传硬件信息:
DietPi-Survey

DietPi已经自动升级到最新版本:
dietpi-update-latest

由于DitePi系统自动了版本升级,所以又会再次重启系统,系统重启后同样会运行Dietpi-Software,并询问是否修改全局密码和用户密码后,由于DietPi的版本已经为最新版本,这时会直接进入DietPi-Software的核心界面,该界面允许用户选择自己想要安装的软件:
dietpi-software-install

我们使用默认设置,不再安装额外的软件,直接选择Install,并且选择OK,表示使用DietPi的纯净版最小系统:
dietpi-software-minimal

此时会再次重启系统,这次才真正地完成了DietPi的初始化设置。

3.2 DietPi实用脚本简介

Dietpi系统提供了大量的实用脚本,所有脚本的源码均位于/rootfs/Dietpi目录,这里选择一些核心的脚本进行功能性的描述。脚本的各种功能并没有经过准确的测试和验证,用户需自行测试和使用,如果遇到了问题,请向DietPi的官方github和论坛进行意见反馈

3.2.1 DietPi-Launcher

我们可以通过dietpi-launcher来统一的使用这些脚本工具,在命令行终端运行该工具:

$ dietpi-launcher

可以看到如下界面:
dietpit-launcher

3.2.2 DietPi-Software

dietpi-software-install

在Software Optimized里有大量常见的软件,预先配置好、开箱即用。
dietpi-software-choice

选择您需要的软件,然后选择“Go >> Start installation for selected software”开始安装。

3.2.3 DietPi-Config

提供