早在 2014 年初,我购买了我的第一台 基于 ARM 的计算机,一台 SolidRun CuBox-i4。我对 CuBox 的目标是拥有一个无头设备(例如,没有显示器),它在音响设备架上占用最小的空间,发出最小的噪音,并将音乐文件提供给我的数模转换器 (DAC),从而提供给立体声系统的其余部分。从纸面上看,CuBox 非常适合。它是无风扇的,可与各种 Linux 发行版配合使用,提供单独的 eSATA 接口用于本地安装的硬盘驱动器,因此 USB 端口可以空出来用于其他用途,提供用于数字音频的 TOSLINK 端口,使用 MicroSD 卡(默认情况下)作为系统安装和启动驱动器,并配备 2GB 内存和一个速度相当快的 i.MX6q 四核处理器,所有这些都装在一个不显眼的 5x5x5 厘米黑色塑料盒中。
而且,正如运气(有时)所愿,这些承诺大部分都得到了兑现。这个盒子仍然运行良好,为我的家人提供了极大的音乐享受。连接的硬盘驱动器包含大约 275GB 的音乐文件——略多于 7,500 个 FLAC 文件,其中穿插了大约 300 个 MP3 文件。
作为我们的家庭音乐服务器,CuBox 运行一个精简的 Linux 服务器发行版,其中 Music Player Daemon (MPD) 作为音乐服务软件,通过 ALSA 将数字数据发送到 DAC,服务器上没有软件混音、升采样或降采样,也没有音量控制。最近,我发现运行 lighttpd(一个轻量级、易于配置的 HTTP 服务器)很方便,它可以为我们在家中运行的各种 MPD 客户端提供封面图像。(但现在 MPD 提供了该功能,因此这种便利可能很快就会消失。)对于播放音乐的用户界面,我们在桌面上使用 Cantata,在我们的 Android 手机上使用 MPD Remote(注意:它可能不是开源的)来浏览、选择和播放音乐。
2017 年,我写了关于 我使用 CuBox 的体验。我尝试过 Voyage Linux、Volumio 和 Archphile Linux,并且刚刚迁移到 Armbian,当时 Armbian 基于 Ubuntu 16.04 LTS(长期支持)。今年秋天,我决定是时候升级服务器,获取最新版本的 MPD,并顺便处理一些其他令人烦恼的细节。
升级
鉴于我对 Armbian 的总体良好体验,我决定再次在那里寻找升级材料。有两个受支持的选项:基于 Debian Buster 的服务器配置和 Ubuntu 18.04 桌面配置。考虑到我希望系统无显示且简约,我选择了 Debian 版本。

下载过程没有问题,我很快在我的“下载”文件夹中得到了一个安装映像。和以前一样,我对 Armbian 文档的质量和“切中要点”的性质印象深刻,其中指出
映像应仅使用 Etcher 在所有平台上写入,因为与其他工具不同,Etcher 会验证刻录结果,从而使您免受 SD 卡内容损坏的困扰。
这是我第一次使用 Etcher,我对它的可用性印象深刻(这是使用开源软件的又一个绝妙理由)。我将生成的 MicroSD 卡插入 CuBox,连接以太网电缆、DAC 和 eSATA 驱动器,然后打开电源。很快,我就可以 SSH 进入 CuBox 进行配置。真是一次轻松的体验!以下是我使用 SSH 登录到该机器时看到的内容

在配置方面,我有以下目标
- 完成初始配置
- 为有线网络连接配置静态 IP 地址
- 使已安装的系统保持最新
- 禁用无线
- 安装和配置 MPD
- 安装和配置 lighttpd
- 听一些音乐!
我使用了出色的 Armbian Config 程序来执行许多这些初始配置任务。

选择“系统”会显示此菜单

我使用它来禁用通过 SSH 的 root 登录,并启用密码和公钥身份验证。
在“网络”子系统中,我设置了静态 IP 地址(以符合我的家庭路由器设置),在“个人”子系统中,我更改了时区和主机名。我本可以使用“软件”子系统来运行初始更新,但我选择退出到 shell 并使用 apt 完成此初始配置,命令如下:
sudo apt update
sudo apt upgrade
我还使用 apt 安装了 MPD 和 lighttpd,命令如下:
sudo apt install mpd lighttpd
我拥有之前的 MPD 配置文件 (/etc/mpd.conf);一般来说,我更喜欢使用这些类型的旧文件作为指导来配置新文件,而不是仅仅将旧文件直接覆盖到新文件之上。最后,没有太多更改需要进行;以下是旧文件和新文件之间的差异
clh@stereo:/etc$ diff mpd.conf.orig mpd.conf
85c85,86
< bind_to_address "localhost"
---
> #bind_to_address "localhost"
> bind_to_address "192.168.1.21"
241c242,249
< name "My ALSA Device"
---
> name "Drop Airist R2R"
> device "hw:CARD=U20,DEV=0"
> mixer_type "none"
> replay_gain_handler "none"
> # name "Schit Bifrost 4490"
> # device "hw:CARD=S2,DEV=0"
> # mixer_type "none"
> # replay_gain_handler "none"
clh@stereo:/etc$
您可以看到我有两个 DAC(只是因为),第二个被注释掉了(并且未连接)。此外,我必须更改 bind_to_address,以便 MPD 将在局域网上监听。
至于 lighttpd,我只需要更改 document-root
clh@stereo:/etc/lighttpd$ diff lighttpd.conf.orig lighttpd.conf
8c8,13
< server.document-root = "/var/www/html"
---
> # Used this config documentation
> #https://github.com/abarisain/dmix/wiki/Album-Art-on-your-LAN
> # which wasn't good - wrong user name, didn't need to add
> # the mime config
> # in the end just changed the document root.
>
> server.document-root = "/var/lib/mpd/music/"
clh@stereo:/etc/lighttpd$
为了访问音乐文件,我在 /etc/fstab 中添加了以下行
/dev/sda1 /mnt/eSATA ext4 rw 0 0
并使用以下命令创建了挂载点
sudo mkdir /mnt/eSATA
此时,我使用以下命令挂载了外部硬盘驱动器
sudo mount /dev/sda1
最后,我将 MPD 的配置目录链接到音乐,命令如下:
sudo rmdir /var/lib/mpd/music
sudo ln -s /mnt/eSATA/Music /var/lib/mpd/music
我使用这种方法是因为我宁愿不要过多地摆弄 MPD 的配置。
最好检查音乐文件是否归正确的 MPD 用户 ID 所有。使用以下命令执行此操作
clh@stereo:~$ ls -ld /var/lib/mpd/music/* | head
drwxrwxrwx 5 mpd audio 4096 Jan 22 2017 /var/lib/mpd/music/Academy of St. Martin-in-the-Fields
drwxrwxrwx 3 mpd audio 4096 Jan 22 2017 /var/lib/mpd/music/Acantus
drwxrwxrwx 3 mpd audio 4096 Dec 13 2014 /var/lib/mpd/music/Afrikan_Sciences
drwxrwxrwx 5 mpd audio 4096 Sep 25 2016 /var/lib/mpd/music/Afro Celt Sound System
drwxrwxrwx 3 mpd audio 4096 Mar 11 2014 /var/lib/mpd/music/Agnes Obel
drwxrwxrwx 3 mpd audio 4096 Oct 9 2013 /var/lib/mpd/music/Alexander Malter, Dietmar Schwalke, Vladimir Spiakov, Sergej Bezrodny
drwxrwxrwx 3 mpd audio 4096 Oct 8 2013 /var/lib/mpd/music/Ali Farka Toure & Toumani Diabate
drwxrwxrwx 3 mpd audio 4096 Oct 8 2013 /var/lib/mpd/music/Ali Farka Touré with Ry Cooder
drwxrwxrwx 5 mpd audio 4096 Jan 1 2018 /var/lib/mpd/music/Amadou et Mariam
drwxrwxrwx 3 mpd audio 4096 Jul 11 2017 /var/lib/mpd/music/American Authors
clh@stereo:~$
这看起来不错(用户 ID mpd,组 ID audio)。
最后,要禁用无线,我输入了
sudo nmcli radio wifi off
我完成了!是时候重启了
sudo systemctl reboot
重启后,我使用 Cantata 强制 MPD 刷新其数据库。以下是完成后的样子,我正在听 Frameworks 的最新专辑《Imagine Gold》

在曲目列表的左侧,您可以看到 lighttpd 提供的封面图像。
说到音乐
我真的很喜欢 Frameworks 的最新专辑。它与他之前的作品非常相似,他总是能创作出最棒的副歌,非常适合跳舞,而且还带有一丝“渴望”。像往常一样在 Bandcamp 上购买他的作品真是太好了(请参阅上面的链接,您也可以在那里收听)。
最近,我也一直在购买另一种伟大的开源格式的作品,即黑胶唱片。特别是来自 Erased Tapes 唱片公司的两张精美的新专辑,Anne Müller 的《Heliopause》,这是一张精美的唱片,记录了她的独奏大提琴和辅助乐器及声音,“专注于古典乐器的新颖方法”,以及 Penguin Cafe 的《Handfuls of Night》,它的“诞生始于绿色和平组织委托 [Arthur] Jeffes [Penguin Cafe 的成员] 创作四首与四种企鹅相对应的音乐,以帮助提高人们对濒危南极海域的认识”。Linux 用户怎么能没有 Penguin Cafe 的企鹅音乐呢?
4 条评论