Sain sõrmed ligi seadmele Lacie CloudBox. Tegu on kena ja asjaliku võrgukettaga, mis põhineb Linuxil. Ülesseadmine oli väga lihtne - kaks juhet taha ja paari minuti pärast ilmus võrku avalik kataloog. Brauseriga NAS-i aadressile liikudes sai esmased seadistused kiiresti tehtud. Küll aga on veebiliides ja seadme üldine funktsionaalsus üsnagi piiratud. Mida muud kui rootime ära!
Pilt pärineb Lacie kodulehelt.
Karbist võttes on seadmel koheselt seadistatud Windows/Samba kataloog nimega Family, kuhu kõik kirjutada ja lugeda saavad. Esmasel käivitusel luuakse ka kasutajale admin parool ning ka parooliga kaitstud võrgukataloog. Ilma lisaliigutusteta on seadmel olevad avalikud failid DLNA ja Samba kaudu kenasti ligipääsetavad.
Kuna juttu on siia kogunenud juba omajagu, siis genereerin siia juba ka sisukorra:
#Rootimine
##Ajutise Telneti ligipääsu võimaldamine
Asume nüüd rootimise juurde. Järnev jutt pärineb suures osas NAS-Central Lacie CloudBox artiklist.
Alustuseks tuleb Samba abil minna Family kausta ja tekitada sinna fail telnetd.sh
, ning sisuks panna järnev:
#!/bin/sh
/usr/sbin/telnetd -l /bin/sh
NB! Reavahetused peavad olema UNIX-stiilis ehk \n
. Linuxis see probleemiks ei ole.
Laeme alla ja kompileerime programmi, millega saab LaCie ketaste U-Boot konsooli üle võrgu ligi:
sudo apt-get install make netcat
wget ftp://lacie-nas.org/tools/clunc-1.1.tar.gz
tar -xvf clunc-1.1.tar.gz
cd clunc-1.1/
make
./clunc -i $NASIP
Teeme kettale veebiliidese kaudu restardi ja ootame, kuni konsooli ilmub Marvell>>
ja sisestame sinna:
setenv console "ttyS0,115200 a=a;/*/*/telnetd.sh"
ide reset
run nexus_boot
Kui ees on seisab kiri “Starting kernel …”, võib kombinatsiooniga CTRL+C protsessi lõpetada. Umbes 2-3 minuti pärast peaks ketas olema ligipääsetav telnetiga:
telnet $NASIP
##SSH ligipääsu võimaldamine
Kommenteerime sshd initng failis sisse, et see bootimisel käivitataks:
cd /etc/initng/runlevel
cp default.runlevel default.runlevel.bak
sed -i '/^#sshd$/s/^#//' default.runlevel
Lubame SSH-deemoni:
cd /etc/unicorn/unicorn_conf
cp unicorn.sharing.ssh.conf unicorn.sharing.ssh.conf.bak
sed -i '/enabled:.*false/s/:.*/: true/' unicorn.sharing.ssh.conf
Käivitame SSH-deemoni:
ngc --start sshd
Kuna port 22 on kasutusel SFTP poolt, siis SSH käsurea ligipääs on võimalik pordi 2222 kaudu.
##SSH-võtmete paigaldamine
Root kasutaja parool pole teada, küll aga on võimalik SSH-võtmete abil ligi pääseda. Selleks teeme nii:
ssh -o batchmode=yes 0.0.0.0 # ignore the error - this simply creates .ssh with correct permissions
cd ~/.ssh
ssh-keygen # accept defaults, but be sure to enter a good passphrase
cp id_rsa.pub authorized_keys
chmod 600 authorized_keys
cat >> authorized_keys # paste your public key, press Enter and CTRL+D
Teeme taaskord restardi veebiliidese kaudu ja paari minuti pärast peaks õnnestuma see:
ssh root@$NASIP
#Tähelepanek reset nupu kohta
Õnneks ei puuduta see SSH-seadistusi, kui kõike järgnevat küll - reset nupu kasutamist tasuks vältida. See tõepoolest teeb reseti. Andmed ja seadistused, mis veebiliidese kaudu on tehtud, jäävad alles. Need taastatakse ühe väikese SQLite andmebaasi põhjal. Muud aasjad nagu näiteks /opt
sisse paigutatud failid kustuvad.
#Transmissioni seadistamine
Clodboxi on sisse ehitatud torrentiklient, kuid see veebiliides on väga hädine. Lähemalt uurides selgus, et tagaplaanil tiksub transmission-demon
, mille konfiguratsioonifailid asuvad /lacie/torrent_dir/transmission
kataloogis. Kuna aga unicorn
seda kausta jälgib ja iga muudatuse üle kirjutab, teeme ühe triki.
Kõigepealt peatame Transmissioni:
ngc --stop transmission
Siis kopeerime konfifailid ümber:
cp -R /lacie/torrent_dir/transmission/ /lacie/torrent_dir/transmission-new
Muudame failide õiguseid:
chmod -R 0777 /lacie/torrent_dir/transmission-new/blocklists
chmod -R 0777 /lacie/torrent_dir/transmission-new/resume
chmod -R 0777 /lacie/torrent_dir/transmission-new/torrents
chmod 0666 /lacie/torrent_dir/transmission-new/dht.dat
chmod 0666 /lacie/torrent_dir/transmission-new/stats.json
chmod 0644 /lacie/torrent_dir/transmission-new/settings.json
Teeme vajalikud muudatused:
vi /lacie/torrent_dir/transmission-new/settings.json
Järgmisena tulen uued konfifailid kasutusele võtta. Selleks tuleb ——config-dir
failis /etc/initng/transmission.i
ära muuta, ning käivitada:
ngc --start transmission
Mina näiteks muutsin "rpc-whitelist-enabled": false,
, et saaks TransGUId kasutada.
#Optware
##Optware paigaldamine
Ka järgnev jutt on pärit NAS-Centrali wikist, kuid mugavuse huvides kirjutan selle ka siia.
Olles SSH-ga ClodBoxi ühendunud, loome sinna (kui seda juba olemas ei ole) /opt
kausta, ning seome selle admin-i kodukaustas samanimelisega, lihtsalt mugavuse huvides.
mkdir /shares/admin/opt
mkdir /opt
mount -o bind /shares/admin/opt /opt
Järgmisena paigaldame manuaalselt ipkg-opt
paketi, sest siin on kana ja muna probleem - paketihalduri paigaldamiseks on vaja paketihaldurit, kuid järgmiste käskudega on võimalik paigaldamiseks vajalikku funktsionaalsust jäljendada.
cd /opt
feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/
feednative=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable
ipkg_name=`wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'`
wget $feed/$ipkg_name
tar -xOvzf $ipkg_name ./data.tar.gz | tar -C / -xzvf -
rm $ipkg_name
Seadistame pakettide allikad:
mkdir -p /opt/etc/ipkg
echo "src cross $feed" > /opt/etc/ipkg/feeds.conf
echo "src native $feednative" >> /opt/etc/ipkg/feeds.conf
Lisame opti binaarfailide kataloogi juurkasutaja profiili _path_ile ja loeme need sisse:
echo -e "\nexport PATH=/opt/bin:\$PATH" >> /root/.profile
source /root/.profile
Laeme pakettide nimekirja:
ipkg update
Loome Optware Init Driver skripti näiteks käsuga cat > /opt/etc/rc.optware
, kleebime sinna sisse järgneva teksti, vajutame Enterit ja seejärel CTRL+D:
#!/bin/sh
# Start all init scripts in /opt/etc/init.d
# executing them in numerical order.
#
for i in /opt/etc/init.d/S??* ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
done
Teeme faili käivitatavaks:
chmod 755 /opt/etc/rc.optware
Paigaldame Optware InitNG faili käsuga cat > /etc/initng/optware.i
, paste, Enter, CTRL+D:
#!/sbin/itype
# This is a i file, used by initng parsed by install_service
service optware {
need = unicorn/ready;
stdall = /var/log/messages;
script start = {
if test -z "${REAL_OPT_DIR}"; then
REAL_OPT_DIR=/shares/admin/opt/
fi
if test -n "${REAL_OPT_DIR}"; then
if ! grep ' /opt ' /proc/mounts >/dev/null 2>&1 ; then
mkdir -p /opt
mount -o bind ${REAL_OPT_DIR} /opt
fi
fi
[ -x /opt/etc/rc.optware ] && /opt/etc/rc.optware
};
script stop = {
umount /opt
};
}
Lisame optware
vaikimis _runlevel_i lõppu:
echo "optware" >> /etc/initng/runlevel/default.runlevel
Ja laseme initng
-l Optware käivitada:
ngc --start optware
Pärast taaskäivitamist käivituvad ka kõik programmid, mis oma käivitusskriptid /etc/init.d/ kataloogi paigutavad.
##Optware kasutamine
Lühikese kokkuvõtte saamiseks võib kirjutada lihtsalt ipkg
, pakkide otsimiseks näiteks ipkg list | grep git
.