z4rootをインストールしてしまった
ついに禁断のアプリをIS04に入れてしまった。z4root。
ただ、私的にはrootになることよりも、z4rootがどの様に動いているのか知りたかった。で、z4rootがおまけでインストールしてくれるbusyboxを使ってほぼ標準のLinuxコマンドが使えるようになったので、色々と見てみた。
(ソースを見ているわけではないので、勿論憶測だが)どうもz4rootのtemporary rootというのは、/system/binの内容をext2イメージのファイル(/data/data/com.z4mod.z4root/files/temproot.ext)にコピー(バックアップ)して、そこにsuとbusyoxを追加、そしてそのファイルを/system/binへloopマウントしているようだ。私はpermanent rootは実行していないので、更に推測になるがpermanentでは/system/binの内容をバックアップせずに、直接/system/binにsuやbusyboxを追加するのではないか?と思う。多分、temporary rootであればルート化の痕跡を最小限の抑えることが出来るように作られているのではないだろうか? IS04の場合はAndroid 2.2へのバージョンアップが控えているので、あまりファイルシステムをいじくって、ファームアップ時にトラブルになりたくはない。そういった意味でtemporary rootはありがたいかも。(ただ、あまりrootであちこちいじると収集が付かなくなってしまうが。)
ちなみに、z4root(1.0.3)がインストールするbusyboxのバージョンはv1.17.2で、入っているのは次のコマンド:
Currently defined functions: [, [[, acpid, addgroup, adduser, adjtimex, arp, arping, ash, awk, basename, beep, blkid, bootchartd, brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap, dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake, expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat, fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk, fsck, fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty, grep, gunzip, gzip, halt, hd, hdparm, head, hexdump, hostid, hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init, insmod, install, ionice, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel, kbd_mode, kill, killall, killall5, klogd, last, length, less, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread, losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lspci, lsusb, lzcat, lzma, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg, microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix, mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount, mountpoint, mt, mv, nameif, nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress, pivot_root, pkill, popmaildir, poweroff, printenv, printf, ps, pscan, pwd, raidautorun, rdate, rdev, readahead, readlink, readprofile, realpath, reboot, reformime, renice, reset, resize, rev, rm, rmdir, rmmod, route, rpm, rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script, scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont, setkeycodes, setlogcons, setsid, setuidgid, sh, sha1sum, sha256sum, sha512sum, showkey, slattach, sleep, smemcap, softlimit, sort, split, start-stop-daemon, stat, strings, stty, su, sulogin, sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp, tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true, tty, ttysize, tunctl, udhcpc, udhcpd, udpsvd, umount, uname, unexpand, uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog, wc, wget, which, who, whoami, xargs, xz, xzcat, yes, zcat, zcip
これだけあれば、大抵のことは出来る。Linuxの標準コマンドと完全互換とはいかないが、基本機能は押えてくれているのでLinux愛好家としては嬉しい限りだ。色々とシェルスクリプトも組めるし。(ちなみに、Linuxのbusyboxについては“3種類のbusyboxは何が違うのか?”にメモってある。随分昔のメモで恐縮だが。)
【追記:2011/03/09】
このbusyboxに入っているコマンドを見ているとtelnetdが入っている。と、いうことはTelnetサーバにできるということ。詳しくは“z4rootで携帯がtelnetサーバにもなる”にメモした。
busyboxに入っているshはB shellライクでTABによるファイル名補完もできるので助かる。最初に
# busybox sh
を実行しておけば、busybox内のshが使える。
busyboxは本来シンボリックリンクして使うのが王道だが、/systemの下をいじくるのは避けたい。/sdcardの下に lbin とか言うディレクトリを作って、そこにシンボリックリンクを集約できればいいのだけど、そうもいかない。そこで、z4rootを見習って次のような方法でシンボリックリンクを作ってみた。これを入れておけば標準的なLinuxとほぼ同じ感覚で使えるようになる。
まず、Linuxマシンを使ってrootで次のコマンドを実行する(/tmpなどの作業用ディレクトリで)。
#! /bin/sh dd if=/dev/zero of=lbin.ext bs=1M count=3 mkfs.ext2 -F lbin.ext tune2fs -c 0 -i 0 lbin.ext mkdir ./mnt mount -o loop lbin.ext ./mnt ln -s /system/bin/busybox "./mnt/[" ln -s /system/bin/busybox "./mnt/[[" ln -s /system/bin/busybox ./mnt/acpid ln -s /system/bin/busybox ./mnt/addgroup ln -s /system/bin/busybox ./mnt/adduser ln -s /system/bin/busybox ./mnt/adjtimex ln -s /system/bin/busybox ./mnt/arp ln -s /system/bin/busybox ./mnt/arping ln -s /system/bin/busybox ./mnt/ash ln -s /system/bin/busybox ./mnt/awk ln -s /system/bin/busybox ./mnt/basename ln -s /system/bin/busybox ./mnt/beep ln -s /system/bin/busybox ./mnt/blkid ln -s /system/bin/busybox ./mnt/bootchartd ln -s /system/bin/busybox ./mnt/brctl ln -s /system/bin/busybox ./mnt/bunzip2 ln -s /system/bin/busybox ./mnt/bzcat ln -s /system/bin/busybox ./mnt/bzip2 ln -s /system/bin/busybox ./mnt/cal ln -s /system/bin/busybox ./mnt/cat ln -s /system/bin/busybox ./mnt/catv ln -s /system/bin/busybox ./mnt/chat ln -s /system/bin/busybox ./mnt/chattr ln -s /system/bin/busybox ./mnt/chgrp ln -s /system/bin/busybox ./mnt/chmod ln -s /system/bin/busybox ./mnt/chown ln -s /system/bin/busybox ./mnt/chpasswd ln -s /system/bin/busybox ./mnt/chpst ln -s /system/bin/busybox ./mnt/chroot ln -s /system/bin/busybox ./mnt/chrt ln -s /system/bin/busybox ./mnt/chvt ln -s /system/bin/busybox ./mnt/cksum ln -s /system/bin/busybox ./mnt/clear ln -s /system/bin/busybox ./mnt/cmp ln -s /system/bin/busybox ./mnt/comm ln -s /system/bin/busybox ./mnt/cp ln -s /system/bin/busybox ./mnt/cpio ln -s /system/bin/busybox ./mnt/crond ln -s /system/bin/busybox ./mnt/crontab ln -s /system/bin/busybox ./mnt/cryptpw ln -s /system/bin/busybox ./mnt/cttyhack ln -s /system/bin/busybox ./mnt/cut ln -s /system/bin/busybox ./mnt/date ln -s /system/bin/busybox ./mnt/dc ln -s /system/bin/busybox ./mnt/dd ln -s /system/bin/busybox ./mnt/deallocvt ln -s /system/bin/busybox ./mnt/delgroup ln -s /system/bin/busybox ./mnt/deluser ln -s /system/bin/busybox ./mnt/depmod ln -s /system/bin/busybox ./mnt/devmem ln -s /system/bin/busybox ./mnt/df ln -s /system/bin/busybox ./mnt/dhcprelay ln -s /system/bin/busybox ./mnt/diff ln -s /system/bin/busybox ./mnt/dirname ln -s /system/bin/busybox ./mnt/dmesg ln -s /system/bin/busybox ./mnt/dnsd ln -s /system/bin/busybox ./mnt/dnsdomainname ln -s /system/bin/busybox ./mnt/dos2unix ln -s /system/bin/busybox ./mnt/du ln -s /system/bin/busybox ./mnt/dumpkmap ln -s /system/bin/busybox ./mnt/dumpleases ln -s /system/bin/busybox ./mnt/echo ln -s /system/bin/busybox ./mnt/ed ln -s /system/bin/busybox ./mnt/egrep ln -s /system/bin/busybox ./mnt/eject ln -s /system/bin/busybox ./mnt/env ln -s /system/bin/busybox ./mnt/envuidgid ln -s /system/bin/busybox ./mnt/ether-wake ln -s /system/bin/busybox ./mnt/expand ln -s /system/bin/busybox ./mnt/expr ln -s /system/bin/busybox ./mnt/fakeidentd ln -s /system/bin/busybox ./mnt/false ln -s /system/bin/busybox ./mnt/fbset ln -s /system/bin/busybox ./mnt/fbsplash ln -s /system/bin/busybox ./mnt/fdflush ln -s /system/bin/busybox ./mnt/fdformat ln -s /system/bin/busybox ./mnt/fdisk ln -s /system/bin/busybox ./mnt/fgconsole ln -s /system/bin/busybox ./mnt/fgrep ln -s /system/bin/busybox ./mnt/find ln -s /system/bin/busybox ./mnt/findfs ln -s /system/bin/busybox ./mnt/flock ln -s /system/bin/busybox ./mnt/fold ln -s /system/bin/busybox ./mnt/free ln -s /system/bin/busybox ./mnt/freeramdisk ln -s /system/bin/busybox ./mnt/fsck ln -s /system/bin/busybox ./mnt/fsck.minix ln -s /system/bin/busybox ./mnt/fsync ln -s /system/bin/busybox ./mnt/ftpd ln -s /system/bin/busybox ./mnt/ftpget ln -s /system/bin/busybox ./mnt/ftpput ln -s /system/bin/busybox ./mnt/fuser ln -s /system/bin/busybox ./mnt/getopt ln -s /system/bin/busybox ./mnt/getty ln -s /system/bin/busybox ./mnt/grep ln -s /system/bin/busybox ./mnt/gunzip ln -s /system/bin/busybox ./mnt/gzip ln -s /system/bin/busybox ./mnt/halt ln -s /system/bin/busybox ./mnt/hd ln -s /system/bin/busybox ./mnt/hdparm ln -s /system/bin/busybox ./mnt/head ln -s /system/bin/busybox ./mnt/hexdump ln -s /system/bin/busybox ./mnt/hostid ln -s /system/bin/busybox ./mnt/hostname ln -s /system/bin/busybox ./mnt/httpd ln -s /system/bin/busybox ./mnt/hush ln -s /system/bin/busybox ./mnt/hwclock ln -s /system/bin/busybox ./mnt/id ln -s /system/bin/busybox ./mnt/ifconfig ln -s /system/bin/busybox ./mnt/ifdown ln -s /system/bin/busybox ./mnt/ifenslave ln -s /system/bin/busybox ./mnt/ifplugd ln -s /system/bin/busybox ./mnt/ifup ln -s /system/bin/busybox ./mnt/inetd ln -s /system/bin/busybox ./mnt/init ln -s /system/bin/busybox ./mnt/insmod ln -s /system/bin/busybox ./mnt/install ln -s /system/bin/busybox ./mnt/ionice ln -s /system/bin/busybox ./mnt/ip ln -s /system/bin/busybox ./mnt/ipaddr ln -s /system/bin/busybox ./mnt/ipcalc ln -s /system/bin/busybox ./mnt/ipcrm ln -s /system/bin/busybox ./mnt/ipcs ln -s /system/bin/busybox ./mnt/iplink ln -s /system/bin/busybox ./mnt/iproute ln -s /system/bin/busybox ./mnt/iprule ln -s /system/bin/busybox ./mnt/iptunnel ln -s /system/bin/busybox ./mnt/kbd_mode ln -s /system/bin/busybox ./mnt/kill ln -s /system/bin/busybox ./mnt/killall ln -s /system/bin/busybox ./mnt/killall5 ln -s /system/bin/busybox ./mnt/klogd ln -s /system/bin/busybox ./mnt/last ln -s /system/bin/busybox ./mnt/length ln -s /system/bin/busybox ./mnt/less ln -s /system/bin/busybox ./mnt/linux32 ln -s /system/bin/busybox ./mnt/linux64 ln -s /system/bin/busybox ./mnt/linuxrc ln -s /system/bin/busybox ./mnt/ln ln -s /system/bin/busybox ./mnt/loadfont ln -s /system/bin/busybox ./mnt/loadkmap ln -s /system/bin/busybox ./mnt/logger ln -s /system/bin/busybox ./mnt/login ln -s /system/bin/busybox ./mnt/logname ln -s /system/bin/busybox ./mnt/logread ln -s /system/bin/busybox ./mnt/losetup ln -s /system/bin/busybox ./mnt/lpd ln -s /system/bin/busybox ./mnt/lpq ln -s /system/bin/busybox ./mnt/lpr ln -s /system/bin/busybox ./mnt/ls ln -s /system/bin/busybox ./mnt/lsattr ln -s /system/bin/busybox ./mnt/lsmod ln -s /system/bin/busybox ./mnt/lspci ln -s /system/bin/busybox ./mnt/lsusb ln -s /system/bin/busybox ./mnt/lzcat ln -s /system/bin/busybox ./mnt/lzma ln -s /system/bin/busybox ./mnt/lzop ln -s /system/bin/busybox ./mnt/lzopcat ln -s /system/bin/busybox ./mnt/makedevs ln -s /system/bin/busybox ./mnt/makemime ln -s /system/bin/busybox ./mnt/man ln -s /system/bin/busybox ./mnt/md5sum ln -s /system/bin/busybox ./mnt/mdev ln -s /system/bin/busybox ./mnt/mesg ln -s /system/bin/busybox ./mnt/microcom ln -s /system/bin/busybox ./mnt/mkdir ln -s /system/bin/busybox ./mnt/mkdosfs ln -s /system/bin/busybox ./mnt/mke2fs ln -s /system/bin/busybox ./mnt/mkfifo ln -s /system/bin/busybox ./mnt/mkfs.ext2 ln -s /system/bin/busybox ./mnt/mkfs.minix ln -s /system/bin/busybox ./mnt/mkfs.vfat ln -s /system/bin/busybox ./mnt/mknod ln -s /system/bin/busybox ./mnt/mkpasswd ln -s /system/bin/busybox ./mnt/mkswap ln -s /system/bin/busybox ./mnt/mktemp ln -s /system/bin/busybox ./mnt/modinfo ln -s /system/bin/busybox ./mnt/modprobe ln -s /system/bin/busybox ./mnt/more ln -s /system/bin/busybox ./mnt/mount ln -s /system/bin/busybox ./mnt/mountpoint ln -s /system/bin/busybox ./mnt/mt ln -s /system/bin/busybox ./mnt/mv ln -s /system/bin/busybox ./mnt/nameif ln -s /system/bin/busybox ./mnt/nc ln -s /system/bin/busybox ./mnt/netstat ln -s /system/bin/busybox ./mnt/nice ln -s /system/bin/busybox ./mnt/nmeter ln -s /system/bin/busybox ./mnt/nohup ln -s /system/bin/busybox ./mnt/nslookup ln -s /system/bin/busybox ./mnt/ntpd ln -s /system/bin/busybox ./mnt/od ln -s /system/bin/busybox ./mnt/openvt ln -s /system/bin/busybox ./mnt/passwd ln -s /system/bin/busybox ./mnt/patch ln -s /system/bin/busybox ./mnt/pgrep ln -s /system/bin/busybox ./mnt/pidof ln -s /system/bin/busybox ./mnt/ping ln -s /system/bin/busybox ./mnt/ping6 ln -s /system/bin/busybox ./mnt/pipe_progress ln -s /system/bin/busybox ./mnt/pivot_root ln -s /system/bin/busybox ./mnt/pkill ln -s /system/bin/busybox ./mnt/popmaildir ln -s /system/bin/busybox ./mnt/poweroff ln -s /system/bin/busybox ./mnt/printenv ln -s /system/bin/busybox ./mnt/printf ln -s /system/bin/busybox ./mnt/ps ln -s /system/bin/busybox ./mnt/pscan ln -s /system/bin/busybox ./mnt/pwd ln -s /system/bin/busybox ./mnt/raidautorun ln -s /system/bin/busybox ./mnt/rdate ln -s /system/bin/busybox ./mnt/rdev ln -s /system/bin/busybox ./mnt/readahead ln -s /system/bin/busybox ./mnt/readlink ln -s /system/bin/busybox ./mnt/readprofile ln -s /system/bin/busybox ./mnt/realpath ln -s /system/bin/busybox ./mnt/reboot ln -s /system/bin/busybox ./mnt/reformime ln -s /system/bin/busybox ./mnt/renice ln -s /system/bin/busybox ./mnt/reset ln -s /system/bin/busybox ./mnt/resize ln -s /system/bin/busybox ./mnt/rev ln -s /system/bin/busybox ./mnt/rm ln -s /system/bin/busybox ./mnt/rmdir ln -s /system/bin/busybox ./mnt/rmmod ln -s /system/bin/busybox ./mnt/route ln -s /system/bin/busybox ./mnt/rpm ln -s /system/bin/busybox ./mnt/rpm2cpio ln -s /system/bin/busybox ./mnt/rtcwake ln -s /system/bin/busybox ./mnt/run-parts ln -s /system/bin/busybox ./mnt/runlevel ln -s /system/bin/busybox ./mnt/runsv ln -s /system/bin/busybox ./mnt/runsvdir ln -s /system/bin/busybox ./mnt/rx ln -s /system/bin/busybox ./mnt/script ln -s /system/bin/busybox ./mnt/scriptreplay ln -s /system/bin/busybox ./mnt/sed ln -s /system/bin/busybox ./mnt/sendmail ln -s /system/bin/busybox ./mnt/seq ln -s /system/bin/busybox ./mnt/setarch ln -s /system/bin/busybox ./mnt/setconsole ln -s /system/bin/busybox ./mnt/setfont ln -s /system/bin/busybox ./mnt/setkeycodes ln -s /system/bin/busybox ./mnt/setlogcons ln -s /system/bin/busybox ./mnt/setsid ln -s /system/bin/busybox ./mnt/setuidgid ln -s /system/bin/busybox ./mnt/sh ln -s /system/bin/busybox ./mnt/sha1sum ln -s /system/bin/busybox ./mnt/sha256sum ln -s /system/bin/busybox ./mnt/sha512sum ln -s /system/bin/busybox ./mnt/showkey ln -s /system/bin/busybox ./mnt/slattach ln -s /system/bin/busybox ./mnt/sleep ln -s /system/bin/busybox ./mnt/smemcap ln -s /system/bin/busybox ./mnt/softlimit ln -s /system/bin/busybox ./mnt/sort ln -s /system/bin/busybox ./mnt/split ln -s /system/bin/busybox ./mnt/start-stop-daemon ln -s /system/bin/busybox ./mnt/stat ln -s /system/bin/busybox ./mnt/strings ln -s /system/bin/busybox ./mnt/stty ln -s /system/bin/busybox ./mnt/su ln -s /system/bin/busybox ./mnt/sulogin ln -s /system/bin/busybox ./mnt/sum ln -s /system/bin/busybox ./mnt/sv ln -s /system/bin/busybox ./mnt/svlogd ln -s /system/bin/busybox ./mnt/swapoff ln -s /system/bin/busybox ./mnt/swapon ln -s /system/bin/busybox ./mnt/switch_root ln -s /system/bin/busybox ./mnt/sync ln -s /system/bin/busybox ./mnt/sysctl ln -s /system/bin/busybox ./mnt/syslogd ln -s /system/bin/busybox ./mnt/tac ln -s /system/bin/busybox ./mnt/tail ln -s /system/bin/busybox ./mnt/tar ln -s /system/bin/busybox ./mnt/tcpsvd ln -s /system/bin/busybox ./mnt/tee ln -s /system/bin/busybox ./mnt/telnet ln -s /system/bin/busybox ./mnt/telnetd ln -s /system/bin/busybox ./mnt/test ln -s /system/bin/busybox ./mnt/tftp ln -s /system/bin/busybox ./mnt/tftpd ln -s /system/bin/busybox ./mnt/time ln -s /system/bin/busybox ./mnt/timeout ln -s /system/bin/busybox ./mnt/top ln -s /system/bin/busybox ./mnt/touch ln -s /system/bin/busybox ./mnt/tr ln -s /system/bin/busybox ./mnt/traceroute ln -s /system/bin/busybox ./mnt/traceroute6 ln -s /system/bin/busybox ./mnt/true ln -s /system/bin/busybox ./mnt/tty ln -s /system/bin/busybox ./mnt/ttysize ln -s /system/bin/busybox ./mnt/tunctl ln -s /system/bin/busybox ./mnt/udhcpc ln -s /system/bin/busybox ./mnt/udhcpd ln -s /system/bin/busybox ./mnt/udpsvd ln -s /system/bin/busybox ./mnt/umount ln -s /system/bin/busybox ./mnt/uname ln -s /system/bin/busybox ./mnt/unexpand ln -s /system/bin/busybox ./mnt/uniq ln -s /system/bin/busybox ./mnt/unix2dos ln -s /system/bin/busybox ./mnt/unlzma ln -s /system/bin/busybox ./mnt/unlzop ln -s /system/bin/busybox ./mnt/unxz ln -s /system/bin/busybox ./mnt/unzip ln -s /system/bin/busybox ./mnt/uptime ln -s /system/bin/busybox ./mnt/usleep ln -s /system/bin/busybox ./mnt/uudecode ln -s /system/bin/busybox ./mnt/uuencode ln -s /system/bin/busybox ./mnt/vconfig ln -s /system/bin/busybox ./mnt/vi ln -s /system/bin/busybox ./mnt/vlock ln -s /system/bin/busybox ./mnt/volname ln -s /system/bin/busybox ./mnt/wall ln -s /system/bin/busybox ./mnt/watch ln -s /system/bin/busybox ./mnt/watchdog ln -s /system/bin/busybox ./mnt/wc ln -s /system/bin/busybox ./mnt/wget ln -s /system/bin/busybox ./mnt/which ln -s /system/bin/busybox ./mnt/who ln -s /system/bin/busybox ./mnt/whoami ln -s /system/bin/busybox ./mnt/xargs ln -s /system/bin/busybox ./mnt/xz ln -s /system/bin/busybox ./mnt/xzcat ln -s /system/bin/busybox ./mnt/yes ln -s /system/bin/busybox ./mnt/zcat ln -s /system/bin/busybox ./mnt/zcip cat > ./mnt/.shrc << EOF export PATH=/sdcard/lbin:\$PATH EOF umount ./mnt rmdir ./mnt
次に今作ったlbin.extというファイルをAndroid端末にコピーする。
adb push lbin.ext /sdcard
そして、Android端末に入って、
adb shell su - mkdir /sdcard/lbin busybox sh busybox mount -o ro,loop /sdcard/lbin.ext /sdcard/lbin . /sdcard/lbin/.shrc
(最後の行はピリオッドの後に空白を開けて。)
adb shellで端末に入った時に suの後にmountと“.”を実行すれば、イチイチ busyboxと入力しなくても直接コマンドを実行できる。
/ # ls -a . etc proc .. init root cache init.goldfish.rc sbin config init.qcom.post_boot.sh sdcard d init.qcom.rc sphinx_tmp data init.qcom.sh sqlite_stmt_journals default.prop init.rc sys dev persist system / #
となる。ただし、busybox内蔵のコマンドがAndroidのコマンドより優先になってしまうので、思わぬトラブルが発生する可能性があるので注意が必要だ。
しかし、
root権限取得後のz4rootの環境設定はなんとなく見えたが、それ以前にどうやってroot権限を取得しているのだろうか? しばらく遊べそうだ。