Total Pageviews

Wednesday, 18 October 2017

在Debian上,安装open media vault

If you want to install OMV on to Debian Squeeze via apt you simply have to execute the following commands as root:
Code: Select all
echo "deb http://packages.openmediavault.org/public fedaykin main" > /etc/apt/sources.list.d/openmediavault.list
apt-get update
apt-get install openmediavault-keyring postfix
apt-get update
apt-get install openmediavault
omv-initsystem

--------------
openmediavault is the next generation network attached storage (NAS) solution based on Debian Linux. It contains services like SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more. Thanks to the modular design of the framework it can be enhanced via plugins.
openmediavault is primarily designed to be used in small offices or home offices, but is not limited to those scenarios. It is a simple and easy to use out-of-the-box solution that will allow everyone to install and administrate a Network Attached Storage without deeper knowledge.
--------------------------------------------

OpenMediaVault NAS 折腾记

最近组装了一台 NAS+HTPC 合体的机器,自认为还有比较好的性价比,在折腾了两个星期之后,终于差不多搞定所有功能。这台 HTPC 使用 XBMC 作为媒体中心,使用 OpenMediaVault 作为 NAS 系统,这篇博客主要记录 OpenMediaVault 和 XBMC 的安装过程和问题。另外,因为折腾的时候有些地方来来回回搞了好多次,记录的顺序可能并不严谨。
通过 XBMC 可以直接索引所有电影,使用 themoviedb.org 来获取电影海报、介绍、演员等信息,使用 IMDb 来获取电影的评分。使用 OpenMediaVault 来管理存储,设置共享文件夹等。
在设置成功 VA-API 后,XBMC 就可以使用显卡的硬件加速了,在播放 1080P 时,CPU 占用基本在 20% 左右,还算比较不错了。
当然,在一开始我也可以选择使用 Windows 系统,XBMC 也有 Windows 版本,在 Windows 上基本也不用操心驱动程序的事情,而且 Windows 上设置 Samba 共享也是很方便的。
注意:本篇文章都是以 AMD E350 APU 来讲安装过程的,如果你用的主板并不是 E350,或者型号与我使用的不完全一致,可能安装过程会有不同。另外,因为 OpenMediaVault 是基于 Linux 的,所以这需要你懂一些 Linux 知识。
PS. 另外,本篇文章的操作都是直接使用 root 账户进行,如果你在安装的时候使用了非 root 账户,那么多数操作可能需要加 sudo 来运行。

硬件

  • 机箱:万由 N400 4盘位 NAS 机箱
  • 主板:梅捷 SY-E350-U3M
  • 内存:芝奇 G.Skill DDR3 1333 4G
  • 电源:肯亿 200W 小 1U 电源
  • 系统磁盘:SSK SFD201 USB3.0 16G U盘
因为都是在促销,或者优惠的时候购买的,不包邮费总价在 1400 元左右。

软件

  • 基础系统:Debian Squeeze
  • NAS 系统:OpenMediaVault
  • 媒体中心:XBMC 10.1 Dharma

安装系统

创建 OpenMediaVault 安装盘

因为是用的 NAS 机箱,上面是没有光驱位的,而且我也没有现成的光驱可以用,因为需要用 U 盘来引导安装系统。
首先需要准备一个 512M 以上的 U 盘,然后从 openmediavault.org 下载最新版本的 OpenMediaVault,再使用下面的命令将镜像恢复到 U 盘上:
sudo dd if=openmediavault_0.2.5_i386.iso of=/dev/disk1 bs=4096 
注意:disk1 是在我的机器上 U 盘所在的位置,另外,在 dd 恢复镜像的时候,要使用 /dev/disk1,而不是 disk1s1,disk1s1 就会将镜像恢复到某个分区而不是整个 U 盘了。

启动盘注意事项

因为是用的 USB 3.0 的 U 盘,我在安装系统的时候,把 U 盘插在了 USB 3.0 的接口上,但是在系统安装程序启动之后,USB 3.0 的 U 盘没有自动识别出来,因此要将 USB 3.0 的 U 盘插在 USB 2.0 的口上。
在安装的过程中,可以将 Debian 源的地址修改为网易的源镜像,这样安装软件的速度更快一些,网易源的地址为:
http://mirrors.163.com/debian/ 

安装基本软件

先安装一些基本的软件,包括 X.org,Gnome,GDM3,Vim 和 less:
apt-get install xorg gnome-core gdm3 vim less 
Gnome 和 GDM3 其实到后面都不会用到,但是在运行一些需要图形界面的工具时,例如 glxinfo、fglrxinfo,就需要有 X 支持了。

设置 debian-multimedia 源

为了让一些包默认使用 debian-multimedia 的源,先将 debian-multimedia 的源添加到 /etc/apt/sources.list
deb http://www.debian-multimedia.org squeeze main non-free 
并将所有其他源行首添加 # 注释掉,运行 apt-get update 更新源。
在更新完成之后,再将其他源行首的 # 删掉,再次运行 apt-get update 更新源。

安装 debian-multimedia keyring

apt-get install debian-multimedia-keyring 

设置 XBMC 用户

添加一个用户 xbmc 用户来运行 XBMC:
useradd -m -s /bin/bash xbmc passwd xbmc 

设置用户 openmediavault 密码

在后面的设置过程中,可能需要管理员权限,而这个时候是用的 openmediavault 这个用户,我不清楚这个用户的默认密码是什么,所以需要先设置这个用户的密码:
passwd openmediavault 

启用 SSH

在安装完 OpenMediaVault 之后,就可以直接访问它的 Web 界面了,建议启用 SSH 以便直接在本机进行操作,省去使用键盘看着电视操作的麻烦。
OpenMediaVault 默认的管理员用户名为 admin,密码为 openmediavault

安装显卡驱动

Debian 源里的 ATI 闭源驱动 fglrx 貌似有点问题,因此建议从官方下载后再安装。
官方驱动安装说明:http://www2.ati.com/relnotes/Catalyst_11.6_Linux_Installer.pdf

删除默认驱动

apt-get remove --purge xserver-xorg-video-radeon apt-get remove fglrx-driver fglrx-control fglrx-glx fglrx-atieventsd fglrx-modules-dkms fglrx-glx-ia32 

安装编译环境

官方驱动在安装过程中有一些东西需要编译,因此需要安装一下编译环境,以及相关的依赖包:
apt-get install build-essential ia32-libs linux-headers-$(uname -r) 

下载并安装显卡驱动

注意,安装显卡驱动需要在 X 下面进行,因此可以在启动时,登入到 Gnome,用 Gnome 中的 Terminal 来安装。
另外,在登入时,建议选择 root 账号。
wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-12-x86.x86_64.run chmod +x ati-driver-installer-11-12-x86.x86_64.run ./ati-driver-installer-11-12-x86.x86_64.run 
在安装时,选择自动模式即可,自定义模式似乎有些问题。
在安装完成后,使用 aticonfig 命令来生成默认的 X.org 配置文件:
aticonfig --initial 

配置视频硬件加速

apt-get install libkms1 wget http://www.splitted-desktop.com/static/libva/libva//pkgs/amd64/libva1_0.31.1-1+sds5_amd64.deb wget http://www.splitted-desktop.com/static/libva/xvba-video/xvba-video_0.8.0-1_amd64.deb dpkg -i libva1_0.31.1-1+sds5_amd64.deb dpkg -i xvba-video_0.8.0-1_amd64.deb 
设置一下 /etc/environment:
vi /etc/environment LIBVA_DRIVER_NAME=xvba LIBVA_DRIVERS_PATH=/usr/lib/va/drivers 
安装完成后,进入到 X,在 Gnome Terminal 里检查是否安装成功:
xbmc@openmediavault:~$ vainfo libva: libva version 0.31.1-sds1 Xlib: extension "XFree86-DRI" missing on display ":0.0". libva: va_getDriverName() returns 0 libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so Xlib: extension "XFree86-DRI" missing on display ":0.0". libva: va_openDriver() returns 0 vainfo: VA API version: 0.31 vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0 vainfo: Supported profile and entrypoints VAProfileH264High : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD 
这表示视频硬件加速已经安装成功了。

配置声音以及 HDMI 音频

安装声音服务

apt-get install alsa-base alsamixergui 
要添加 xbmc 用户到 audio 用户组:
usermod -a -G audio xbmc 

设置 HDMI 音频

使用 aplay -l 命令,可以列出系统中的声卡,HDMI 音频即是 card 0: Generic [HD-Audio Generic], device 3: ATI HDMI [ATI HDMI]
root@openmediavault:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Generic [HD-Audio Generic], device 3: ATI HDMI [ATI HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: SB [HDA ATI SB], device 0: ALC887 Analog [ALC887 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: SB [HDA ATI SB], device 1: ALC887 Digital [ALC887 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 
记下 card 和 device 后面的数字,这个要写在 /etc/asound.conf 里面,用来配置默认音频:
root@openmediavault:~# vi /etc/asound.conf pcm.!default { type hw card 0 device 3 } 

取消 HDMI 音频默认静音

使用 amixer scontrols 命令,可以找出 HDMI 音频的控制器,
root@openmediavault:~# amixer scontrols Simple mixer control 'IEC958',0 
使用 amixer sset IEC958 unmute 可以来设置音频取消静音:
root@openmediavault:~# amixer sset IEC958 unmute Simple mixer control 'IEC958',0 Capabilities: pswitch pswitch-joined penum Playback channels: Mono Mono: Playback [on] 
amixer sset IEC958 unmute 添加到 /etc/rc.local 可以在系统启动时就取消 HDMI 音频的静音了。

安装 XBMC

使用 mplayer 测试 VA-API

可以先安装一下 mplayer 来测试 VA-API 是否安装成功:
apt-get install libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libmpeg2-4-dev libass-dev libmpcdec-dev libflac-dev libwavpack-dev python-dev gawk gperf nasm libcwiid1-dev libbluetooth-dev zlib1g-dev libsmbclient-dev libiso9660-dev libssl-dev lsb-release libvdpau-dev libmicrohttpd-dev libmodplug-dev librtmp-dev libcrystalhd-dev curl python-dev libyajl-dev libxtst-dev libfaad-dev yasm subversion libva-dev wget http://www.splitted-desktop.com/static/libva/mplayer-vaapi/mplayer-vaapi-latest-FULL.tar.bz2 tar xpvf mplayer-vaapi-latest-FULL.tar.bz2 cd mplayer-vaapi-20110127 ./checkout-patch-build.sh cd mplayer-vaapi make install 
使用 mplayer 测试 vaapi 是否可用:
mplayer -vo vaapi -va vaapi -lavdopts threads=N moviename.mkv 
如果能正常播放,说明 VA-API 安装成功。

编译安装 XBMC 10.1 Dharma

安装依赖:
apt-get install debhelper python-support cmake autotools-dev autoconf automake unzip libboost-dev zip libtool libgl1-mesa-dev libglu-dev libglew-dev libmad0-dev libjpeg-dev libsamplerate-dev libogg-dev libvorbis-dev libfreetype6-dev libfontconfig-dev libbz2-dev libfribidi-dev libsqlite3-dev libasound2-dev libpng-dev libpcre3-dev liblzo2-dev libcdio-dev libsdl-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libenca-dev libjasper-dev libxt-dev libxmu-dev libxinerama-dev libcurl4-gnutls-dev libdbus-1-dev libhal-storage-dev libhal-dev libpulse-dev libavahi-common-dev libavahi-client-dev libxrandr-dev libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libmpeg2-4-dev libass-dev libmpcdec-dev libflac-dev python-dev gawk gperf libcwiid1-dev libbluetooth-dev zlib1g-dev libsmbclient-dev libboost-thread-dev libiso9660-dev libssl-dev lsb-release libmicrohttpd-dev libmodplug-dev librtmp-dev libcrystalhd-dev curl python-dev libyajl-dev libplist-dev libusb-dev libudev-dev autopoint libmms-dev libmysqlclient-dev 
下载 XBMC 10.1 Dharma 代码:
wget --no-check-certificate https://nodeload.github.com/xbmc/xbmc/zipball/10.1-Dharma -O xbmc-10.1.zip unzip xbmc-10.1.zip cd xbmc-xbmc-9f3aec3 
编译和安装:
./bootstrap ./configure --prefix=/usr/local/xbmc --enable-vaapi make -j2 sudo make install 
如果需要蓝光导航支持的话,需要加上 libbluray,先编译安装 libbluray 库:
git clone git://git.videolan.org/libbluray.git cd libbluray/ ./bootstrap ./configure --prefix=/usr make make install 
那么在前面 configure XBMC 的时候,就要添加 --enable-libbluray 参数:
./configure --prefix=/usr/local/xbmc --enable-vaapi --enable-libbluray 

配置 XBMC

禁用 GDM3

因为要使用 XBMC 作为默认的 X 界面,所以需要禁用掉 GDM3:
apt-get install chkconfig chkconfig —level 2345 gdm3 off 

设置 xbmc 用户自动登录

编辑 /usr/bin/autologin,填入以下内容:
#!/bin/bash /bin/login -f xbmc 
并添加可执行权限:
chmod +x /usr/bin/autologin 
编辑 /etc/inittab,找到 1:2345:respawn:/sbin/getty 38400 tty1,修改为:
1:2345:respawn:/sbin/getty -n -l /usr/bin/autologin 38400 tty1 

设置 xbmc 用户自动启动 XBMC

编辑 /home/xbmc/.profile,在最后添加以下内容:
PATH=/usr/local/xbmc/bin:$PATH if [ -z “$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then startx fi 

修正 XBMC 里不能关机、重启、休眠

apt-get install policykit-1 upower acpi-support vi /var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla ## 填入以下内容: [Actions for xbmc user] Identity=unix-user:xbmc Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.* ResultAny=yes ResultInactive=no ResultActive=yes 

设置 xbmc 用户的 X 初始化文件

编辑 /home/xbmc/.xinitrc,填入以下内容:
exec /usr/bin/ck-launch-session /usr/bin/dbus-launch --exit-with-session /usr/local/xbmc/bin/xbmc-standalone 
并修改权限:
chown xbmc:xbmc /home/xbmc/.xinitrc 

修正 XBMC 主题中文的问题

XBMC 中的多数主题自带的字体都不支持中文显示,因此需要使用一个带中文的字体来替换主题自带的字体,我使用的主题是 Rapier,使用 YaHei.Consolas.1.12.ttf 这个字体来替换主题自带的字体。
先将 YaHei.Consolas.1.12.ttf 复制到主题所在目录的 font 文件夹中:
cp YaHei.Consolas.1.12.ttf /home/xbmc/.xbmc/addons/skin.rapier/fonts 
然后使用 bash 脚本来直接删除原来的字体,并用原来的文件名软连接到新的替换字体:
CN_FONT=YaHei.Consolas.1.12.ttf for f in `ls *.ttf`; do if [ "$f" != $CN_FONT ]; then rm $f; ln -s $CN_FONT $f; fi; done 

设置视频硬件加速

进入“设置》视频》播放”,进行以下设置:
* 取消选中 Allow hardware acceleration (VDPAU) * 选中 Allow hardware acceleration (VAAPI) 
进入“设置》系统》视频输出”,进行以下设置:
* 垂直空白同步:总是开启 

设置声音输出

进入“设置》系统》音频输出”,进行以下设置:
* 音频输出设备:hdmi * 直通输出设备:hdmi 
另外,由于我的电视不支持“AC3 数字音效”和“DTS 数字音效”,所以也要取消选中这两个选项。

安装 Web 界面

我使用 iPhone 来控制 XBMC,试用了几个 Web 界面之后,觉得 wTouch 这个界面用起来比较爽。
首先需要在程序扩展里,安装“Web 界面》wTouch”。
然后在“设置》系统》网络》服务”中进行以下设置:
* 选中“允许通过 HTTP 控制 XBMC” * 设置“Web 界面”为“wTouch” * 选中“允许异地程序控制 XBMC” 
在 iPhone 中使用 Safari 打开 XBMC 的 IP + 设置中的端口,例如 192.168.2.100:8080,点击 Safari 底部中间的动作按钮,选择“添加至主屏幕”,这样以后就可以像使用一般应用程序一样来使用 wTouch 来控制 XBMC 了。
wTouch 主要使用触摸来操作,使用还是比较方便的,可以在 wTouch 界面中点击右上角的“Help”,来查看使用帮助。

XBMC 中文扩展库

中文扩展库项目地址: http://code.google.com/p/xbmc-addons-chinese/
cd /home/xbmc wget http://xbmc-addons-chinese.googlecode.com/files/repository.googlecode.xbmc-addons-chinese.zip 
在扩展中,从 zip 安装
可以自行选择添加需要的扩展,已有扩展列表见 http://bbs.htpc1.com/thread-76915-1-1.html

其他设置

HDMI 输出不能全屏的问题

先添加一个脚本 /usr/bin/atiscan 来设置 HDMI 输出,脚本来源 http://www.edmondscommerce.co.uk/linux/ati-underscan-fix-for-linux-ubuntu-etc/
#!/bin/bash # # Suggest you put this script into you home directory, eg # mkdir -p ~/bin # gedit ~/bin/atiscan # copy paste this in # chmod +x ~/bin/atiscan # CONFIG STUFF YOU WILL EDIT # You can let the script query you for this stuff, though once you have run it once, # suggest you edit the script and hard code the settings DISPLAY_TYPE='dfp1' WIDTH=1920 HEIGHT=1080 # SCRIPT STARTS if [ "" == "$WIDTH" ] then echo "please enter your display width (eg 1280, 1920 etc)" read WIDTH fi if [ "" == "$WIDTH" ] then echo "empty widt, dying" exit 1 fi if [ "" == "$HEIGHT" ] then echo "please enter your display width (eg 1280, 1920 etc)" read HEIGHT fi if [ "" == "$HEIGHT" ] then echo "empty height, dying" exit 1 fi # DISPLAY TYPE if [ "" == "$DISPLAY_TYPE" ] then echo "First we need to check which type of display it is" types="crt1 lvds tv cv tmds1 crt2 tmds2 tmds2i dfp1 dfp2 dfp3 dfp4 dfp5 dfp6" for t in $types do aticonfig --query-dispattrib=$t,positionX done echo" The one that didnt error is the right one If you are running more than one monitor/display then take your pick! " echo "Please enter the one you want to set to $WIDTH x $HEIGHT" read DISPLAY_TYPE fi if [ "" == "$DISPLAY_TYPE" ] then echo "empty display type, dying" exit 1 fi #POSITION aticonfig --set-dispattrib=$DISPLAY_TYPE,positionX:0 aticonfig --set-dispattrib=$DISPLAY_TYPE,positionY:0 aticonfig --set-dispattrib=$DISPLAY_TYPE,sizeX:$WIDTH aticonfig --set-dispattrib=$DISPLAY_TYPE,sizeY:$HEIGHT 
在添加完脚本后,可以让这个 atiscan 在启动 XBMC 之前运行,修改 /home/xbmc/.xinitrc,在 xbmc-standalone 前一行,添加一句 /usr/bin/atiscan,.xinitrc 的内容就会变成像下面这样:
/usr/bin/atiscan exec /usr/bin/ck-launch-session /usr/bin/dbus-launch --exit-with-session /usr/local/xbmc/bin/xbmc-standalone 

格式化硬盘为 ext4 时的选项

如果硬盘只做为电影存储的盘,那么有必要将 block size 设置偏大一些,否则一块 2T 的硬盘,inode 所占的空间大概要在 100GB 左右。
参考:http://wiki.debian.org.hk/w/Format_disk_as_Ext2,_Ext3_or_Ext4

备份系统

因为系统是装在 U 盘上的,可以直接在另外的电脑上,或者 PE 系统,使用 GHOST 来备份,也可以使用 tar 命令来将系统分区备份成一个文件:
tar czpvf /backup$(date "+%Y-%m-%d").tar.gz --exclude=/proc --exclude=/media --exclude=/mnt --exclude=/dev --exclude=/sys --exclude=/tmp --exclude=/lost+found --exclude=/backup$(date "+%Y-%m-%d").tar.gz / 
还原时同样使用 tar 命令:
tar -xvpzf /backup.tar.gz -C / mkdir /proc /lost+found /mnt /sys /media 

截图欣赏

后记

其实,XBMC 在 Linux 上使用并不太完美,最不折腾的方案还是用 Windows + XBMC + 远程桌面 来管理,Windows 的共享也不是特别麻烦,特别是作为 HTPC,并不需要特别严格的权限管理。
不过,总算是折腾完了,目前运行也算良好。
希望此文对正在折腾 NAS+HTPC 的你有所帮助。

参考资料

项目地址:https://github.com/openmediavault/openmediavault
---------------
 

打造个人私有云!开源 NAS 系统推荐:OpenMediaVault

给大家推荐另外一个开源的 NAS 系统「OpenMediaVault」基于 Debian 系统,拥有一系列高级功能,例如卷管理、RAID支持、磁盘映像和远程管理。

OpenMediaVault体验

根据介绍「OpenMediaVault」主要适用于家庭或者小型办公室,只需要制作 U 盘启动,然后开机引导安装即可。下面采用虚拟机的方式作为体验,安装过程基本都是向导模式,选择中文语言后,根据提示一路继续就行了。
20230322
安装好后,重启系统进入如下的界面就安装成功了,可以看到访问系统的 IP 地址,以及你也可以输入用户名和密码来进行一些命令行操作。
20230322-1
浏览器输入 IP 地址登录「OpenMediaVault」的管理界面,默认的用户名是:admin,密码是:openmediavault
20230322-2
硬盘支持方面,你可以添加多块硬盘,支持 RAID 管理,磁盘格式支持 EXT3/4、NTFS、FAT、XFS 等。
20230322-4
服务方面支持 FTP、NFS、Rsync、SMB/CIFS 等多种网络访问和同步。可用于管理文件共享、多媒体服务、备份和数据恢复等任务。
20230322-3
插件方面可以安装的功能也非常多,例如:多媒体中心插件、BitTorrent、文件管理器、远程共享插件、下载工具、虚拟机插件、轻量级虚拟化 Docker 插件等等。
20230322-6
安全功能方面提供了各种安全设置,例如用户权限、防火墙和 HTTPS / SSL 加密等等,以确保存储数据的安全性和完整性。
20230322-5

总结

对于刚入门  NAS 系统的用户来说,这个「OpenMediaVault」非常不错,操作逻辑简单,功能也很丰富,通过插件,可以轻松地扩展其功能。
另外玩客云(玩客云刷 Armbian 系统教程)也可以安装「OpenMediaVault」系统,具体这里就不多介绍了,有这个设备的小伙伴可以折腾试试看。

下载地址

  • 官方网站:
    https://www.openmediavault.org

 

 


 

No comments:

Post a Comment