Synology への busybox 導入
はじめに
- synology に ssh ログインできるようにしても、less が無い。。。
- そうだ busybox しよう
準備
- DSM から ssh 接続できるようにしておく
- home を使えるようにしておく
- User & Group → User Home → Enable user home service にチェック
- 必要であれば、
/etc/passwd
を修正して、デフォルトシェルを/bin/sh
(/bin/bash へのシノニム) に変更する
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Sep 26 2021 /bin/sh -> bash
busybox 導入
- システムのアーキテクチャを確認する、この例では
arm7l
$ uname -a
Linux synology 3.10.108 #42218 SMP armv7l GNU/Linux synology_armada38x_ds218j
-
busybox のイメージの URL を得る
- busybox binaries
- ここでは 1.21.1 の arm7l を例とする
-
busybox のイメージをダウンロードする
$ mkdir ~/bin
$ cd ~/bin
$ wget https://www.busybox.net/downloads/binaries/1.21.1/busybox-armv7l
- busybox のコマンドを展開する
$ ./busybox-armv7l --instal ~/bin
$ ls
'[' cksum env hd last mke2fs ping6 rtcwake su umount
'[[' clear envdir hdparm less mkfifo pipe_progress runlevel sulogin uname
acpid cmp envuidgid head linux32 mkfs.ext2 pivot_root run-parts sum unexpand
addgroup comm ether-wake hexdump linux64 mkfs.minix pkill runsv sv uniq
add-shell conspy expand hostid linuxrc mkfs.vfat pmap runsvdir svlogd unix2dos
adduser cp expr hostname ln mknod popmaildir rx swapoff unlzma
adjtimex cpio fakeidentd httpd loadfont mkpasswd poweroff script swapon unlzop
arp crond false hush loadkmap mkswap powertop scriptreplay switch_root unxz
arping crontab fbset hwclock logger mktemp printenv sed sync unzip
ash cryptpw fbsplash id login modinfo printf sendmail sysctl uptime
awk cttyhack fdflush ifconfig logname modprobe ps seq syslogd users
base64 cut fdformat ifdown logread more pscan setarch tac usleep
basename date fdisk ifenslave losetup mount pstree setconsole tail uudecode
beep dc fgconsole ifplugd lpd mountpoint pwd setfont tar uuencode
blkid dd fgrep ifup lpq mpstat pwdx setkeycodes tcpsvd vconfig
blockdev deallocvt find inetd lpr mt raidautorun setlogcons tee vi
bootchartd delgroup findfs init ls mv rdate setserial telnet vlock
brctl deluser flock insmod lsattr nameif rdev setsid telnetd volname
bunzip2 depmod fold install lsmod nanddump readahead setuidgid test wall
busybox-armv7l devmem free ionice lsof nandwrite readlink sh tftp watch
bzcat df freeramdisk iostat lspci nbd-client readprofile sha1sum tftpd watchdog
bzip2 dhcprelay fsck ip lsusb nc realpath sha256sum time wc
cal diff fsck.minix ipaddr lzcat netstat reboot sha3sum timeout wget
cat dirname fsync ipcalc lzma nice reformime sha512sum top which
catv dmesg ftpd ipcrm lzop nmeter remove-shell showkey touch who
chat dnsd ftpget ipcs lzopcat nohup renice slattach tr whoami
chattr dnsdomainname ftpput iplink makedevs nslookup reset sleep traceroute whois
chgrp dos2unix fuser iproute makemime ntpd resize smemcap traceroute6 xargs
chmod du getopt iprule man od rev softlimit true xz
chown dumpkmap getty iptunnel md5sum openvt rm sort tty xzcat
chpasswd dumpleases grep kbd_mode mdev passwd rmdir split ttysize yes
chpst echo groups kill mesg patch rmmod start-stop-daemon tunctl zcat
chroot ed gunzip killall microcom pgrep route stat udhcpc zcip
chrt egrep gzip killall5 mkdir pidof rpm strings udhcpd
chvt eject halt klogd mkdosfs ping rpm2cpio stty udpsvd
- PATH を通す
$ echo export PATH='~/bin:$PATH' >> ~/.profile
- PATH を反映する、以下のコマンドか再ログインする
$ source ~/.profile
- busybox のコマンドが使えることを確認する
$ less ~/.proifle
おわりに
- かんたんでしたね