Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
rmコマンドチキンレース!
第31回シェル芸勉強会 大阪サテライトLT
(2017/10/07)
くんすと(kunst1080)
rmコマンドチキンレースとは
[概要]
2人のユーザーが交互にファイルを削除していき、
先に消せるファイルがなくなった方の負け!
rmコマンドチキンレースとは
[詳細ルール]
・改造された「競技用rmコマンド」(後述)を使用
・自分の番には、好きなだけ調査をすることが可能
・ファイルシステムへの変更は1回限り(rmのみ)
rmコマンドチキンレースとは
[詳細ルール]
・先に消せるものがなくなったら負け
・「競技用rmコマンド」が動作しない状態にしたら負け
・千日手になった場合は終了し、削除したファイルの数が多い方の勝ち
「競技用rmコマンド」とは
・GNU Coreutilsのrmコマンドを改造したもの
・削除したファイルの数を集計し、ツイートする
 ※ツイート機能はpython2.7で実装していますので注意
「競技用rmコマンド」とは
・依存ライブラリ
$ ldd /usr/local/bin/rm
linux-vdso.so.1 => (0x00007fffdb6be000)
libc.so.6 => /lib/x86_64-linux-gnu/...
「競技用rmコマンド」とは
・依存ライブラリ
$ ldd /usr/bin/python
linux-vdso.so.1 => (0x00007ffff99bf000)
libpthread.so.0 => /lib/x86_64-linux-...
実施の前に
・1ユーザー1ttyでログインし、rootユーザーになります
・環境変数「RMUSER」をそれぞれ設定します
Let’s rm!
Let’s destroy!
Upcoming SlideShare
Loading in …5
×

第31回シェル芸勉強会LT rmコマンドチキンレース!

1,469 views

Published on

mコマンドチキンレースについて

Published in: Technology
  • Be the first to comment

  • Be the first to like this

第31回シェル芸勉強会LT rmコマンドチキンレース!

  1. 1. rmコマンドチキンレース! 第31回シェル芸勉強会 大阪サテライトLT (2017/10/07) くんすと(kunst1080)
  2. 2. rmコマンドチキンレースとは [概要] 2人のユーザーが交互にファイルを削除していき、 先に消せるファイルがなくなった方の負け!
  3. 3. rmコマンドチキンレースとは [詳細ルール] ・改造された「競技用rmコマンド」(後述)を使用 ・自分の番には、好きなだけ調査をすることが可能 ・ファイルシステムへの変更は1回限り(rmのみ)
  4. 4. rmコマンドチキンレースとは [詳細ルール] ・先に消せるものがなくなったら負け ・「競技用rmコマンド」が動作しない状態にしたら負け ・千日手になった場合は終了し、削除したファイルの数が多い方の勝ち
  5. 5. 「競技用rmコマンド」とは ・GNU Coreutilsのrmコマンドを改造したもの ・削除したファイルの数を集計し、ツイートする  ※ツイート機能はpython2.7で実装していますので注意
  6. 6. 「競技用rmコマンド」とは ・依存ライブラリ $ ldd /usr/local/bin/rm linux-vdso.so.1 => (0x00007fffdb6be000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f96f13f0000) /lib64/ld-linux-x86-64.so.2 (0x00007f96f1800000)
  7. 7. 「競技用rmコマンド」とは ・依存ライブラリ $ ldd /usr/bin/python linux-vdso.so.1 => (0x00007ffff99bf000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3c02790000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3c023c0000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3c021b0000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f3c01fa0000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3c01d80000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3c01a60000) /lib64/ld-linux-x86-64.so.2 (0x00007f3c02a00000)
  8. 8. 実施の前に ・1ユーザー1ttyでログインし、rootユーザーになります ・環境変数「RMUSER」をそれぞれ設定します
  9. 9. Let’s rm!
  10. 10. Let’s destroy!

×