Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
シェル芸に目覚める前と後
Search
sickleaf
June 26, 2021
Technology
0
49
シェル芸に目覚める前と後
第54回シェル芸勉強会LT
sickleaf
June 26, 2021
Tweet
Share
More Decks by sickleaf
See All by sickleaf
「○○するシェル芸ちゃん」の紹介
sickleaf
0
130
手順メモ(circle.ms、C97申し込み)
sickleaf
0
530
bashcms本で手を動かしてみた
sickleaf
0
710
技術書典4新刊宣伝LT_radiberry pi!
sickleaf
0
200
Other Decks in Technology
See All in Technology
本当のAWS基礎
toru_kubota
0
540
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
310
On Your Data を超えていく!
hirotomotaguchi
2
700
Grafana x PagerDuty Better Together
jacopen
0
150
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.8k
The AI Revolution Will Not Be Monopolized: Behind the scenes
inesmontani
PRO
0
110
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.5k
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
850
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
220
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
110
Azureの基本的な権限管理の勉強会
yhana
0
850
現代CSSフレームワークの内部実装とその仕組み
poteboy
8
3.7k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
The Cult of Friendly URLs
andyhume
74
5.7k
Scaling GitHub
holman
457
140k
Adopting Sorbet at Scale
ufuk
68
8.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
A Philosophy of Restraint
colly
197
16k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
How to name files
jennybc
65
93k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Transcript
シェル芸に目覚める前と後 ~raspberry piの環境構築にシェル芸を突っ込む~ 第54回シェル芸勉強会 LT 病葉(わくらば) @sickleaf3 1
もくじ ・何をした話? ・シェル芸に目覚める前/後の比較 ・実例(シェル芸の投入パターン) ・実機デモ ・最後に 2
何をした話? ・仕事はWordとExcel作業が中心、家ではLinuxを使ってラジオ環境の整備 ・ラジオ好きが高じて技術書を頒布/出版 ・初版執筆後に知ったシェル芸で培った知見を、今回の改版で出来る限り突っ込んだ 3
本の改版にシェル芸で得た知見を突っ込んだ話 シェル芸に触れた時期 大体2019年頃 2019年2月開催、「光明節シェル芸勉強会」の金スロット問題が強烈に印象に残ってい る 4
本の改版にシェル芸で得た知見を突っ込んだ話 どんな本? raspberry piでラジオ/音声ファイルを聴く環境を作るための構築手順をまとめた本 初版でもシェルスクリプトは使っていたが、シェル芸の観点では大きな差異 あり 5
シェル芸に目覚める前/後の比較 書籍の構成/シェル芸が占める割合(初版) 6
シェル芸に目覚める前/後の比較 書籍の構成/シェル芸が占める割合(第2版) 7
システム構成図 構築完了時のシステムイメージは以下の通り CUI上でのシェルスクリプト実行でも動作可能だが、より快適に利用するためにブラウ ザ画面を提供する(デモ動作) システムイメージ 8
シェル芸の投入パターン 既存の手順や新規手順追加にあたりシェル芸を投入した理由は、概ね以下の3パター ンのいずれか 1. 構築手順の設定値を確実に入力するため 2. テキストエディタの利用を回避するため 3. シェルスクリプトへの組み込み 9
シェル芸の投入パターン 1.構築手順の設定値を確実に入力するため 通常は usermod -G の後に、設定したいグループをカンマ区切りで空白を入れずに列挙 →ユーザを新規作成した後に、既存ユーザに準じた設定を行う場合は利用するべき //新規追加ユーザ(radipi)の所属グループ設定 sudo adduser
radipi groups pi | cut -d: -f2 | sed "s/ /,/g; s/^.//g" # piユーザが所属するグループを表示。 # pi,adm,dialout,.....となることを確認 sudo usermod -G $(groups pi | cut -d: -f2 | sed "s/ /,/g; s/^.//g") radipi # 矢印の↑を押して前回コマンドを再利用し、piユーザが所属するグループをradipiユーザに設定 10
シェル芸の投入パターン 2.テキストエディタの利用を回避するため 最近のツール(イメージ書き込み専用ツール、初期設定ウィザードなど)の提供によ り、Linux/Unix特有のエディタ操作が無くとも利用可能に →ターミナルでのコマンド実行を限度とした場合、必然的にシェル芸が登場 //SSH有効化(ポートは固有番号に変更) sudo sed -i 's/#Port
22/Port 23456/' /etc/ssh/sshd_config //cronログ有効化 sudo sed -i "/#cron/s;#;;g" /etc/rsyslog.conf //赤外線リモコンを動かす時の設定ファイル修正 sudo sed -i '$a dtoverlay=gpio-ir,gpio_pin=24' /boot/config.txt # config.txtを上書き、GPIO24を有効化 sudo sed -i '/driver/s;devinput;default;g' /etc/lirc/lirc_options.conf sudo sed -i '/device/s;auto;/dev/lirc0;g' /etc/lirc/lirc_options.conf # lirc_options.confを上書き 11
シェル芸の投入パターン 3.シェルスクリプトへの組み込み 音声再生・制御には基本的にシェルスクリプト経由で行うため、随所にシェル芸が登 場 12
実機デモ 画面イメージ 13
最後に 14