オペミス・ヒヤリハットについて
オペミスに関して個人的な考え
・気持ちに訴えかけるだけでは同じミスは再発する
→ミスを恥じず、堂々と共有し合える文化を作る、出来ないなら自分のミスをさらけ出す
・規律を厳しくすればするほど、変に恐怖心を煽り逆にオペミスは増える
・些細なヒヤリハットに対しても、なぜなぜ分析を行うクセをつける
→共有し合うのが望ましい、ナレッジが企業の財産になる
・作業内容の理解、誤った際の影響度合いを考えながら手を動かす
→正直これに尽きる
・顧客影響の無い、内々でリカバリがきくオペミスなんてミスじゃない、反省して終わり、引きずらない
・オペミスした本人を責めるような職場ならお察し企業だと思う
下請け企業がオペミスした場合
・下請け管理職の仕事、報告書提出とあとは元請けとのネゴ
→元請けの事業がでかければでかいほど、大きく取り上げらてしまうが、
個人的には異動にさせてもらってちゃら
・リスクヘッジ
・大事なのは本人のメンタル
総合として
・オペミスが怖くて運用なんてやってられるか(^ω^ )
・慎重になる局面と、そこまで切り詰める必要が無い局面とを見極めないと、余計な時間を食って作業が進まない
→判断できないうちは聞いて良いと思うが、自分で決断・判断することが大事
2017年01月 面談用に作った資料…
わたしは半年間何をやっていたのだろう、何も変わっちゃいない →自分ひとりでは捌ききれない
社内の方の発言コピペ(↓他人の言葉であり今後自分版を書く)
運用は何のためにするのか意識は合っているか
- サービスを継続するための取り組み
– 機能の修正・改善
– バグの修正
– 性能の改善
– OS/ミドルウェアやアプリケーションのバージョンアップ
開発から運用の流れ
- 要求の取りまとめ
– サービス側から (新機能、外部サービスとの連携)
– 開発側から (保守性の向上、新しいミドルウェアへの対応)
– 運用側から (障害頻度の軽減、性能向上、可視化) - 開発項目の確定と優先度付け
- リリース時期を確定
- 開発、テスト
- リリース
システムの運用は何から始めるか (開発から引き渡された後)
- サービスの把握
- 構成の把握 (ハードウェア(仮想)、OS、ミドルウェア、サービス、アプリケーション)
- 通信の把握 (ネットワークセグメント、IPアドレス、プロトコル、データ)
- リソースの把握 (CPU、メモリ、ディスク、プロセス、ネットワーク)
- 冗長性の把握 (想定する障害や高負荷、対策)
- アクセス制御や権限の把握 (ユーザ、グループ、秘密鍵/公開鍵証明書、ドメイン名、期限)
- ユーザ管理 (追加、削除)
- 外部接続 (他サービス、アクセスキー、期限)
- ログ (アクセスログ、エラーログ、アプリケーションログ、ローテーション、保持期間)
- ベンダー情報 (サポートサイト、連絡窓口、ライセンス)
- 構成管理 (上記全て)
環境
- 商用環境
- ステージング環境
- 開発環境
- 環境差分の把握
- リリース手順
– リリース対象を確定
– ステージング環境への配置、テスト
– 不具合の修正、再配置、テスト
– 商用環境への反映
監視
- 何の情報を取得するために監視するか
- 障害が発生したときに何をするか
- 監視設定は何を契機として見直すか
ログ
- ログの種類
– OSのログ
– サービスのログ
– ミドルウェアのログ - ログレベル (緊急度、詳細度)
- 分析
– 入力、出力
– 処理の前後関係
– 頻度
– エラーコード
– キーワードでの絞り込み – 統計的解析
DB
ベンダー情報の追跡
- バージョンアップ情報 (新機能、削除された機能、互換性)
- 製品のロードマップ (チケットシステム、公開されたバグ情報、ソースコードの履歴管理情報)
- 組織としての安定性 (買収、解散、放置)
システムの更新
- サービスへの影響を把握 (停止、縮退、想定時間)
- 更新対象を把握 (サーバ、ネットワーク、設定、データ)
- 作業に影響する監視の抑止
- 更新作業を実施
- 監視の再開
- 構成管理への反映
インシデント管理 (障害からの回復、サービス要求への対応)
- 既知の障害かどうかの判断
- 脆弱性の分析と対策
- ベンダーへの問い合わせ
- 対応履歴の管理
- データの受け渡しと消去
レポート
- サービスからの要求
– バッチで作成して提供
– 要求を受けて随時作成して提供 - 運用レポート
– サービスの利用状況
– リソースの利用状況
– インシデントの発生状況
– 稼働率
– ログ解析
– 状況の把握から
— 運用コストの見直し
— 設備投資の見直し
— 開発項目の優先度の変更
以上を踏まえて、普段何をするか (運用メンバーの1日)
- 日次
- 週次
- 月次
他にいい方法ないかな?
[root@naoki105 20170807]# cat a -----mon1----- 192.168.0.1 192.168.11.1 -----mon2----- 192.168.0.2 192.168.11.2 -----mon3----- 192.168.0.3 192.168.11.3 [root@naoki105 20170807]# [root@naoki105 20170807]# csplit a /^-----.*/ {*} | for i in `ls -ltr xx* | awk '{ print $9}' | sort -n` ; do paste -d, -s $i ; done -----mon1-----,,192.168.0.1,192.168.11.1, -----mon2-----,,192.168.0.2,192.168.11.2, -----mon3-----,,192.168.0.3,192.168.11.3 [root@naoki105 20170807]# [root@naoki105 20170807]#
体調不良の数々(仮病含む)
2015年1月~2017年8月31日
日時 | 種別 | 日数 | 理由 |
---|---|---|---|
2015/2/13 | 欠勤 | 1日 | 体調不良 |
2015/4/9 | 欠勤 | 1日 | 体調不良 |
2015/4/21 | 欠勤 | 1日 | 体調不良 |
2015/5/28 | 欠勤 | 1日 | 体調不良 |
2015/6/12 | 欠勤 | 1日 | 体調不良 |
2015/7/24 | 午前半休 | 0.5日 | 体調不良 |
2015/7/31 | 有給休暇 | 1日 | 体調不良 |
2015/10/15 | 午前半休 | 0.5日 | 体調不良(すいません) |
2015/10/21 | 有給休暇 | 1日 | 体調不良 |
2015/10/23 | 午前半休 | 0.5日 | 体調不良 |
2015/12/3 | 欠勤 | 1日 | 体調不良 |
2015/12/11 | 欠勤 | 1日 | 体調不良 |
2016/1/21 | 欠勤 | 1日 | 体調不良 |
2016/6/22 | 有給休暇 | 1日 | 体調不良 |
2016/6/24 | 有給休暇 | 1日 | 体調不良(メモ:偏頭痛) |
2016/8/4 | 午前半休 | 0.5日 | 腹痛のため午前半休 |
2016/9/28 | 有給休暇 | 1日 | 体調不良 |
2016/11/15 | 有給休暇 | 1日 | 体調不良 |
2017/2/22 | 午前半休 | 0.5日 | 体調不良のため |
2017/2/28 | 午前半休 | 0.5日 | 体調不良のため |
2017/3/29 | 有給休暇 | 1日 | 通院のため |
2017/4/13 | 午前半休 | 0.5日 | 体調不良 |
2017/4/21 | 有給休暇 | 1日 | 体調不良 |
2017/5/9 | 有給休暇 | 1日 | 体調不良 |
2017/6/30 | 有給休暇 | 1日 | 体調不良 |
2017/8/25 | 有給休暇 | 1日 | 病院 |
[2017/08/24]初てんかん発作 [27歳9ヵ月]
<事象> 2017/08/24 23:30頃 自宅アパート一室で てんかん発作を起こし意識を失い、救急搬送された 08/25 1日入院し退院 <同居している彼女の証言> ・白眼を剥き、口から泡を出していた ・頭部がガクガクと痙攣していた ・呼びかけると眼を開き、その後すぐ眼を閉じた <自身の記憶> ・救急隊員の声が聞こえたが何の話しかは記憶にない ・異常なほどの吐き気があった ・熱がいきなり出始めた <検査> ・CT ・脳波検査 ・血液検査 →すべて異常なし <処置> ・点滴(水分補給) (・看護) <原因> 複数の要因が重なったことで発症したと考える ・第一は、睡眠不足 3~4時間程度の睡眠が1~2週続いていた ・第二は、過労 脳が活動状態で休まらなかった(≒ストレス負荷) ・第三は、自己要因 栄養不足/運動不足 数年間運動は皆無、基礎体力がない 食事も不規則で適当 <対策> ・睡眠時間を意識して確保する ・てんかん発作防止で薬を飲む →副作用があるので続くか不明 ・意識して残業を抑止する(20:00、遅くても21:00を目途にする) ・食べるものを意識する →糖質、甘いものを避ける、缶コーヒーの量を減らす、食べ方 ・上記が担保できてから運動不足を解消する活動 <所感> ・生まれて初めてのことでびびった ・目撃して119してくれた彼女はもっとびびったと思う ・ストレス負荷は自覚無し、睡眠不足のみ自覚有り →睡眠不足が続く≒脳が休まっていない、脳細胞? <精神科医の話し> ・患者の中にも少なからず事例有り、検査では異常なくても起きる ・リラックスの重要性、脳の興奮を抑える ・一に睡眠、二に栄養、三に運動
お遊び1
[root@naoki105 ~]# for i in {1..10} ; do uptime ; sleep 2; done | while read LINE ; do echo $LINE | awk '{ print $1,"----",$10"(1m)",$11"(5m)",$12"(15m)" }' ; done 10:32:49 ---- 2.53,(1m) 0.70,(5m) 0.24(15m) 10:32:51 ---- 2.53,(1m) 0.70,(5m) 0.24(15m) 10:32:53 ---- 2.57,(1m) 0.74,(5m) 0.25(15m) 10:32:55 ---- 2.57,(1m) 0.74,(5m) 0.25(15m) 10:32:57 ---- 2.60,(1m) 0.78,(5m) 0.27(15m) 10:33:00 ---- 2.60,(1m) 0.78,(5m) 0.27(15m) 10:33:02 ---- 2.72,(1m) 0.83,(5m) 0.29(15m) 10:33:04 ---- 2.72,(1m) 0.83,(5m) 0.29(15m) 10:33:06 ---- 2.72,(1m) 0.83,(5m) 0.29(15m) 10:33:08 ---- 2.90,(1m) 0.90,(5m) 0.31(15m) [root@naoki105 ~]#
メモリ負荷メモ
① 負荷コマンド
[root@naoki105 ~]# /dev/null < $(yes)
② ①実行後
[root@naoki105 0816]# vmstat 2 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 398444 5544 31156 0 1 1 2 38 1 0 0 100 0 0 1 0 0 198276 5544 31156 0 0 0 0 1015 50072 72 28 0 0 0 1 2 30500 63228 604 7484 0 15250 2 15250 992 44311 73 27 0 1 0 3 1 162216 65468 456 5180 0 65692 256 65694 691 24133 39 19 0 41 0 1 1 319128 63024 144 4724 0 78454 42 78454 991 37973 60 23 0 17 0 0 3 508924 49216 144 4700 0 95062 0 95062 1167 44649 71 28 0 1 0 9 1 574460 71460 144 5924 32 32770 630 32770 475 12407 50 36 0 14 0 4 0 617280 49228 76 5636 0 21412 104 21420 787 33117 73 27 0 0 0 3 0 693684 53428 76 5672 0 38202 0 38202 600 16031 57 40 0 3 0 3 0 768284 61584 76 5628 0 37300 0 37300 539 14657 48 35 0 17 0 2 0 820956 50084 76 5628 344 26384 344 26384 480 14770 60 37 0 4 0 4 0 874660 49188 76 5660 0 26852 0 26852 420 11574 54 32 0 15 0 5 4 922060 49228 76 5660 32 23696 32 23696 117 2326 8 7 0 85 0 14 2 981336 63416 76 5540 16 29646 130 29646 289 3792 20 45 0 35 0 7 0 1018664 51480 76 6708 106 18688 702 18688 731 28244 69 29 0 2 0 12 1 1099972 53408 88 6740 16 40656 22 40656 495 10852 57 43 0 0 0 3 2 1204784 65844 176 6348 592 52966 636 52966 505 13908 60 38 0 2 0 1 0 1211648 66380 304 6732 48 3478 392 3478 551 18090 63 34 0 3 0 3 0 1270168 53688 436 6496 112 29328 296 29328 544 17567 61 35 0 4 0 7 0 1330900 48964 436 6520 16 30432 16 30432 579 14953 60 40 0 0 0 6 0 1413192 64868 436 5824 0 41146 0 41146 609 14605 60 40 0 0 0 ^C [root@naoki105 0816]# [root@naoki105 0816]# free -m total used free shared buffers cached Mem: 980 183 796 0 1 14 -/+ buffers/cache: 168 812 Swap: 1983 122 1861 [root@naoki105 0816]#
①をとめたあともswpd は残り続ける
[root@naoki105 0816]# vmstat 2 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 125380 815796 1836 14416 0 3 1 4 38 3 0 0 100 0 0 ^C
② swapを無効化にする
[root@naoki105 ~]# swapoff -a [root@naoki105 ~]#
③ ②実行後
[root@naoki105 0816]# free -m total used free shared buffers cached Mem: 980 308 671 2 2 21 -/+ buffers/cache: 284 695 Swap: 0 0 0 [root@naoki105 0816]# [root@naoki105 0816]# vmstat 2 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 688216 2348 22028 0 3 1 4 38 3 0 0 100 0 0 0 0 0 688160 2348 22028 0 0 0 0 46 82 0 1 99 0 0 ^C [root@naoki105 0816]#
④ swap有効に戻す
[root@naoki105 ~]# swapon -a [root@naoki105 ~]#
シェル1
[root@naoki105 0816]# cat ip_sam 255.255.255.255 999.999.999.999 111.111.000.111 000.000.000.111 111.111.111.111 [root@naoki105 0816]# [root@naoki105 0816]# cat ip_sam | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read line ; do echo $line | grep -v ^000 ; done | tee result 255.255.255.255 999.999.999.999 111.111.000.111 111.111.111.111 [root@naoki105 0816]# [root@naoki105 0816]# diff ip_sam result 4d3 < 000.000.000.111 [root@naoki105 0816]#
CPU1
CPU負荷を掛ける
↓ 手軽い
# yes | tac
↓ 足りないならこんな感じに。killする必要ない手軽感
#for i in seq 1 100
; do yes > /dev/null ; done
[root@localhost mariadb]# vmstat 2 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 12 0 0 120916 128688 421664 0 0 0 0 1025 645 100 1 0 0 0 12 0 0 120916 128688 421664 0 0 0 0 1019 632 99 1 0 0 0 12 0 0 120916 128688 421664 0 0 0 0 1019 622 99 1 0 0 0 12 0 0 120916 128688 421664 0 0 0 0 1024 647 100 1 0 0 0 13 0 0 120916 128692 421664 0 0 0 6 1012 646 100 1 0 0 0 13 0 0 120916 128692 421664 0 0 0 0 1010 637 99 1 0 0 0 13 0 0 120916 128692 421664 0 0 0 0 1025 665 99 1 0 0 0 1 0 0 122968 128692 421708 0 0 22 0 322 258 29 1 71 0 0 0 0 0 122968 128692 421708 0 0 0 0 58 93 0 1 100 0 0 0 0 0 122968 128692 421708 0 0 0 0 41 76 1 0 100 0 0 0 0 0 123108 128696 421708 0 0 0 6 56 84 0 2 98 0 0 0 0 0 123108 128696 421708 0 0 0 0 41 75 0 0 100 0 0 0 0 0 123108 128696 421708 0 0 0 0 39 69 0 1 100 0 0 0 0 0 123124 128696 421708 0 0 0 0 40 72 0 0 100 0 0 ^C [root@localhost mariadb]#
↓ (メモ)Diks I/O 確認 vmstat -d 2
grep -o -P
①
[root@naoki105 0816]# grep -oP "(?<=「).+(?=」)" samplist aiueookami matane [root@naoki105 0816]# cat samplist 「aiueookami」 「matane」
②
[root@naoki105 0816]# cat sam3 [naoki] [yuuka] -------------------------------------- [kento] [root@naoki105 0816]#
結果
[root@naoki105 0816]# grep -oP '(?<=\[).+(?=\])' sam3 naoki yuuka kento [root@naoki105 0816]# ``
- grep -oP “(?<=[).+(?=])” hogehoge *
UP
出来ないから、やらない、任されない
なら、いつ出来るようになるのか
半年後?1年後?3年後? できないから、やらないっていってたら一生できないですは
・追い込まれないと動かない
・他の人がやってくれる
・そもそも追い込まれない環境
・そもそも任されない
↓
いつになっても育たない
成長したい・変わりたい・努力をするにあたって最も弊害となる壁は、
他者の自分に対する批判
→必ず邪魔が入る(生意気だの、意識高い系だの、嘲笑れたり)
→これを乗り越えなければ、現状のまま
→他人の目を気にしないようにする、は不可能
→他人の批判的な言動を受け入れつつ、自分のやり方を貫く
ポイント
- 能動的に動けているか
- +α(120%)のアウトプットを意識しているか
- できる他者と比較していないか(劣等感を感じていないか、己の実力を卑下する必要は無い)
- 己に嘘をついていないか
- 今自分が出来ないスキルを自覚しているか、出来るようになりたいと思うのか
- 他人が自分に求めるレベルを達成して満足していないか
挫折のレベルが高ければ高いほど、乗り越えたときの自分は強い
失敗するなら大失敗、大泣きして数ヶ月休んで、辞表だすぐらいのレベルで
自分を追い込んで、反省して、猛勉強して、実践して、その先に己の成長が有るのではないか
己がそれでいいと思うなら、他者が何と言おうと関係ない
己がエンジニアと思うならば、堂々とエンジニアと名乗ればいいように
己の評価も他人が決めることではない
己が決めること
・・・技術スキル云々以前の話し、わたしの課題
ISOイメージからyumする
[root@localhost yum.repos.d]# pwd /etc/yum.repos.d [root@localhost yum.repos.d]# [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost yum.repos.d]# [root@localhost yum.repos.d]# cat CentOS-Media.repo # CentOS-Media.repo # # This repo can be used with mounted DVD media, verify the mount point for # CentOS-7. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c7-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c7-media [command] [c7-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@localhost yum.repos.d]# [root@localhost yum.repos.d]# mkdir /media/cdrom [root@localhost yum.repos.d]# [root@localhost yum.repos.d]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 is write-protected, mounting read-only [root@localhost yum.repos.d]# [root@localhost yum.repos.d]# ls /media/cdrom/ CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL [root@localhost yum.repos.d]# [root@localhost yum.repos.d]# yum --disablerepo=* --enablerepo=c7-media list Loaded plugins: fastestmirror, langpacks file:///media/CentOS/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/CentOS/repodata/repomd.xml" Trying other mirror. c7-media | 3.6 kB 00:00 c7-media/group_gz FAILED file:///media/CentOS/repodata/436345f4b666f0a461d479ccfabc2c22823d4f2173c2653e5250fea62f0afe98-c7-x86_64-comps.xml.gz: [Errno 14] curl#37 - "Couldn't open file /media/CentOS/repodata/436345f4b666f0a461d479ccfabc2c22823d4f2173c2653e5250fea62f0afe98-c7-x86_64-comps.xml.gz" Trying other mirror. c7-media/group_gz FAILED file:///media/cdrecorder/repodata/436345f4b666f0a461d479ccfabc2c22823d4f2173c2653e5250fea62f0afe98-c7-x86_64-comps.xml.gz: [Errno 14] curl#37 - "Couldn't open file /media/cdrecorder/repodata/436345f4b666f0a461d479ccfabc2c22823d4f2173c2653e5250fea62f0afe98-c7-x86_64-comps.xml.gz" Trying other mirror. (1/2): c7-media/group_gz | 155 kB 00:00 (2/2): c7-media/primary_db | 2.8 MB 00:00 Loading mirror speeds from cached hostfile * c7-media: Installed Packages GConf2.x86_64 3.2.6-8.el7 @anaconda ModemManager.x86_64 1.1.0-8.git20130913.el7 @anaconda ModemManager-glib.x86_64 1.1.0-8.git20130913.el7 @anaconda NetworkManager.x86_64 1:1.0.6-27.el7 @anaconda NetworkManager-adsl.x86_64 1:1.0.6-27.el7 @anaconda NetworkManager-glib.x86_64 1:1.0.6-27.el7 @anaconda NetworkManager-libnm.x86_64 1:1.0.6-27.el7 @anaconda ~~~ [root@localhost yum.repos.d]# yum --disablerepo=* --enablerepo=c7-media install -y git Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * c7-media: Resolving Dependencies --> Running transaction check ---> Package git.x86_64 0:1.8.3.1-5.el7 will be installed --> Processing Dependency: perl-Git = 1.8.3.1-5.el7 for package: git-1.8.3.1-5.el7.x86_64 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-5.el7.x86_64 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-5.el7.x86_64 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-5.el7.x86_64 --> Running transaction check ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed ---> Package perl-Git.noarch 0:1.8.3.1-5.el7 will be installed ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: git x86_64 1.8.3.1-5.el7 c7-media 4.3 M Installing for dependencies: perl-Error noarch 1:0.17020-2.el7 c7-media 32 k perl-Git noarch 1.8.3.1-5.el7 c7-media 53 k perl-TermReadKey x86_64 2.30-20.el7 c7-media 31 k Transaction Summary ================================================================================ Install 1 Package (+3 Dependent packages) Total download size: 4.4 M Installed size: 22 M Downloading packages: warning: /media/cdrom/Packages/git-1.8.3.1-5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Public key for git-1.8.3.1-5.el7.x86_64.rpm is not installed -------------------------------------------------------------------------------- Total 12 MB/s | 4.4 MB 00:00 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:perl-Error-0.17020-2.el7.noarch 1/4 Installing : perl-TermReadKey-2.30-20.el7.x86_64 2/4 Installing : perl-Git-1.8.3.1-5.el7.noarch 3/4 Installing : git-1.8.3.1-5.el7.x86_64 4/4 Verifying : git-1.8.3.1-5.el7.x86_64 1/4 Verifying : 1:perl-Error-0.17020-2.el7.noarch 2/4 Verifying : perl-Git-1.8.3.1-5.el7.noarch 3/4 Verifying : perl-TermReadKey-2.30-20.el7.x86_64 4/4 Installed: git.x86_64 0:1.8.3.1-5.el7 Dependency Installed: perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-5.el7 perl-TermReadKey.x86_64 0:2.30-20.el7 Complete! [root@localhost yum.repos.d]#
sed コマンド
# echo "naoki(27)" | sed -e "s/^.*(\(.*\))/\1/" 27 # echo "naoki(27)" | sed -e "s/^\(.*\).*(.*).*$/\1/g" naoki # echo "yamada(27)tarou(29)" | sed -e "s/^.*(.*).*(\(.*\))/\1/g" 29 # echo "yamada(27)tarou(29)" | sed -e "s/^\(.*\)(.*).*(.*)/\1/g" yamada # echo "yamada(27)tarou(29)" | sed -e "s/^.*(\(.*\))\(.*\)(.*)/\2 not \1/g" tarou not 27 # echo "Received: from iidmxi01.alpha-prm.jp ([157.205.203.72])" | sed -e "s/.*\[\(.*\)\].*$/\1/g" 157.205.203.72