DietPi/zh

From FriendlyELEC WiKi
Revision as of 09:50, 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目录,这里选择一些核心的脚本进行功能性的描述,这些描述都是基于NanoPi-K1-Plus + DietPi-V6.10,具体的脚本里的各个功能并没有在其他平台上经过准确的测试和验证,用户需自行测试和使用,如果遇到了问题,请向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

提供各种软硬件配置和功能:
dietpi-config

本维基编写时,部分开发板硬件相关的功能并没有实现好,但是仍然有许多通用的软件功能可以使用。

  • Display Options

外观显示相关的设置,例如分辨率,LED的设置。

  • Audio Options

选择系统默认使用的声卡设备。

  • Performance Options

设置CPU的性能,例如CPU的分配策略,最大最小频率。

  • Advanced Options

设置swap文件的大小,是否使能: 网络时间同步、蓝牙、调试串口。

  • Language/Regional Options

设置语言和时区。

  • Security Options

设置hostname和password。

  • Network Options: Adapters

设置有线和无线网络,是否使用代理。

  • Network Options: Misc

设置是否apt软件源、ntp软件源等。

  • AutoStart Options

设置开机登录或者运行指定软件,可单独运行DietPi-AutoStart来进入该界面。

  • Tools

测试系统性能和稳定性的工具, 调用Benchmarks和stress工具。

3.2.4 DietPi-Cron

dietpi-cron

将你想要定时运行的脚本放到/etc/cron.daily/目录下,然后通过该工具设置定时时间。

3.2.5 DietPi-Drive_Manager

dietpi-drive-manager

管理各种存储器,例如SD卡,emmc,U盘。提供格式化设备、选择设备的挂载点、挂载网络设备等功能。

3.2.6 DietPi-Update

dietpi-update

一键升级DietPi的版本。

3.2.7 DietPi-Backup

dietpi-backup

支持备份和还原文件系统,默认生成的备份文件位于/mnt/dietpi-backup。

3.2.8 DietPi-Cleaner

dietpi-cleaner

清理文件系统,允许选择需要清理的组件(例如apt软件包,log文件等),运行模拟执行清理操作以防止误删除。

3.2.9 DietPi-CpuInfo

dietpi-cpuinfo

显示CPU的频率、温度等信息。

3.2.10 DietPi-BugReport

dietpi-cpuinfo

反馈Bug给DietPi的官方团队。