isLandcenter 非番中

ブログトップ | ログイン

dstat は vmstat, iostat, netstat などの stat 系管理ツールをまとめた、多用途管理ツールです。

SESE Linux(SLE/openSUSE)15 ではデフォルトでインストールされていないので、 yast > software > Software Manegement から検索するか、 software.opensuse.org から検索して、1クリックインストールします。

SUSE Linux の stat 系管理ツール多用途ツールdstat を使ってみる_a0056607_14164159.png



Seagate BarraCuda 3.5" 2TB 内蔵ハードディスク HDD 2年保証 6Gb/s 256MB 7200rpm 正規代理店品 ST2000DM008

新品価格
¥6,566から
(2020/1/19 14:36時点)



Anker PowerCore 10000 (モバイルバッテリー 10000mAh 最小最軽量 大容量)【PSE認証済/PowerIQ搭載】 iPhone&Android対応 *2019年12月時点 (ブラック)

新品価格
¥2,799から
(2020/1/20 12:36時点)

- まずは動かしてみる -

まず使ってみます。デフォルトで1秒間隔でステータスを返してくれます。

sle15:~ # dstat
You did not select any stats, using -cdngy by default.
--total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai stl| read writ| recv send| in out | int csw
5 1 89 5 0| 52k 996k| 0 0 | 13B 298B|1335 3784
4 1 92 3 0|4096B 520k| 85k 86k| 0 0 |1373 3876
6 1 89 4 0|4096B 348k| 109k 112k| 0 0 |1500 4161
5 1 91 4 0|4096B 524k| 65k 66k| 0 0 |1312 3726
5 1 91 3 0|8192B 413k| 109k 112k| 0 0 |1412 4268
11 1 85 2 0|4096B 156k| 158k 162k| 0 0 |1517 3951
5 2 80 13 0| 0 1224k| 105k 106k| 0 0 |1498 4045
4 1 90 5 0| 0 3384k| 72k 72k| 0 0 |1327 3942
5 1 92 2 0| 0 224k| 112k 113k| 0 0 |1405 4070
5 1 91 3 0|8192B 780k| 90k 90k| 0 0 |1342 3978 ^C
sle15:~ #

ー help を見てみる ー

Help で使い方を調べてみます。

sle15:~ # dstat --help
Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics

Dstat options:
-c, --cpu enable cpu stats
-C 0,3,total include cpu0, cpu3 and total
-d, --disk enable disk stats
-D total,hda include hda and total
-g, --page enable page stats
-i, --int enable interrupt stats
-I 5,eth2 include int5 and interrupt used by eth2
-l, --load enable load stats
-m, --mem enable memory stats
-n, --net enable network stats
-N eth1,total include eth1 and total
-p, --proc enable process stats
-r, --io enable io stats (I/O requests completed)
-s, --swap enable swap stats
-S swap1,total include swap1 and total
-t, --time enable time/date output
-T, --epoch enable time counter (seconds since epoch)
-y, --sys enable system stats

--aio enable aio stats
--fs, --filesystem enable fs stats
--ipc enable ipc stats
--lock enable lock stats
--raw enable raw stats
--socket enable socket stats
--tcp enable tcp stats
--udp enable udp stats
--unix enable unix stats
--vm enable vm stats
--vm-adv enable advanced vm stats
--zones enable zoneinfo stats

--list list all available plugins
--<plugin-name> enable external plugin by name (see --list)

-a, --all equals -cdngy (default)
-f, --full automatically expand -C, -D, -I, -N and -S lists
-v, --vmstat equals -pmgdsc -D total

--bits force bits for values expressed in bytes
--float force float values on screen
--integer force integer values on screen

--bw, --black-on-white change colors for white background terminal
--color force colors
--nocolor disable colors
--noheaders disable repetitive headers
--noupdate disable intermediate updates
-o, --output file write CSV output to file
--profile show profiling statistics when exiting dstat
-V, --version show version and system info
--debug 1,2,3 debug mode

delay is the delay in seconds between each update (default: 1)
count is the number of updates to display before exiting (default: unlimited)

sle15:~ #


- とりあえず全部見る dstat -af -

-af オプションですべてのステータスを見てみます。ディスクの数が多いと、画面に収まり切りません。

sle15:~ # dstat -af
--total-cpu-usage-- --dsk/sr0-----dsk/vda-- --net/eth0- ---paging-- ---system--
usr sys idl wai stl| read writ: read writ| recv send| in out | int csw
1 0 93 5 0| 1B 0 :7910B 535k| 0 0 | 3B 22B| 192 411
1 0 91 7 0| 0 0 : 0 190k| 560B 270B| 0 0 | 212 337
1 0 89 10 0| 0 0 : 0 692k|3206B 716B| 0 0 | 236 520
1 1 72 25 1| 0 0 : 0 2500k| 518B 1756B| 0 0 | 176 495
0 0 98 2 0| 0 0 : 0 873k| 728B 784B| 0 0 | 193 383
6 2 84 8 0| 0 0 : 112k 1010k| 660B 566B| 0 0 | 290 773 ^C
sle15:~ #


- インターバルを指定する n -

デフォルトインターバルを3秒に設定してみました。

sle15:~ # dstat 3
You did not select any stats, using -cdngy by default.
--total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai stl| read writ| recv send| in out | int csw
5 1 89 5 0| 52k 996k| 0 0 | 13B 298B|1335 3784
5 2 91 3 0|2731B 391k| 51k 51k| 0 0 |1331 3851
5 1 90 4 0|1365B 504k| 76k 76k| 0 0 |1349 4053
5 1 86 7 0|5461B 639k| 75k 75k| 0 0 |1475 3987
5 1 89 5 0|4096B 358k| 93k 93k| 0 0 |1380 4637 ^C
sle15:~ #

- vmstat の互換モードで表示する -v -

-v を付けると vmstat と同じフォーマットで出てきます。

sle15:~ # dstat -v
---procs--- ------memory-usage----- ---paging-- -dsk/total- ---system-- --total-cpu-usage--
run blk new| used free buff cach| in out | read writ| int csw |usr sys idl wai stl
0 1.0 0.5|9332M 161M 1080k 5185M| 13B 298B| 52k 996k|1335 3784 | 5 1 89 5 0
3.0 1.0 0|9332M 161M 1080k 5185M| 0 0 |4096B 1804k|1227 3773 | 4 1 91 3 0
0 2.0 0|9332M 161M 1080k 5185M| 0 0 |4096B 1260k|1423 3547 | 4 1 80 15 0
1.0 0 0|9332M 161M 1080k 5185M| 0 0 | 0 1220k|1535 3744 | 5 1 70 24 0
2.0 1.0 0|9332M 161M 1080k 5185M| 0 0 | 0 364k|1213 3266 | 4 1 92 3 0
1.0 0 0|9332M 161M 1080k 5185M| 0 0 | 0 184k|1264 3916 | 5 2 90 4 0
0 1.0 0|9332M 161M 1080k 5185M| 0 0 | 0 412k|1276 3595 | 5 1 90 4 0^C
sle15:~ #

ー cpu, disk, network のみ表示する ー

-cdn オプションは、それぞれ cpu, Network, Disk のステータスを返してきます。

sle15:~ # dstat -cdn
--total-cpu-usage-- -dsk/total- -net/total-
usr sys idl wai stl| read writ| recv send
5 1 89 5 0| 52k 996k| 0 0
5 1 92 2 0|4096B 212k| 170k 174k
6 4 90 0 0|4096B 180k| 60k 60k
12 2 84 2 0|4096B 196k| 87k 87k
5 1 92 2 0|4096B 284k| 87k 88k
5 1 92 2 0|4096B 188k| 73k 73k
4 1 92 2 0|4096B 196k| 67k 67k
5 1 93 2 0|4096B 212k| 74k 74k^C
sle15:~ #

ー 表示結果に時刻を付ける ー

-t オプションで、収集した時刻を付けてくれます。


sle15:~ # dstat -tcdn
----system---- --total-cpu-usage-- -dsk/total- -net/total-
time |usr sys idl wai stl| read writ| recv send
17-01 14:12:39| 5 1 89 5 0| 52k 996k| 0 0
17-01 14:12:40| 4 1 93 2 0| 0 176k| 266B 420B
17-01 14:12:41| 5 0 91 4 0| 0 412k|2432B 6838B
17-01 14:12:42| 4 1 91 4 0| 0 968k|2127B 2163B
17-01 14:12:43| 5 1 87 7 0|4096B 780k| 106B 228B
17-01 14:12:44| 5 1 91 3 0| 0 256k|1326B 2622B
17-01 14:12:45| 4 1 91 4 0| 0 280k| 408B 784B
17-01 14:12:46| 5 1 92 2 0| 0 188k| 638B 1096B^C

ー 結果を csv ファイルに書き出す ー

--output FileName で結果をテキスト化してくれます。これはこれで便利そう。

sle15:~ # dstat -v --output dstat.csv
---procs--- ------memory-usage----- ---paging-- -dsk/total- ---system-- --total-cpu-usage--
run blk new| used free buff cach| in out | read writ| int csw |usr sys idl wai stl
0 1.0 0.5|9326M 155M 1080k 5198M| 13B 301B| 52k 996k|1335 3784 | 5 1 89 5 0
1.0 0 0|9326M 155M 1080k 5198M| 0 0 |4096B 396k|1460 4840 | 7 5 86 2 0
0 1.0 0|9326M 155M 1080k 5198M| 0 0 |4096B 460k|1454 3902 | 11 3 82 3 0
0 0 0|9326M 155M 1080k 5198M| 0 0 | 12k 188k|1521 4287 | 12 1 84 2 0
0 1.0 0|9326M 155M 1080k 5198M| 0 0 |4096B 3052k|1809 3747 | 5 1 88 5 0
1.0 1.0 0|9326M 155M 1080k 5198M| 0 0 |4096B 424k|1346 3628 | 5 1 90 4 0
0 1.0 0|9326M 155M 1080k 5198M| 0 0 |4096B 260k|1249 3593 | 5 1 92 2 0
0 0 0|9326M 155M 1080k 5198M| 0 0 |4096B 288k|1229 3657 | 4 2 89 5 0
2.0 0 0|9326M 155M 1080k 5198M| 0 0 |8192B 268k|1236 3578 | 5 1 90 4 0
0 0 0|9326M 155M 1080k 5198M| 0 0 |4096B 284k|1247 3440 | 5 1 91 2 0
0 0 0|9326M 155M 1080k 5198M| 0 0 |4096B 345k|1414 3987 | 7 2 88 4 0^C
sle15:~ #









by islandcenter | 2020-01-19 14:37 | SUSE | Comments(0)

SUSE Linux でよく使う、忘れやすい使えるコマンド

普段よく使うのに、毎日は使わないので、ついつい引数やオプションを間違えてしまうったり、使い方を忘れるコマンド、よく使うケースをまとめてみました。
ダメですね。最近物忘れがひどい。本当に「ダメ人間」です。お前、何年やってんだって言われそうです。


- ps と kill -

プロセスを止めるためによく使います。例えば、Firefox ブラウザが調子悪い時

sle15:~ # firefox &
[1] 20876
sle15:~ # ps aux | grep firefox
root 20876 13.5 1.4 2105552 232876 pts/5 Sl 11:39 0:04 /usr/lib64/firefox/firefox
root 20989 0.0 0.0 7432 828 pts/5 S+ 11:40 0:00 grep --color=auto firefox
sle15:~ # kill 20876
sle15:~ # ps aux | grep firefox
root 21004 0.0 0.0 7432 988 pts/5 S+ 11:41 0:00 grep --color=auto firefox

Firefox がプロセスの一覧から消えました。

ただし単純なユーザアプリケーションの場合はこれでもいいのですが、サービスデーモンの場合は、もっと慎重にやるべきです。
結局、「再起動したら治った」ケースも良くあります。

- ファイルを探す find -

アプリケーションや、サービスの設定ファイルを探すためによく使います。 SUSE Linux の場合、ほとんど YaST ツールで設定するのが無難なのですが、時折、「xxx.conf ってどこ?」という SUSE ならではの場合があります。そんな時に使います。
sle15:~ # find /etc -name hosts <- /etc 以下の hosts というファイル
/etc/hosts
sle15:~ # find /etc -name "host*" <- host...で始まるすべてのファイル、" " で括ります。
/etc/host.conf
/etc/hostname
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/hosts.equiv
/etc/hosts.lpd
/etc/wicked/extensions/hostname
/etc/hosts.YaST2save
sle15:~ #

sle15:~ # find /etc -name "*host*" <-- hostが含まれるすべてのファイル
/etc/opt/chrome/native-messaging-hosts
/etc/dbus-1/system.d/org.freedesktop.hostname1.conf
/etc/host.conf
/etc/hostname
/etc/hosts
/etc/hosts.allow

:中略

/etc/nginx/vhosts.d
sle15:~ #



- ファイルの日付を調べる stat, find -atime -

普段、あまり使わないのですが、ファイルの更新日付や最終アクセス日を確認するために使います。stat へぇーでした。
find の方が実用的なケースが多いでしょう。

sle15:~ # touch /home/user/test.txt

sle15:~ # ls -al /home/user/test.txt
-rw-r--r-- 1 root root 0 Jan 12 12:16 /home/user/test.txt

sle15:~ # cat /home/user/test.txt <-- cat してみる
sle15:~ # stat /home/user/test.txt
File: /home/user/test.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 35h/53d Inode: 278 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-01-12 12:16:53.934678002 +0900 <---cat したのでアクセス時間だけ微妙に違う
Modify: 2020-01-12 12:16:37.529088236 +0900
Change: 2020-01-12 12:16:37.529088236 +0900
Birth: -

また、長期間アクセスがないファイルを探すには find コマンドに -atime オプションを使います。
例えば 365 日、アクセスが無いファイルを探すには次の様に実行します。

sle15:~ # find /share/SISO/ -atime +365
/share/SISO/rhel/rhel-server-5.9-x86_64-dvd.iso
/share/SISO/rhel/rhel-server-6.8-x86_64-boot.iso
/share/SISO/rhel/rhel-server-6.8-x86_64-dvd.iso
/share/SISO/rhel/rhel-server-7.3-x86_64-boot.iso
/share/SISO/rhel/rhel-server-7.3-x86_64-dvd.iso

:以下略

※ ただし、バックアップジョブなどで、日々アクセスされているとアクセス日も更新されます。ちょっと向いていないかも知れません。
ただ、最終更新日を見つけるには -ctime オプションの方がいい様です。

- ログの最後を確認 tail, less -

sle15:~ # rcntpd restart <-- サービスをリスタートしてみる

sle15:~ # tail /var/log/messages <-- tail のデフォルトは10行表示
2020-01-15T10:17:27.156734+09:00 sle15 snmpd[1598]: Connection from UDP: [192.168.1.221]:58800->[192.168.1.240]:161
2020-01-15T10:17:42.856286+09:00 sle15 systemd[1]: Stopping NTP Server Daemon...
2020-01-15T10:17:42.934525+09:00 sle15 systemd[1]: Stopped NTP Server Daemon.
2020-01-15T10:17:42.935309+09:00 sle15 systemd[1]: Starting NTP Server Daemon...
2020-01-15T10:17:43.000095+09:00 sle15 ntpd[10995]: ntpd 4.2.8p11@1.3728-o (1): Starting
2020-01-15T10:17:43.000354+09:00 sle15 ntpd[10995]: Command line: /usr/sbin/ntpd -p /var/run/ntp/ntpd.pid -g -u ntp:ntp -c /etc/ntp.conf
2020-01-15T10:17:43.007380+09:00 sle15 ntpd[10996]: proto: precision = 0.072 usec (-24)
2020-01-15T10:17:43.030409+09:00 sle15 ntpd[10996]: switching logging to file /var/log/ntp
2020-01-15T10:17:43.037980+09:00 sle15 start-ntpd[10990]: Starting network time protocol daemon (NTPD)
2020-01-15T10:17:43.038376+09:00 sle15 systemd[1]: Started NTP Server Daemon.

sle15:~ # tail /var/log/messages -n 5 <--- -n [数字] で「数」行分表示
2020-01-15T10:17:43.000354+09:00 sle15 ntpd[10995]: Command line: /usr/sbin/ntpd -p /var/run/ntp/ntpd.pid -g -u ntp:ntp -c /etc/ntp.conf
2020-01-15T10:17:43.007380+09:00 sle15 ntpd[10996]: proto: precision = 0.072 usec (-24)
2020-01-15T10:17:43.030409+09:00 sle15 ntpd[10996]: switching logging to file /var/log/ntp
2020-01-15T10:17:43.037980+09:00 sle15 start-ntpd[10990]: Starting network time protocol daemon (NTPD)
2020-01-15T10:17:43.038376+09:00 sle15 systemd[1]: Started NTP Server Daemon.
sle15:~ #


less は表示画面をカーソルキーでスクロールできるので、便利ですね。意外と知らなかったりします。

sle15:~ # less /var/log/messages <---- ファイルを開いたら "G" (shift+g)か ”>” で行末に移動します。終了する時は "q" で抜けます。

SUSE Linux でよく使う忘れやすい使えるコマンド_a0056607_19065358.png

応用して、最近発生した error だけ grep して抜き出します。

sle15:~ # tail -n 10000 /var/log/messages | grep fail 
  <-- 10000 行の中から "fail" の文字列を抜き出す。

2020-01-13T00:00:02.249817+09:00 sle15 logrotate[9676]: error: stat of /var/log/chrony/*.log failed: Permission denied
2020-01-13T00:00:02.292435+09:00 sle15 systemd[1]: logrotate.service: Unit entered failed state.
2020-01-13T20:52:32.361748+09:00 sle15 smartd[906]: Device: /dev/sdd [SAT], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 75 to 76
2020-01-14T00:00:01.960473+09:00 sle15 logrotate[18671]: error: stat of /var/log/chrony/*.log failed: Permission denied
2020-01-14T00:00:02.031651+09:00 sle15 systemd[1]: logrotate.service: Unit entered failed state.
2020-01-15T00:00:00.252361+09:00 sle15 logrotate[24918]: error: stat of /var/log/chrony/*.log failed: Permission denied
2020-01-15T00:00:00.272513+09:00 sle15 systemd[1]: logrotate.service: Unit entered failed state.


- 即時時刻合わせ ntpdate -ub ntp.server -

普段 ntpd で、外部のタイムソースと同期している場合、あまり使う事がないかもしれません。
で、時刻のズレがある場合に慌ててしまうのですね。

sle15:~ # ntpdate -q ntp.nict.jp
      <-- 同期状態を -q オプションで確認する

server 133.243.238.163, stratum 1, offset 0.096820, delay 0.16020
server 133.243.238.164, stratum 1, offset 0.098111, delay 0.16058
server 133.243.238.244, stratum 1, offset -0.000385, delay 0.23285
server 133.243.238.243, stratum 1, offset 0.009039, delay 0.21541
15 Jan 10:46:29 ntpdate[12177]: adjust time server 133.243.238.163 offset 0.096820 sec
<-- ほぼ合っている

sle15:~ # date
Wed Jan 15 10:46:33 JST 2020

sle15:~ # date -s "10:40" <-- 強制的に時刻を変えてみた
Wed Jan 15 10:40:00 JST 2020

sle15:~ # ntpdate -q ntp.nict.jp
server 133.243.238.163, stratum 1, offset 415.140090, delay 0.15050
server 133.243.238.164, stratum 1, offset 415.205100, delay 0.14244
server 133.243.238.244, stratum 1, offset 415.079092, delay 0.23996
server 133.243.238.243, stratum 1, offset 415.208039, delay 0.16280
15 Jan 10:40:13 ntpdate[12256]: step time server 133.243.238.164 offset 415.205100 sec
       <--- 時刻ずれが発生している。

sle15:~ # ntpdate ntp.nict.jp
15 Jan 10:40:25 ntpdate[12259]: the NTP socket is in use, exiting 
      <-- ntpdでソケットが使われているよ


sle15:~ # ntpdate -ub ntp.nict.jp
15 Jan 10:47:33 ntpdate[12264]: step time server 133.243.238.163 offset 415.208919 sec
           <-- -u: 非特権モード -b:Step モード(即時同期)で時刻合わせをしてみた

※ 本来はアプリケーションの動作に影響する step モードで変更すべきではありません。
Slew モード(徐々に合わせる方法)で修正します。 -B オプションを使います。

【 ntpdate 】コマンド――時刻をNTPサーバと同期する

sle15:~ # date
Wed Jan 15 10:47:39 JST 2020

sle15:~ # ntpdate -q ntp.nict.jp
server 133.243.238.163, stratum 1, offset -0.019178, delay 0.10196
server 133.243.238.164, stratum 1, offset -0.055371, delay 0.17729
server 133.243.238.244, stratum 1, offset -0.054022, delay 0.17772
server 133.243.238.243, stratum 1, offset 0.011321, delay 0.14583
15 Jan 10:47:55 ntpdate[12363]: adjust time server 133.243.238.164 offset -0.055371 sec <-- 大体合っている
 
- ディスクの占有量を調べる df -h と du, ncdu -

何だか動きが妖しいな、という時は、意外とディスクの容量不足が原因だったりします。その場合、犯人捜しにつかえるのが df と du です。

sle15:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda8 50G 30G 20G 60% /
udev 3.8G 316K 3.8G 1% /dev
tmpfs 3.8G 6.4M 3.8G 1% /dev/shm
/dev/sda6 164M 24M 140M 15% /boot/efi
/dev/sda9 493G 385G 84G 83% /var
/dev/sda3 48G 19G 30G 39% /windows/C
/dev/sda4 98G 107M 98G 1% /windows/D
/dev/sda11 148G 94G 48G 67% /share
/dev/sdb2 1.8T 1.7T 4.2G 100% /hdd/sdb

sle15:~ # du /home
4 /home/user/bin
4 /home/user/.fonts
4 /home/user/.mozilla
68 /home/user
72 /home/

sle15:~ # du /home -m
1 /home/user/bin
1 /home/user/.fonts
1 /home/user/.mozilla
1 /home/user
1 /home/
sle15:~ #

-m を付けると M byte 表記になります。

メニュー形式で便利な ncdu も便利です。ぜひインストールして置きたい。

SUSE Linux でよく使う忘れやすい使えるコマンド_a0056607_19075830.png

ディスク占有犯は誰!SUSE Linux でディレクトリの占有量を調査 ncdu
https://islandcnt.exblog.jp/239841590/

- tar でのファイルのアーカイブとリストア -

tar は、お馴染みのコマンドですが、奥が深い。つい使い方をググってしまうのが、tar のコマンドラインオプションです。

ここでは、圧縮アーカイブと、アーカイブからあの解凍という「一発芸」の使い方のみ取り上げてみました。

user@sle15:~> tar czf mypics.tar.gz ./pics <--指定したディレクトリをアーカイブ
user@sle15:~> ls *.gz
mypics.tar.gz
user@sle15:~> mv pics deleteme <-- オリジナルのディレクトリを削除(リネーム)してみた
user@sle15:~> tar xzf mypics.tar.gz <-- 解凍してみる
user@sle15:~> ls
bin deleteme mypics.tar.gz pics public_html test test.txt <-- オリジナルのディレクトリを作成し解凍された。
user@sle15:~>

※ 通常ではは v オプションを付けて、圧縮、解凍の進捗を表示させて「ヤッテル感」を実感したい人が多いでしょうね。私もそうしています。

# tar cvzf myarchive.tar.gz path-to-source アーカイブ作成
# tar xvzf myarchive.tar.gzアーカイブ抽出

します。

- シンボリックリンクを作る ls -s -

以外とよく使うのに、いざ使おうとすると、使い方を忘れるのが ln -s コマンドです。リンク先とシンボリックリンク名を逆にしてハマったりします。

# ln -s リンクソース(先) リンクファイル名

user@sle15:~> ls -l
total 0
drwxr-xr-x 1 user users 0 Feb 20 2019 bin
drwxr-xr-x 1 user users 2064 Jan 15 12:57 pics
drwxr-xr-x 1 user users 20 Feb 20 2019 public_html
drwxr-xr-x 1 user users 8 Jan 15 13:40 test
-rw-r--r-- 1 root root 0 Jan 12 12:16 test.txt

user@sle15:~> ls ./test
pics
user@sle15:~> ln -s ./test/pics/ mypic
user@sle15:~> ls -l
total 4
drwxr-xr-x 1 user users 0 Feb 20 2019 bin
lrwxrwxrwx 1 user users 12 Jan 15 13:46 mypic -> ./test/pics/ <--- これ
drwxr-xr-x 1 user users 2064 Jan 15 12:57 pics
drwxr-xr-x 1 user users 20 Feb 20 2019 public_html
drwxr-xr-x 1 user users 8 Jan 15 13:40 test
-rw-r--r-- 1 root root 0 Jan 12 12:16 test.txt
user@sle15:~> cd mypic
user@sle15:~/mypic> ls -l
total 3532
-rwxr--r-- 1 user users 47052 Feb 26 2006 06226a.jpg
-rwxr--r-- 1 user users 71472 Feb 13 2006 ChryslerProwler10.JPG
-rwxr--r-- 1 user users 105900 Feb 11 2006 kin2.jpg
-rwxr--r-- 1 user users 44569 Feb 11 2006 kin3.jpg
-rwxr--r-- 1 user users 83056 Feb 11 2006 kin.jpg
user@sle15:~/mypic>
user@sle15:~/mypic> pwd
/home/user/mypic <-- 実体ではない、シンボリックリンクがパスになっています
user@sle15:~/mypic>

- まとめ -

毎日、コンソールに向かって Linux をツツイテいるヒトには「何をいまさら感」がある内容ばかりですが、意外とまとめてみると、自分でもあまり意識していない、あるいは「あれ! どうだっけ?」という、コマンドは多いものです。特に

- find
- ln -s
- ntpdate

などは、よく使いそうで意外と使い方が分かっていない、という自分に気が付きました。
いざ、という時の引き出しを用意するためにも、普段慣れしたコマンドの使い方を知っておくべきだと改めて感じました。










by islandcenter | 2020-01-15 19:41 | SUSE | Comments(0)

ブロードバンド難民の僻地住民にとっては、モバイル Wifi や Softbank Air の様な、光ファイバー工事が不要な通信サービスは唯一の救済手段となっています。Softbank Air は他の無線通信のサービスと比べた場合、通信量制限が緩いので、光ファイバー僻地難民で、大容量の通信をするには一択なのです。

という事で、某壁地で実際に Softbank Air を使っている実家ではどんな評判なのか?聞いてみました。

「とにかくクソ」

というのが身内のご意見です。でも僻地では光ファイバーサービス地域ではなく、既に ADSL サービスも終わっている今、巨大な Windows Update なんかをダウンロードするには、Softbank Air しか選択肢がないのですね。そもそもギガ爆死する環境では Windows Update なんて無理。

まず、子供がやりたいプレステ4のゲームが堕ちる。何かと再起動しないと通信状態が復活しない。昼夜かかわらず、とにかく通信が途切れる。別に土日や夜間だけではなく、昼間でもネットワークの調子が悪い。





で調子が悪い時 TraceRoute してみたり、google DNS に Ping してみた結果.....

Softbank Air: Wifi ネットワークの暗い闇、シェアード IP_a0056607_13010580.png

専門家ではないので「逃げ」ますが、どうもSoftbank Air では、Softbank の閉塞ネットワークの中でグルングルンとルーティングして最後にインターネットに繋がるらしいのですね。っていうか、試しに携帯のテザリングしてみてもほぼ結果は一緒。

- 再起動すると softbankXXXXX.bbtec.net の IP もリセットされる
- グローバル IP もリセットされる

172.16.255.254 に user/XXXXX でログインして「再起動」させてみる

Softbank Air: Wifi ネットワークの暗い闇、シェアード IP_a0056607_13025934.png


なんだ「信号受信レベル」は十分じゃないか?

- 再起動して「確認くん」で調べると、グローバルIPが変わっている。

確認くん

- 調子が悪い時に、割り当てられたグローバルIPに Ping を打ってみると、通信状態は良好な様だ。つまり閉塞したサービスの中の通信状態は悪くない。
- 次第に調子が悪くなったり、元の「調子ワリぃ」状態に戻ったりする。

- グローバルアドレスが頻繁に変化する実害として Thunderbird と Gmail のセッションが切れて、再認証を求められる。

Thunderbird から gmail にログインできない

つまり、根本的な問題は、電波状況ではなく、ソフトバンクの Air サービスの閉塞網と、グローバルネットワークに接続しているポイントに問題がありそうなんですね。つまりは「プロバイダのサービス品質の問題」が再燃しているわけですか。推測ですが......




- モバイル Wifi の致命的な欠点、グローバルIPが変化する -

つまり、割り当てられるのはプライベートアドレスなのです。

Softbank Air に限らず、どこの Wifi サービスでもその様なのですが、基本的に電源 On/Off したり、リセットしたりすると、グローバル IP がリセットされて、通信状態がリセットされてしまいます。

まぁ当たり前と言われれば、その通り「納得」なのですが。

私は普段は Softbank の固定DSL回線を使っているので、ほとんど「固定IP」状態なのですが、Wifi サービスでは、端末側のスイッチが入って起動すると

  • 通信事業者の中で閉塞したネットワークを作り
  • ipv4 のアドレスが使いきれないよう、Wifi 端末側のスイッチが切られるとアドレスを開放
  • スイッチが入った時、あるいはリセットした時に、閉塞したネットワークでアドレスを再割り当て
  • 端末側が起動したら、閉塞ネットワークでネットワークが再構築されて
  • 閉塞ネットワークから数少ない ipv4 の共有グローバルアドレス(シェアード IP Address)を割り当てられる
  • 他のユーザが共有しているグローバルアドレスで「でっかいファイル」をダウンロードすると、ネットワークが堕ちる
  • 割り当てられた、グローバルIPに Ping を打ってみても問題はない様だ
  • 仕方がないので再起動して、調子が戻る

というルーティンの様です。まぁあくまでも、ソフトバンクの「中のヒト」じゃないから内情は分かりませんがね...






- Wifi 接続サービスでは使えない機能 -

一般的な Wifi サービスでは、グローバルIPが固定していないため、使えないサービスとして

  • DDNS を使うウェブカメラなど、たぶん、Skype や Line の無料通話なんかも問題ありそうでダメなんですね。(後述)
  • ポート開放が必要なゲームだとか、P2P ダウンローダ。オープンソースなソフトウェアは落とせない。
  • 巨大なファイルのブラウザからのダウンロード(レジューム機能付きのダウンロード速度を制限できるダウンローダーを使うのが良いのかな)
  • 固定IPが必要な、VPN サーバーや、自宅公開サーバーは絶望的
  • ブロードバンド僻地にある工場や事務所、山の中のトンネル工事現場事務所のような法人向けのテンポラリな拠点との間で VPN を使った構内仮想ネットワークは絶望的に無理。

これらは一様に Wifi サービスでは使えないと思った方がいいようです。ほとんどの Wifi 接続サービスはこの仕様になっている様です。

そりゃ当たり前ですが、本来が移動体通信が基本ですから、こんな使い方するのはIoT機器の制御もしたい。できないんです。

僻地住民にとっては、インターネットサービスが使えるかどうかは公共サービスの不公平な分配なのです。

これでは Windows Update もできない.....

ちなみに UQ Wimax ではグローバルIPはオプションで用意されていますが、UQ Wimax では、通信量制限が入るので、ちょっと辛い。アウトオブ眼中です。

グローバルIPアドレスオプション(WiMAX 2+用)



- Softbank Air が弱い点 -

どうも、Softbank Air は、閉塞したネットワーク内や、基地局との通信状態は、環境によっては悪くないのですが、Softbank のプライベートネットワークから、インターネットに接続するポイントに弱さがある事が原因の様です。

根本的な問題は ipv4 枯渇問題にあります。グローバルIPが枯渇しているから、少ない割り当てをシェアードIP にしているわけです。もともと ipv4/ipv6 デュアルスタックにするとか、トンネリングするとか NAT すればいいというのは、私にとっては専門外の意見なので、深くコメントできません。

ただ、Softbank Air のサービスが「クソだ」と思うご意見は実感しています。要は「どこかに金をかけていない」のです。そもそもスマートフォンのテザリングだって同じ問題が内包しているはずなのに、Softbank Air だけ、これだけインターネットのセッションに問題があるのがおかしい。yMobile を使っている身としては "Softbank Air" の仕組み自体が特殊な問題を抱えているンじゃないかと詮索したくなります。

※ Softbank Air について良く調べてみたら、Softbank の無線通信回線ではなく、どうやら 、Wireless City Planning の回線を Softbank が代理店販売しているサービスなんですね。

SoftBank Air(Wikipedia)

Wireless City Planning

買収した Willcom のPHS、AXGP 通信規格を引き継いだものが Softbank Air の通信規格なので、携帯電話網とは違う規格のようです。「中のヒト」じゃないので詳しく分かりませんが.....

まだ ipv6 が深く浸透していない事、また、Wifi 接続サービスがあまり成熟していないのにサービス競争に入っている事、それなのに大容量のクラウドネットワークサービスが一般化している所に問題があるのです。

とてもじゃないけど、ネットも使えない「田舎」でセカンドライフを過ごせ、とは言えないンです。


速度競争と「ギガ放題」競争に走るあまり、重要な通信品質に問題がある Softbank Air サービスは良いとは言えない。売り文句はいいけど「中のヒト」達は自分が売っているサービスがどの程度の品質だと実感しているのでしょうか。医者が自分自身で飲んだこともない薬を処方しているようないい加減さを感じてしまいます。

通信速度の制限について

以下のコンテンツ・サービスなどをご利用の際、通信速度の制限を行う場合があります。なお、通信の切断は行いません。

  • 音声通話やテレビ電話などをパケット信号に変換し、データ通信にて実現するサービス
  • MPEG、AVI、MOV 形式などの動画ファイル
  • BMP、JPEG、GIF 形式などの画像ファイル
  • 動画閲覧、高画質画像閲覧、P2P ファイル交換、ソフトウェアダウンロードなどを伴うサイト、アプリケーションなど

つまり、これってほとんどの通常のクラウド系の通信が制限されるわけしょうか? Hotspot Shield の様な VPN サービスや Tor を経由して Netflix 見た場合、どうなるんでしょうか。それも解析されているのかな? どこでどんなデータをやり取りしているかをすっかり見透かされて制限を掛ける。プライベートな通信の監視、ヒミツなんてまるで無視の制限ポリシー。ほとんどチャイニーズファイアウォール。暗闇の世界....

もっとも、インターネット接続サービス、ブロードバンド接続サービス自体が、黎明期から抱え続けてきた「トラフィックの増大追っかけ対策」がまた噴出してきただけなんですね。恐らく無線通信が、もっと信頼性が高くなれば、その信頼性に乗っかって利用した「便利なサービス」が出てくるだけでしょう。追いかけっこなのです。

これは IPv6 が普及してもこの問題は付きまといます。

多くのインターネットサービスがPC向けから、スマートフォンサービスに移行していて、スマートフォンではあまり問題なく使えても、PCではあまり使い物にならない Wifi サービスも世間にはあるという事です。






by islandcenter | 2020-01-04 13:32 | Internet | Comments(0)