シェルスクリプトマガジン

test

連載 シェルスクリプトを書いてみよう

投稿日:2019.04.2 | カテゴリー: コード
イラスト:ヨーダヒデキ

 シェルスクリプトは、Linux/Unix系OSのコマンドのみで記述できるプログラムです。さまざまな処理を簡単に記述でき、LinuxやUnix系OSの環境があれば、すぐに実行して試せるのでとても便利です。本連載では、役立ちそうなシェルスクリプトを紹介しながら、シェルスクリプトの書き方を説明していきます(隔週更新予定)。
 なお、シェルスクリプトを開発・実行するには、Linux/Unix系OSがインストールされたパソコンが必要です。例えば、「連載 UbuntuではじめるLinuxサーバー」の第1回第4回で紹介した方法でUbuntu Serverをインストールしたパソコンを用意できます。

記事中で紹介したシェルスクリプトのコードは、以下のページから入手できます(WordPressのバグなのか、何らかのパターンで「$」などの文字が消えてしまうことがありますのでシェルスクリプト自体はこちらから入手してください)。
https://github.com/shellscript-magazine/rensai_shellscript1

目次
第1回 Amazonの商品ページURLをきれいにする
第2回 コメント行を削除する
第3回 写真を整理する
第4回 ファイルサーバーを構築する
第5回 文書をPDFファイルに変換する
第6回 DMを自動送信する(SMTPS編)
第7回 DMを自動送信する(STARTTLS編)
第8回 自動でアーカイビングする
第9回 グローバルIPアドレスを通知する
第10回 写真から場所を調べる
第11回 大切なメールだけをチャットルームに送る
第12回 コマンドを作る
最終回 不正アクセスを通知する

シェルスクリプトマガジンvol.59 Web掲載記事まとめ

投稿日:2019.03.25 | カテゴリー: コード

004 レポート Homebrew 2.0.0リリース
005 レポート runcの脆弱性問題
006 NEWS FLASH
008 特集1 Linuxパーフェクトカスタマイズ/麻生二郎 コード掲載
020 特集2 AWS Lambdaを好きな言語で使おう/岡本秀高 コード掲載
028 特別企画 リレー式コンピュータプログラミング/若菜魁、入口雄也、八木武尊
036 ラズパイセンサーボードで学ぶ 電子回路の制御/米田聡
040 試み/桑原滝弥・イケヤシロウ
042 バーティカルバーの極意/飯尾淳
046 円滑コミュニケーションが世界を救う!/濱口誠一
048 中小企業手作りIT化奮戦記/菅雄一
056 法林浩之のFIGHTING TALKS/法林浩之
058 漢のUNIX/後藤大地
064 人間とコンピュータの可能性/大岩元
066 香川大学SLPからお届け!/竹原一駿 コード掲載
071 姐のNOGYO
072 UNIXの歴史を振り返る/古寺雅弘
078 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
089 ユニケージ新コードレビュー/坂東勝也 コード掲載
096 Techパズル/gori.sh
098 コラム「ユニケージお作法のココロ」/シェル魔人

Vol.59

投稿日:2019.03.25 | カテゴリー: バックナンバー

 オープンソースのソフトウエアを組み合わせて、好みのOSが作れるのが「Linux」です。特に、好みに近いLinuxディストリビューションがあれば、それをカスタマイズするだけで自分だけのLinuxが作れます。特集1では、軽量で高速なLinuxディストリビューション「Lubuntu」をインストールメディアからカスタマイズして自分好みに仕立てる方法を紹介しています。
 特集2では、AWSのサーバーレスサービス「AWS Lambda」に追加された新機能「AWS Lambda Custom Runtimes」を扱っています。AWS Lambda Custom Runtimesが登場する以前は、サービスとして実行される「Lambda」関数は、Node.jsのJavaScriptやPython、Rubyで記述する方法しかありませんでした。AWS Lambda Custom Runtimesの登場により、言語環境となるランタイムを用意すれば、その言語でLambda関数を記述できるようになりました。
 特別企画では、1960年代に制作された国産リレー式コンピュータである「FACOM138A」のプログラミングに挑戦した大学生の奮闘記を紹介しています。
 このほか、「センサーボードで学ぶ 電子回路の制御」「姐のNOGYO」などの人気連載も掲載しています。

今回も読み応え十分のシェルスクリプトマガジン Vol.59。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

ユニケージ新コードレビュー(Vol.59掲載)

投稿日:2019.03.25 | カテゴリー: コード

著者:坂東勝也

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第6回は、仕入伝票処理システムを例に最新マスターを取得するコードをレビューします。

シェルスクリプトマガジン Vol.59は以下のリンク先でご購入できます。

図11 伝票番号で並べ替え

図12 更新された仕入伝票を調べる

図13 指定月の仕入伝票の取得

図14 L1とL3のデータをマージ

特集2 AWS Lambdaを好きな言語で使おう(Vol.59掲載)

投稿日:2019.03.25 | カテゴリー: コード

著者:岡本秀高

カンファレンス「AWS re:invent 2018」にて発表された新サービス「AWS Lambda Custom Runtimes」。これまではサポートをアナウンスした言語でしか「Lambda関数」を作成できませんでした。このサービスの登場により好きな言語で作成可能となりました。本特集では、AWS Lambda Custom Runtimesの使い方から、ランタイム(実行環境)を実際に作って利用するところまでを分かりやすく紹介します。

シェルスクリプトマガジン Vol.59は以下のリンク先でご購入できます。

図3 bootstrapファイルの内容

図5 function.shファイルの内容

図6 template.yamlファイルの内容

Vol.59 補足情報

投稿日:2019.03.25 | カテゴリー: コード

訂正・補足情報はありません。

情報は随時更新致します。

香川大学SLPからお届け!(Vol.59掲載)

投稿日:2019.03.25 | カテゴリー: コード

著者:竹原一駿

USB接続のバーコードリーダーを用いてバーコード化されたデータを読み取り、その結果をサーバーに送って集計するデータ収集システムを開発しました。今回は、同システムについて紹介します。クライアントはGo、集計サーバーは主にPerlで記述しています。クライアントもサーバーもDocker環境で簡単に動かせますので、ぜひ試してみてください。

シェルスクリプトマガジン Vol.59は以下のリンク先でご購入できます。

図8 バーコードリーダーで読み取ったデータを取得する関数

図9 意見を示す数値を文字列に変換するコード

図10 データを集計サーバーに送るためのコード

図11 HTTPサーバー機能を提供するMyWebServerパッケージの記述

図12 CGIで日本語を表示するための記述

図13 ハッシュ変数にサブルーチンのリファレンスを保存

図14 insertページを表示するコード

図15 analyページを表示するコード

特集1 Linuxパーフェクトカスタマイズ(Vol.59掲載)

投稿日:2019.03.25 | カテゴリー: コード

著者:麻生二郎

Linuxには、「ディストリビューション」と呼ばれるさまざまな種類があります。しかし、その中から自分の好みに合ったものを見つけるのは意外と困難です。そこで、軽量なLinuxディストリビューション「Lubuntu」のインストールメディアをカスタマイズして、自分好みのLinuxディストリビューションを手に入れましょう。

シェルスクリプトマガジン Vol.59は以下のリンク先でご購入できます。

図27 スライドショーの設定を書き換える箇所

Node.js/Expressで楽々Webアプリ開発(Vol.59掲載)

投稿日:2019.03.25 | カテゴリー: コード

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。最終回は、サンプルの「蔵書管理アプリケーション」の課題を解決し、「SPA」(Single Page Application)として実装します。

シェルスクリプトマガジン Vol.59は以下のリンク先でご購入できます。

図2 認証時にアクセストークンを発行する部分のプログラム

図3 URLへのアクセスしたときのアクセストークンの検査部分のプログラム

図4 カスタムコールバックを作成している部分のプログラム

図5 表現に合わせてJSON形式で返却する

図6 エラー画面をJSON形式に変更する

図7 テストコードを変更する

最終回 大切なデータを守る(ディレクトリーの暗号化)

投稿日:2019.02.5 | カテゴリー: 記事

 社内に設置したサーバーでは、ストレージやマシン自体の盗難に遭うこともあります。大切なデータを保存しているのなら、保存先のディレクトリーごと暗号化しておくのがお勧めです (図1) 。

図1 暗号化していれば中身が見られない

Vol.58

投稿日:2019.01.25 | カテゴリー: バックナンバー

 インターネット上のサイトで欠かせないサーバーソフトウエアが、データを格納・管理する「データベース管理システム」です。特集1では、オープンソースのデータベース管理システムとして人気が高い「MySQL」を紹介します。入手方法、Linuxディストリビューション「CentOS」へのインストール方法だけでなく、データベースの核となる「ストレージエンジン」、運用管理やトラブルシューティングなどで重要な「ログ」、データベース処理で知っておきたい「トランザクション」や「ロック」に触れます。
 特集2では、小型コンピュータボード「Raspberry Pi」上で「IchigoJam BASIC RPi」による「BASIC」プログラミングを紹介します。BASICは、古くからある言語で、プログラミングの基本が学べます。子供から大人まで楽しめますので、親子で一緒にプログラミングを始めましょう。
 特別企画では、サイボウズの業務改善プラットフォーム「kintone」上で実用的な業務システムの「交通費申請システム」を作成します。入力フォームにテキストボックスやボタンなどの部品を配置し、簡単なワークフローを設定するだけなので、プログラムを一切書く必要はありません。無料のアカウントを登録すれば、すぐに試せます。
 このほか、「中小企業手作りIT化奮戦記」「センサーボードで学ぶ 電子回路の制御」などの人気連載も掲載しています。
 今月も読み応え十分のシェルスクリプトマガジン Vol.58。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

香川大学SLPからお届け!(Vol.58掲載)

投稿日:2019.01.25 | カテゴリー: コード

著者:竹原 一駿
2018年秋に広島と香川で「オープンソースカンファレンス」(OSC)が開催されました。SLPは、両OSCでブースを出展し、OSC香川では3人の学生がライトニングトーク(LT)を行いました。今回は、これらの活動の内容や、それによって得られた体験などについて報告します。OSCへの一般参加や出展などを考えている読者の方の参考になれば幸いです。

シェルスクリプトマガジン Vol.58は以下のリンク先でご購入できます。

図2 自作コンテナエンジンのソースコードの一部
unshareシステムコールによるLinux Namespaceの分離
fork/execシステムコールによるコンテナ内子プロセス生成
図5 「数字に隠された真実」のソースコードの一部
数値を1桁ずつ分解して、すべての和を求める関数
数値を1桁ずつ分解して、すべての積を求める関数
図9 サーバー監視システムのソースコードの一部

Vol.58 補足情報

投稿日:2019.01.25 | カテゴリー: コード

Techパズル 第11回

「タテのカギ」の「18 現実」が抜けていました。お詫びして訂正いたします。

バーティカルバーの極意

p.73のタイトル部分の辰己先生の「己」が「巳」になっていました。お詫びして訂正いたします *

* 2019年1月25日に掲載した訂正情報にも誤りがあり、当該の先生にもご迷惑をおかけしたことをお詫び申し上げます。

情報は随時更新致します。

Node.js/Expressで楽々Webアプリ開発(Vol.58掲載)

投稿日:2019.01.25 | カテゴリー: コード

著者:しょっさん
プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第4回は「蔵書管理アプリケーション」のサンプルプログラムで認証機能を実現す
る方法を解説します。

シェルスクリプトマガジン Vol.58は以下のリンク先でご購入できます。

図3 「models/user.js」ファイルにLibrariesテーブルとの関係性を追記
図4 モデルファイル「models/library.js」の修正
図5 マイグレーションファイルの追記内容
図6 作成したseed(日付-demo-user.js)
図8 passportストラテジの定義
図9 セッション連携の関数「serializeUser」と「deserializeUser」
図10 ミドルウエアで認証済みか否かの判定
図11 テストコード(supertest-spec.js)の主要部分

シェルスクリプトマガジンvol.58 Web掲載記事まとめ

投稿日:2019.01.25 | カテゴリー: コード

シェルスクリプトマガジン Vol.58で掲載しているコードをまとめています。

プレゼント&アンケートページはこちら

シェルスクリプトマガジン Vol.58は以下のリンク先でご購入できます。

004 レポート Linuxカーネル5.0
005 レポート Microsoft社のProject Mu
006 NEWS FLASH
008 特集1 オープンソースのデータベース管理システム MySQL入門/梶山隆輔
030 特集2 ラズパイでBASIC/土肥毅大、岡優樹、納富志津
040 特別企画 kintoneで作る交通費申請システム/佐山ウィリアム 明裕、ぺそ、檀原由香子
050 ラズパイセンサーボードで学ぶ 電子回路の制御/米田聡  コード掲載
055 姐のNOGYO
056 中小企業手作りIT化奮戦記/菅雄一
062 円滑コミュニケーションが世界を救う!/濱口誠一
064 「Visual Studio Code」を便利に使う/山本美穂
068 新年号/桑原滝弥・イケヤシロウ
070 バーティカルバーの極意/飯尾淳
076 法林浩之のFIGHTING TALKS/法林浩之
078 漢のUNIX/後藤大地
084 人間とコンピュータの可能性/大岩元
086 機械学習のココロ/石井一夫  コード掲載
092 Node.js/Expressで楽々Webアプリ開発/しょっさん  コード掲載
100 香川大学SLPからお届け!/竹原一駿  コード掲載
106 UNIXの歴史を振り返る/古寺雅弘
114 ユニケージ新コードレビュー/技術研究員
120 Techパズル/gori.sh
122 コラム「仕事座右の銘」/シェル魔人

機械学習のココロ(Vol.58掲載)

投稿日:2019.01.25 | カテゴリー: コード

著者:石井 一夫
今回は、機械学習による2値分類の方法を紹介します。映画評論のテキストを好評価な内容か悪い評価の 内容かに分類するという例題のTensorFlowのチュートリアルマニュアルに沿って、2値分類のモデリングの定番である「ロジスティック回帰分析」について解説します。

シェルスクリプトマガジン Vol.58は以下のリンク先でご購入できます。

図4 ライブラリのインポートとIMDBデータセットの取り込み
図5 IMDBデータセットの中身を表示するコード
図6 元の単語を表示する関数を定義するコード
図7 データをテンソル化するコード
図8 学習モデルを構築するコード
図10 モデルをコンパイルするコード
図11 訓練用データセットを分割するコード
図12 モデルの訓練用コード
図13 モデルの性能評価用コード
図14 損失のグラフを表示するコード
図16 精度のグラフを表示するコード

ラズパイセンサーボードで学ぶ電子回路の制御(Vol.58掲載)

投稿日:2019.01.25 | カテゴリー: コード

著者:米田 聡
シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)向けのセンサー搭載拡張ボード「ラズパイセンサーボード」を制作しました。第5回では、このボードを使った電子回路制御を取り上げます。具体的には、明るさ・近隣センサーに近づく物体の検出です。

シェルスクリプトマガジン Vol.58は以下のリンク先でご購入できます。

図3 割り込みに対応したVCNL4020ライブラリ(VCNL4020.py)
図4 物体が近づいたら割り込みを発生させるサンプルプログラム(simpletest.py)

第27回 電源障害からサーバーを守る(UPS)

投稿日:2018.12.14 | カテゴリー: 記事

社内サーバーなどの運用管理で見落としがちなのが「電源」に対する保護です。安定した電圧や電流を常に供給しなければ、サーバーが不安定になって停止や故障しかねません。
安定した電源を確保するための重要なハードウエアが「無停電電源装置」(UPS:Uninterruptible Power Supply)です。UPSを用いると、電圧値や電流値が低下したときに補えたり、電源断が発生したときに自動シャットダウンでサーバーを安全に停止させたり、雷などによる異常な高電圧を防いだりできます(図1)。

図1 電源を保護する無停電電源装置(UPS)

今回は、このUPSをサーバーにつないでサーバーの電源を制御する方法を紹介します。管理するサーバーには、Ubuntu Server 16.04 LTSがインストールされているものとします。

第26回 アクセスを制限する(AppArmor)

投稿日:2018.11.30 | カテゴリー: 記事

コンピュータを守るセキュリティの仕組みとして「強制アクセス制御」(Mandatory Access Control)があります。強制アクセス制御では、「パーミッション」などで定められているOSの標準的な制限ではなく、ユーザーや実行プログラムに対してより厳しい制限を設定できます。

例えば、あるプログラムに対して、参照しかしないファイルへの書き込み、利用するはずがないファイルへのアクセス、関係がない別のプログラムの呼び出しを禁止できます(図1)。

図1 強制アクセス制御による制限

このような強制アクセス制御をLinuxで実現できるソフトウエアには、いくつかあります。Ubuntu Serverでは「AppArmor」というソフトウエアが標準で導入されていて、有効になっています。このAppArmorは、Linux OSの核となる「カーネル」のセキュリティフレームワーク「Linux Security Modules」(LSM)を使って実装しています。

Python標準モジュール9選(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:降籏洋行、西川公一朗

Pythonには、豊富な機能を備える標準ライブラリが用意されています。しかし機能豊富すぎるが故に、初心者にとっては「この標準ライブラリモジュールは、実際の開発において、こういう時に役に立つ」という情報を探しにくかったり、リファレンスの説明だけだと使用方法をイメージしづらかったりします。本特集では、知っておくと役立つ便利な標準ライブラリモジュール9個を厳選して、その活用法を紹介します。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

 

特集1 ラズパイでセンサーを使う(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:米田聡、麻生二郎

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」のオリジナル拡張ボード第2弾として「ラズパイセンサーボード」を製作しました。サンプルプログラムで、搭載されている湿温度・気圧センサー、
ガスセンサー、照度センサーの使い方を紹介します。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

Vol.57

投稿日:2018.11.25 | カテゴリー: バックナンバー

シェルスクリプトマガジンでは、小型CPUボード「Raspberry Pi」のオリジナル拡張ボード第2弾として「ラズパイセンサーボード」を制作しました。このセンサーボードには湿温度・気圧センサー、ガスセンサー、明るさセンサーを搭載しています。特集1では、サンプルプログラムを基にしてラズパイセンサーボードの使い方を紹介します。

特集2では、プログラミング言語「Python」の標準ライブラリに含まれる便利で役立つモジュールを9個紹介します。機能が豊富なため、初心者には使い方が分からないものもあります。実際の活用方法を含めながら、分かりやすく解説します。

特集3では、注目のデザインアプリ「Adobe XD CC」を紹介します。Adobe XD CCは、UI/UXデザイン、プロトタイプ、共同作業ツールとして動作します。一部の制限はありますが、無料でも使えます。Adobe XD CCで次世代のデザインアプリを体験してみてください。

特別企画では、ユーザー企業向けにセキュリティ人材不足を解消する方法を解説します。どのような人材が必要なのか、どうすれば人材を育てられるか、アウトソースをどう活用すべきかなど、有益な情報を紹介します。

このほか、「1960年代から現在まで UNIXの歴史を振り返る」「Extensionで機能追加 オープンソースエディタ「Visual Studio Code」を便利に使う」という二つの新連載が始まりました。

今月も読み応え十分のシェルスクリプトマガジン Vol.57。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

漢のUNIX(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:後藤大地

これまで、JSONデータを読み込んで処理する方法を取り上げてきた。JSONデータをパースしながら処理する方法や、メモリー上に展開したJSONデータを、指定したフォーマットで出力する方法を解説した。今回も引き続き同じ「Jansson」ライブラリを使うが、JSONデータを読み込んで処理するのではなく、生成する方法を紹介する。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

 

シェルスクリプトマガジンvol.57 Web掲載記事まとめ

投稿日:2018.11.25 | カテゴリー: コード

シェルスクリプトマガジン Vol.57で掲載しているコードをまとめています。

プレゼント&アンケートページはこちら

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

004 レポート LPI-Japanインタビュ
005 レポート 第34回のTechLION開催
006 NEWS FLASH
008 特集1 ラズパイでセンサーを使う/米田聡、麻生二郎 コード掲載
020 特集2 Python標準モジュール9選/降籏洋行、西川公一朗 コード掲載
038 特集3 Adobe XD CCに触れてみよう/湯口りさ、北村崇
052 特別企画 セキュリティ人材不足を解決する/園田道夫
058 c人間とコンピュータの可能性/大岩元
060 UNIXの歴史を振り返る/古寺雅弘
066 法林浩之のFIGHTING TALKS/法林浩之
068 スズラボ通信/すずきひろのぶ コード掲載
073 姐のNOGYO
074 バーティカルバーの極意/飯尾淳 コード掲載
080 RESEARCHES FOR FUTURE/飯尾淳
082 中小企業手作りIT化奮戦記/菅雄一
088 円滑コミュニケーションが世界を救う!/濱口誠一
090 「Visual Studio Code」を便利に使う/山本美穂 コード掲載
094 香川大学SLPからお届け!/飯國隆志 コード掲載
098 統合/桑原滝弥・イケヤシロウ
100 アジャイル開発 Let’s Practice!/熊野憲辰
104 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
112 漢のUNIX/後藤大地 コード掲載
122 ユニケージ新コードレビュー/村本禎実 コード掲載
128 Techパズル/gori.sh
130 コラム「世の中の流れとは別に」/シェル魔人

「Visual Studio Code」を便利に使う(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:山本美穂

米Microsoft 社発のオープンソースエディタ「Visual Studio Code」には「Extension」と呼ばれる機能拡張用のソフトウエアが多数提供されています。本連載では便利なExtension の使い方を中心に紹介します。第1回は、PaaS「Azure App Service」と連携できるExtension です。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

 

バーティカルバーの極意(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:飯尾淳

バーティカルバー(垂直棒)の集合体「バーコード」の読み取りに挑戦します。すでに、スマートフォンのアプリなどでは、カメラでバーコードを認識する機能が当たり前になっています。この機能を自前のアプリに組み込むことができれば、いろいろな応用が考えられそうです。そのためにも、まずは、バーコード写真を読み込んで認識する基本的な機能を実現してみましょう。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

 

Vol.57 補足情報

投稿日:2018.11.25 | カテゴリー: コード

特集1「ラズパイでセンサーを扱う」

p.14の下から12行目、p.17の下から5行目、図23のキャプションの「smaple.py」は「sample.py」の誤りです。

お詫びして訂正いたします。

情報は随時更新致します。

香川大学SLPからお届け!(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:飯國 隆志

前回は、我々が開発した小規模利用向けプライベートPaaS「LiPP」の概要と環境構築手順を紹介しました。LiPPは、ユーザーが開発したアプリケーションをDockerコンテナ上にリリースする機能を提供します。またLiPPは、GitHubと連携して、リポジトリにpushしたアプリケーションを自動的にデプロイできます。今回は、前回構築したLiPP環境に、サンプルWebアプリをデプロイする手順を紹介します。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

 

スズラボ通信(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:すずきひろのぶ

前回は、Arduino IDEを使って、中国Espressif Systems社のSoC「ESP32」を搭載する開発ボード「ESP32-DevKitC v2」で動作するサンプルプログラムを作成しました。今回は、前回作成したサンプルプログラムを省電力化してみます。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

 

ユニケージ新コードレビュー(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:村本 禎実

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第4回は、Webブラウザからデータを参照・削除するためのサーバー側の処理です。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

 

Node.js/Expressで楽々Webアプリ開発(Vol.57掲載)

投稿日:2018.11.25 | カテゴリー: コード

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第3回は「テストファースト」(最初にテストプログラムを作る)を意識したテストコードの作成方法を解説します。

シェルスクリプトマガジン Vol.57は以下のリンク先でご購入できます。

第25回 アクセスを制限する(ACL)

投稿日:2018.11.16 | カテゴリー: 記事

一般的に、ファイルやディレクトリーへのアクセス制限には「パーミッション」を利用します。このパーミッションでは「所有者」「所有グループ」「その他のユーザー」に対して「読み出し」「書き込み」「実行」の権限(許可/禁止)しか設定できません。日々のサーバー運用管理において、もっと柔軟にアクセス制限を設定したい場合もあります。

ext4やXFSなどのファイルシステムには「ACL」(Access Control List)と呼ばれる、ユーザーやグループ単位でアクセスを制限する仕組みが用意されています(図1)。それを使うと、柔軟にアクセス制限を設定できます。

図1 パーミッションとACL

第24回 定期的にジョブを実行する(cron)

投稿日:2018.11.2 | カテゴリー: 記事

日々のサーバーの運用管理として、決まった時間、決まった曜日、決まった日にちに、ある処理(ジョブ)を実行するという作業はよくあります。Linuxには、そのような時間、曜日、日付を指定してジョブを自動実行するための仕組みの「cron」(クローンまたはクーロン)があります。

今回は、このcronを紹介します。cronでは、あらかじめ実行日時や曜日、ジョブとして実行するためのコマンドを記したファイルを用意しておきます。そのファイルの内容に従って、常駐プログラム(デーモン)「crond」が決められた日時や曜日に、指定されたコマンドを実行します(図1)。

図1 決まった日時や曜日にジョブを自動実行する「cron」

第23回 バックアップを取得する(増分と差分)

投稿日:2018.10.19 | カテゴリー: 記事

前回は「tar」コマンドによる基本的なバックアップ方法を紹介しました。紹介した方法は、バックアップ対象となるすべてのファイルやディレクトリーをアーカイブ化して一つのファイルに保存する「フルバックアップ」です。このフルバックアップは、毎日実施するバックアップには向きません。バックアップに時間がかかりますし、日々のアーカイブファイルには重複するファイルやディレクトリーが数多く含まれてバックアップデータが肥大化する恐れがあるからです。

日々のサーバー運用管理では、フルバックアップだけでなく、「差分バックアップ」(Partial backup)または「増分バックアップ」(Incremental backup)を併用します。それにより、バックアップ時間を短く、バックアップ保存先の容量を無駄なく抑えられます(図1)。

図1 日々のバックアップ

第22回 バックアップを取得する(tarコマンド)

投稿日:2018.10.12 | カテゴリー: 記事

サーバーの運用管理で日々のバックアップは重要な作業です。第7回第12回で説明したRAID(Redundant Arrays of Inexpensive/Independent Disks)のよるデータ保護では、操作ミスや不正アクセス、ウイルスなどによる、データの変更(改ざん)や消去を防げません(図1)。バックアップを併用することで、大切なデータがすべてなくなってしまう最悪の事態を避けられます。

図1 データの変更(改ざん)や消去に有効なのはバックアップ

サーバーのバックアップツールには、さまざまなものがあります。また、第6回で説明した、Linuxなどのストレージを柔軟に管理する仕組み「LVM」(Logical Volume Manager)のスナップショット機能を用いればバックアップの取得が可能です。

ただし、専用のバックアップツールを導入していない、LVMを利用していない環境でもバックアップを取得できるように、まずはLinuxが標準で備える「tar」コマンドによるバックアップ取得方法を知っておきましょう。

第21回 ログを収集する(rsyslogによる一元管理)

投稿日:2018.10.5 | カテゴリー: 記事

カーネルやシステムに関連するログを収集・制御するソフトウエア「rsyslog」は、1台のサーバーで複数のサーバーのログを一元的に管理する機能を備えています(図1)。

図1 複数のサーバーのログを一元管理

今回は、3台のサーバーを用意し、その中の1台をログ管理サーバーとしてログを一元的に管理してみます。なお、いずれのサーバーもOSとしてUbuntu Server 16.04 LTSが稼働しているものとします。

番外編2 Webブラウザーからサーバーへリモートアクセス

投稿日:2018.09.28 | カテゴリー: 記事

連載「UbuntuではじめるLinuxサーバー」の第4回で紹介しましたが、サーバーにリモートからアクセスする場合、アクセスする側のパソコンやMacに「SSHクライアントソフト」が必要です。主要なLinuxディストリビューションやmacOSなら、SSHクライアントとなる「ssh」コマンドが標準で導入されています。それを使えばよいでしょう。

しかし、Windowsでは「Tera Term」などのSSHクライアントソフトを導入しなくてはいけません。WindowsでもSSHクライアントソフトを導入せずにSSHクライアントソフトが使えると便利です。

そこで今回は、Webブラウザー「Google Chrome」の拡張機能として提供されているSSHクライアントの「Secure Shell Extension」を導入して、サーバーにリモートからアクセスする環境を構築します(図1)。

図1 Google Chromeの「Secure Shell Extension」によるリモートアクセス

Google Chrome(以下、Chrome)に一度だけこの拡張機能を導入・有効しておけば、Google Chromeを導入している別のパソコンからもサーバーへリモートアクセスがすぐにできます。

ラズパイ入門ボードで学ぶ電子回路の制御(Vol.56)

投稿日:2018.09.25 | カテゴリー: コード

著者:米田 聡

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)のプログラミングが楽しめる拡張ボード「ラズパイ入門ボード」を制作しました。本連載では、ラズパイ入門ボードを使った電子回路制御を取り上げていきます。第4 回は、赤外線レシーバを扱います。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

漢のUNIX(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:後藤 大地

プログラムでJSONデータを自動処理する場合、フォーマットはどうでもよい。ただし、人間が読むとなると、フォーマットを変換して整理する必要がある。整理されていないJSONデータは、人間にはあまりにも読みにくいからだ。自分の読みやすいようにJSONデータを変換するコマンドといったものが、Janssonライブラリを利用すると簡単に開発できる。これが今回のテーマである。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

香川大学SLPからお届け!(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:飯國 隆志

アプリケーションの開発やデプロイを容易にするPaaS(Platform as a Service)は非常に便利なサービスです。しかし、Google App Engineや、Herokuなどのパブリッククラウドサービスは、料金体系や学習コストの面から、サークルで利用するには難がありました。そこで、プライベートで構築できるPaaS「LiPP」を開発しました。今回から数回にわたってLiPPの利用方法を紹介します。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

 

スズラボ通信(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:すずき ひろのぶ

今回は、開発ボード「ESP32-DevKitC v2」の省電力モードに挑戦してみた奮戦記の前半部分です。プログラミング設定から、まずWi-Fiが動くまでの流れを追ってみます。次回は、省電力のためにDeep SleepやLight Sleepに移行した際にWi-Fiはどんな動作となるのかを試行錯誤した結果を紹します。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

Node.js/Expressで楽々Webアプリ開発(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第2回は「蔵書管理アプリケーション」を作成しながら、少し複雑なデータベースを扱う方法を紹介します。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

 

シェルスクリプトマガジンvol.56 Web掲載記事まとめ

投稿日:2018.09.25 | カテゴリー: コード

シェルスクリプトマガジン Vol.56で掲載しているコードをまとめています。

プレゼント&アンケートページはこちら

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

004 レポート バッファローの新無線LANブランド
005 レポート パッケージ管理システム「Flatpak 1.0」
006 NEWS FLASH
008 特集1 Zabbix入門/寺島広大、田中敦
029 姐のNOGYO
030 特集2 「HCI」に乗り遅れるな!/羽鳥正明
038 特集3 Visual Studio Codeを使おう/山本美穂 コード掲載
048 特別企画 シェルスクリプトで作るTwitter bot/Piro(結城洋志) コード掲載
056 ラズパイ入門ボードで学ぶ電子回路の制御/米田聡  コード掲載
060 スズラボ通信/すずきひろのぶ コード掲載
064 機械学習のココロ/石井一夫 コード掲載
068 中小企業手作りIT化奮戦記/菅雄一
072 人間とコンピュータの可能性/大岩元
074 バーティカルバーの極意/飯尾淳 コード掲載
080 RESEARCHES FOR FUTURE/米澤拓郎
082 香川大学SLPからお届け!/飯國隆志 コード掲載
086 円滑コミュニケーションが世界を救う!/濱口誠一
088 漢のUNIX/後藤大地 コード掲載
096 法林浩之のFIGHTING TALKS/法林浩之
098 アジャイル開発 Let’s Practice!/熊野憲辰
102 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
110 ユニケージ新コードレビュー/村本禎実 コード掲載
116 統合/桑原滝弥・イケヤシロウ
118 Techパズル/gori.sh
120 コラム「世の中の流れとは別に」/シェル魔人

Vol.56 補足情報

投稿日:2018.09.25 | カテゴリー: コード

目次

p.2の「雄大」は「広大」の誤りです。

Node.js/Expressで楽々Webアプリ開発

p.106の10行目にある「外部キー({{ foreignKey: ‘book_id’ })」は、「外部キー({ foreignKey: ‘book_id’ })」の誤りです。

ユニケージ新コードレビュー

p.110の注釈(*1)にある「https://github.com/shellscript-magazine/newcodereview/201810/」は、「https://github.com/shellscript-magazine/newcodereview」の誤りです。

p.112の本文の最終行にある「プロセスID-name」は「プロセスID-flg」の誤りです。

 

以上、お詫びして訂正いたします。

特別企画 シェルスクリプトで作る Twitter bot(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:結城 洋志

つぶやき投稿サイト「Twitter」に自動でつぶやくBot「Twitter bot」を、Bash
のシェルスクリプトで作ってみましょう。このTwitter botは、日経Linuxで好評
連載中の人気まんが「シス管系女子」の著者である私自身が作成し、シス管系女子宣伝用アカウントでも利用しています。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

 

機械学習のココロ(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:石井一夫

今回は、人工知能プラットフォーム「TensorFlow」のインストール手順と、TensorFlow を使った機械学習と画像分析の一例を紹介します。TensorFlow をベースにした機械学習環境の構築や利用には、やや難易度の高い作業がかつては必要でした。しかし最近、ニューラルネットワークライブラリの「Keras」が開発されたことで、非常に楽になっています。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

バーティカルバーの極意(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:飯尾 淳

本連載の第2 回(2017 年6 月号掲載)では、SNS(Facebook)のデータを分析しました。そこでは、投稿時間別のヒストグラムを作り、自分が何時頃によく投稿しているのかを考えてみました。今回は、バーティカルバー(垂直の棒)による代表的な表現に立ち戻り、再度、ヒストグラムを描いて分析してみましょう。分析の対象は、会議録です。国会議員による発言の状況を、ざっくりと捉えてみようという試みです。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

Visual Studio Codeを使おう(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

著者:山本 美穂

高機能、クロスプラットフォームで最近話題になっている、米Microsoft 社
発のオープンソースのエディタ「Visual Studio Code」。その概要、導入方法、画面構成や基本操作、カスタマイズ、デバックなど、便利な機能を含めながらVisual Studio Code を紹介します。

シェルスクリプトマガジンvol.56は以下リンク先でご購入できます。

 

ユニケージ新コードレビュー(Vol.56掲載)

投稿日:2018.09.25 | カテゴリー: コード

筆者:村本 禎実

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第3回は、Webブラウザからデータを登録するためのサーバー側の処理です。

シェルスクリプトマガジン Vol.56は以下のリンク先でご購入できます。

 

Vol.56

投稿日:2018.09.25 | カテゴリー: バックナンバー

Linuxサーバーやネットワーク機器の運用管理に、それらを監視するツールは欠かせません。特集1では、有償の監視ツールにも劣らない多くの機能を有する「Zabbix」を取り上げました。Zabbixの導入方法や基本的な使い方、今秋にリリースされるバージョン4.0について分かりやすく紹介しています。
特集2では、企業ITインフラの新しいコンセプト「パイパーコンバージドインフラストラクチャ」(HCI)について分かりやすくまとめました。仮想化技術でハードウエアをシンプルにまとめたHCIの特徴を誰でも理解できます。
特集3では、Microsoft発のオープンソースエディタ「Visual Stuido Code」を紹介しました。バージョン管理システム「Git」と連携した導入方法、基本操作、カスタマイズ、デバッグなどを、多数の画面写真を使って解説しています。
特別企画では、日経Linuxで超人気のITまんが「シス管系女子」の筆者が、自らがシェルスクリプトで作ったTwitter Botを紹介しています。実際に「@sysadgirl_mint」で動いている本格的なものです。
このほか、「香川大学SLPからお届け!」では、独自開発の小規模利用向けプライベートPaaS(Platform as a Service)「LiPP」の使い方を紹介しています。好評連載の「ラズパイ入門ボードで学ぶ電子回路の制御」では、赤外線リモコンによるラズパイの遠隔操作を扱っています。シェルスクリプトマガジン特製の「ラズパイ入門ボード」を活用してください。

今月も読み応え十分のシェルスクリプトマガジン Vol.56。お見逃しなく!

※記事掲載のコードはこちら。記事の補足情報はこちら

※読者アンケートはこちら

第20回 ログを収集する(rsyslogのログメッセージ)

投稿日:2018.09.21 | カテゴリー: 記事

前回は、カーネルやシステムに関連するログを収集・制御するソフトウエア「rsyslog」によって、Ubuntu Server 16.04 LTSではどのような種類のログが取得されているのかを確認しました。また、rsyslogでログを取得して処理するためのルールの書き方も簡単に説明しました。
今回は、rsyslogによって出力されるログメッセージのフォーマットについて解説します。このフォーマットは「テンプレート」を使って、サーバー管理者が自由に変更できます。

図1 カーネル関連のログメッセージ

第19回 ログを収集する(rsyslogの設定)

投稿日:2018.08.31 | カテゴリー: 記事

前回は、カーネルやシステムに関連するログを収集・制御しているソフトウエア「rsyslog」の概要を紹介しました。その中で、「/etc/rsyslog.d/50-default.conf」の設定ファイルに、カーネルやシステムに関するログ出力のための設定が書き込まれていると説明しました。

今回は、このデフォルトで用意されている/etc/rsyslog.d/50-default.confの内容から、Ubuntu Server 16.04 LTSでは、どのようなログが取得されているのかを確認します(図1)。

図1 デフォルトのログ設定を確認する

第18回 ログを収集する(rsyslogの概要)

投稿日:2018.08.24 | カテゴリー: 記事

サーバーの運用管理で各種ログを収集することは重要です。Linuxでは「rsyslog」(https://www.rsyslog.com/)というソフトウエアでカーネルやシステムに関連するログを収集・制御しています(図1)。今回から、このrsyslogについて解説します。

図1 rsyslogによるログ収集

このrsyslogは、UNIXやLinux標準のログ転送およびログ取得の規格「syslog」に準拠しています。そのため、多くのLinuxディストリビューションで利用されています。

第17回 ネットワークの可用性を高める(チーミング)

投稿日:2018.08.10 | カテゴリー: 記事

複数のネットワークインタフェースを束ねて、一つのネットワークインタフェースとして扱う技術に「チーミング」(または「ボンディング」)があります。このチーミングには、帯域幅を広げる効果と、冗長化により可用性を向上させる効果があります(図1)。後者の可用性向上は、RAIDと同様にLinuxサーバーでは重要です。サーバーの運用管理の一つとして、チーミング方法を覚えておきましょう。

図1 チーミングの利点

ネットワークのプロトコルには「IPv4」と「IPv6」がありますが、広く利用されているIPv4でチーミングを設定する方法を紹介します。
今回もUbuntu Server 16.04 LTSをインストールしたサーバーを例にします。チーミングのためにネットワークインタフェースカードを二つ追加し、三つのネットワークインタフェースを搭載した状態としました。

第16回 複数のユーザーを効率良く管理する(有効期限の制御)

投稿日:2018.08.3 | カテゴリー: 記事

前回は、複数のユーザーを一括登録する方法を紹介しました。ユーザーの管理は、登録だけではありません。パスワードを頻繁に変えさせたり、ユーザーの利用期限を設定したり、一時的にログインを不可にしたりなど、登録後のユーザー管理の方が重要です(図1)。

そこで、今回は既存ユーザーに関する管理について紹介します。

図1 既存ユーザーの管理

第15回 複数のユーザーを効率良く管理する(ユーザー登録)

投稿日:2018.07.27 | カテゴリー: 記事

複数のユーザーでLinuxサーバーを共用する場合、個々のユーザーを効率良く管理することが重要です(図1)。ユーザーの一括登録、パスワード変更の義務付け、退社や退会などによるログイン自動停止などができると便利です。

図1 Linuxサーバーの運用管理としてユーザー管理は重要

そこ、Linuxサーバーにおけるユーザー管理方法を解説します。今回は、ユーザーの一括登録を紹介します。ここでも「Ubuntu 16.04 LTS」を例にします。

シェルスクリプトマガジンvol.55 Web掲載記事まとめ

投稿日:2018.07.25 | カテゴリー: 記事

シェルスクリプトマガジン Vol.55のWeb掲載部分まとめです。

プレゼント&アンケートページはこちら

シェルスクリプトマガジンvol.55は以下リンク先でご購入できます。

004 レポート テキストエディタ「Vim 8.1」公開
005 レポート トークイベント「TechLI ON」開催
006 NEWS FLASH
008 特集1 Linuxサーバー構築/麻生二郎 コード掲載
032 姐のNOGYO
033 特集2 IBM Cloud Functions を試す/小薗井康志、岸田吉弘、十川恵美、佐藤光太
048 特集3 GitHubの使い方/松浦隼人、水谷翔、鈴木順子
056 特別企画 仮想通貨マイニング/末安泰三 コード掲載
066 ラズパイ入門ボードで学ぶ電子回路の制御/米田聡 コード掲載
070 Node.js/Expressで楽々Webアプリ開発/しょっさん コード掲載
078 RESEARCHES FOR FUTURE/中村聡史
080 中小企業手作りIT化奮戦記 菅雄一
086 それプロのエバンジェリストから愛をこめて/山本美穂
088 漢のUNIX/後藤大地 コード掲載
098 人間とコンピュータの可能性/大岩元
100 バーティカルバーの極意/飯尾淳
106 法林浩之のFIGHTING TALKS/法林浩之
108 アジャイル開発 Let’s Practice!/熊野憲辰
112 機械学習のココロ/石井一夫
117 スズラボ通信/すずきひろのぶ
120 円滑コミュニケーションが世界を救う!/濱口誠
122 香川大学SLPからお届け!/山田昂平
128 ユニケージ新コードレビュー/伊藤和正 コード掲載
134 雲/桑原滝弥・イケヤシロウ
136 Techパズル/gori.sh
138 コラム「オールマイティーさを身に付けよう」/シェル魔人

Vol.55

投稿日:2018.07.25 | カテゴリー: バックナンバー

Linuxやオープンソースに関連する技術者の需要が高まっています。特集1では、企業で人気のRed Hat Enterprise Linux(RHEL)のクローンOS「CentOS」による自宅サーバーの構築方法を解説しました。仮想化ソフト「Oracle VM VirtualBox」を用いてサーバーを構築しているので、Linux専用のパソコンやサーバー機を用意する必要はなく、気軽に始められます。
特集2では、米IBM社が提供する「IBM Cloud Functions」を扱いました、IBM Cloud Functionsは、最近話題のサーバーレス/マイクロサービスです。無料のアカウントを利用しての使い方、AIサービス「Watson」と組み合わせた実用的なアプリの作り方、導入事例を紹介しています。
特集3では、コードホスティングサービス「GitHub」のコラボレーション機能を中心に解説しました。また、そのほかの便利な機能もいくつか紹介しています。
特別企画は、仮想通貨のマイニング(採掘)です。専用のハードウエアを使うことなく、パソコンだけで採掘できる方法を紹介しました。
このほか、注目のサーバーサイド実行環境「Node.js」と「Express」フレームワークを活用するための新連載を開始しました。好評連載の「ラズパイ入門ボードで学ぶ電子回路の制御」では、OLEDへの画像表示を扱っています。シェルスクリプトマガジン特製の「ラズパイ入門ボード」を活用してください。

今月も読み応え十分のシェルスクリプトマガジン Vol.55。お見逃しなく!

※記事掲載のコードはこちら
※読者アンケートはこちら

第14回 ストレージの使用量を制限する(クオータの設定2)

投稿日:2018.07.20 | カテゴリー: 記事

前回は、ルートファイルシステム以外のファイルシステム(/home)に対して、ユーザーやグループのストレージ使用量を制限する「クオータ」の設定方法を紹介しました。今回は、ルートファイルシステムに対するクオータの設定です(図1)。ルートファイルシステムの場合、クオータが使えるようにするオプション、ユーザーやグループの設定ファイルの作成方法が異なります。今回も「Ubuntu Server 16.04 LTS」を例にします。

図1 ルートファイルシステムにクオータを設定する

Node.js/Expressで楽々Webアプリ開発(Vol.55掲載)

投稿日:2018.07.18 | カテゴリー: コード

著者:しょっさん

プログラミング言語「JavaScript」の実行環境「Node.js」と「Express」フレームワークを使って、基本となるWebアプリの開発手法を習得しましょう。第1回は「MVC」(Model View Controller)で「見た目」と「ロジック」を分離したWebアプリの開発手順を紹介します。

記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


 

ユニケージ新コードレビュー(vol.55掲載)

投稿日:2018.07.18 | カテゴリー: コード

著者:伊藤 和正

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。第2回は、データを分割・保存した複数のテキストファイルの抽出や読み出しです。

記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


 

漢のUNIX JSON データを扱うJanssonライブラリ(Vol.55掲載)

投稿日:2018.07.18 | カテゴリー: コード

著者:後藤 大地

C言語のJSON用ライブラリ「Jansson」の使い方を紹介する。Janssonライブラリは、使い方がかなり直感的で扱いやすい。C言語でJSONデータを扱いたいのなら最初に使っておきたいものだ。

記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


 

ラズパイ入門ボードで学ぶ 電子回路の制御(Vol.55掲載)

投稿日:2018.07.18 | カテゴリー: コード

著者:米田 聡

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)のプログラミングが楽しめる拡張ボード「ラズパイ入門ボード」を制作しました。本連載では、ラズパイ入門ボードを使った電子回路制御を取り上げていきます。第3回は、OLEDに画像を表示します。

記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


 

特別企画 普通のパソコンではじめる仮想通貨マイニング(Vol.55掲載)

投稿日:2018.07.18 | カテゴリー: コード

著者:末安 泰三

一時期のバブルは弾けた感じはありますが、仮想通貨にはまだまだ注目が集まっています。仮想通貨の一部は、パソコンでマイニング(採掘)という作業をすることで獲得できます。ASIC 耐性が高い「yescrypt」と呼ばれるハッシュ関数を使用する仮想通貨をマイニングする方法を紹介します。

記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


 

 

特集1 CentOSではじめるLinuxサーバー構築(Vol.55掲載)

投稿日:2018.07.18 | カテゴリー: コード

著者:麻生 二郎

CentOSやUbuntuなどのLinuxディストリビューション、パソコン、インターネットに接続する環境を用意すれば、無料で実用的なサーバーを構築できます。本特集では、企業のサーバーOSとして人気のCentOSを用いて、「ファイル共有」と「ブログ」の2種類のサーバーを立ち上げる方法を分かりやすく紹介します。
記事本文掲載のシェルスクリプトマガジンvol.55は以下のリンク先でご購入できます。


Part2 リモートアクセス環境の構築

Part3 ファイル共有/ブログサーバーの構築

第13回 ストレージの使用量を制限する(クオータの設定1)

投稿日:2018.07.13 | カテゴリー: 記事

Linuxサーバー上で複数のユーザーが作業することもあります。通常、各ユーザーには、作業場所として「/home」ディレクトリーの下に自分の名前と同じ「ホームディレクトリー」が割り当てられています。自分のホームディレクトリー内なら自由にファイルを保存できます。

ただし、自由に保存できるからといって、一人のユーザーが多くのストレージ容量を使うと、システムや他の人が使用できる領域を圧迫しかねません。よって、ユーザーや、ユーザーが所属するグループごとにファイルシステム単位でストレージの使用容量を制限するための「クオータ」(Quota)機能が用意されています(図1)。そのクオータの設定方法を紹介します。今回も「Ubuntu Server 16.04 LTS」を例にします。

図1 ユーザーやグループごとにストレージの使用量を制限する

第12回 ストレージの可用性を高める(RAIDの復旧)

投稿日:2018.07.6 | カテゴリー: 記事

前回は、RAIDの運用管理における監視方法を紹介しました。RAIDの障害を検出したら、次の障害が発生する前に完全復旧させましょう。
完全復旧作業の手順は図1のようになります。

図1 RAIDアレイの完全復旧手順

まず、障害が発生したストレージをRAIDアレイから切り離します。そして、サーバーマシンから故障したストレージを抜き取り、新しいストレージを交換します。「ホットスワップ」または「ホットプラグ」に対応したベイまたはケースなら電源を入れたまま抜き差しできますが、大抵はホットスワップに対応していません。サーバーマシンをシャットダウンして電源をオフにしてからストレージを交換してください。
交換を終えたら、サーバーマシンの電源をオンにします。サーバーが起動したら、新しいストレージに物理ボリュームを作成します。作成したら、RAIDアレイに追加します。これで完全復旧の完了です。

第11回 ストレージの可用性を高める(RAIDの運用管理)

投稿日:2018.06.29 | カテゴリー: 記事

3回にわたって、Ubuntu Server 16.04 LTSにおけるRAIDアレイ(ソフトウエアRAID)の構築方法を紹介しました。複数のストレージを使ってRAIDを構成したことで、可用性を高めることができました。しかし、安心はできません。ストレージの故障から復旧するまでの間は、高可用性を確保できないからです。

常にRAIDの状態を監視し、ストレージの故障を発見したときはすぐに新しいストレージを割り当て完全復旧しなくてはいけません(図1)。よって、今回はRAIDの運用管理方法について解説します。

図1 RAIDアレイの監視

第10回 ストレージの可用性を高める(ソフトウエアRAIDの構築3)

投稿日:2018.06.22 | カテゴリー: 記事

前回と前々回で、Ubuntu Server 16.04 LTSのインストーラーを使った、ソフトウエアRAIDの構築方法を解説しました。今回は、既に動かしているUbuntuサーバーにRAID構成にしたストレージ(RAIDアレイ)を追加します(図1)。

図1 ソフトウエアRAIDによるRAIDアレイを追加

今回も扱うRAIDは「ソフトウエアRAID」です。LinuxにはソフトウエアRAIDを構築・管理する「mdadm」コマンドが用意されています。

第9回 ストレージの可用性を高める(ソフトウエアRAIDの構築2)

投稿日:2018.06.15 | カテゴリー: 記事

前回は、「BIOS」のファームウエアを搭載するマシンで、Ubuntu Server 16.04 LTSのインストーラーを使ったソフトウエアRAID(RAID 1、RAID 5、RAID 6)を構築する手順を解説しました。今回は、ファームウエアが「UEFI」のマシンでの手順を紹介します(図1)。

図1 ファームウエアが「UEFI」のマシンでUbuntu ServerのインストーラーによるRAID構築

前回も少し触れましたが、「EFIシステムパーティション」への障害対策が必要です。EFIシステムパーティションはRAID構成にできませんが、起動時にしか使いません。そこで、別のストレージを用意してその中に作成し、バックアップしておきます。

第8回 ストレージの可用性を高める(ソフトウエアRAIDの構築1)

投稿日:2018.06.8 | カテゴリー: 記事

前回は「RAID」(レイド、Redundant Arrays of Inexpensive/Independent Disks)の概要、「RAID 0」「RAID 1」「RAID 5」「RAID 6」「RAID 0+1」「RAID 1+0」の構成、「ハードウエアRAID」と「ソフトウエアRAID」などの種類を紹介しました。今回から数回にわたって、Ubuntu Server 16.04 LTSのストレージをRAID構成にする方法、RAIDの監視やストレージの障害検出、障害からの復旧方法を解説します。

今回は、Ubuntu Server 16.04 LTSのインストーラーを使った、ソフトウエアRAIDによるRAID 1、RAID 5、RAID 6を構築する手順です。マシンのファームウエアが「BIOS」なら、Ubuntu Serverのインストーラーからシステムで利用しているストレージを簡単にRAID構成にできるので、それから始めましょう(図1)。

図1 Ubuntu Server 16.04 LTSのインストーラーによるRAID構築

ちなみに、ファームウエアが「UEFI」の場合、ストレージの先頭にある、OS起動用のソフトなどを格納する「EFIシステムパーティション」への障害対策が必要です。このパーティションを含むストレージに障害が発生した状態で、サーバーを再起動すると起動しないことがあり得ます。UEFIのマシンにおけるシステム全体のRAID構築方法は、次回以降に解説します。

第7回 ストレージの可用性を高める(RAIDの概要)

投稿日:2018.06.1 | カテゴリー: 記事

「可用性」(Availability)とは、システム稼働を継続できる能力のことです。この可用性を向上するには、障害に対して強いシステムを構築できるかどうかにかかっています。
サーバーには、ソフトウエアによる障害以外にハードウエアによる障害もあります。ハードウエアの中で最も壊れやすいのが、機械部品(モーター)で動作する「ハードディスク」(HDD)です。HDDの経年劣化による故障は避けられません。一部のデータが読み出しにくかったり、読み出せなかったりと、部分的に故障するので、とてもやっかいです。
このように壊れやすいにもかかわらず、HDDはサーバー内の大切なデータを保存しています。大切なデータが失われてしまうと、システム稼働を継続できません。逆にいえば、HDDが故障しても大切なデータを失うことがなければ、システム稼働を継続できます。その方法として有効なのが「RAID」(レイド、Redundant Arrays of Inexpensive/Independent Disks)です。RAIDは、複数のストレージを組み合わせて、1台(または2台)のストレージが故障しても他のストレージによってデータを消失させない仕組みです(図1)。複数のストレージに同じデータを保存したり、データを修復するための「パリティー」を生成・保存したりして、データ消失を防ぎます。

図1 RAID(Redundant Arrays of Inexpensive/Independent Disks)

第6回 ストレージを柔軟に管理する(LVMの操作3)

投稿日:2018.05.25 | カテゴリー: 記事

第5回に引き続き、Linuxなどのストレージを柔軟に管理する仕組み「LVM」(Logical Volume Manager)の利点を紹介します。今回は「スナップショット」です。
このスナップショットは、LVMの「論理ボリューム」を瞬時にバックアップできるとても便利な機能です(図1)。スナップショット作成時の論理ボリューム(LV)の状態を維持でき、それを「dump」や「rsync」などのコマンドで簡単に取り出せます。

図1 スナップショット機能

ラズパイ入門ボードで学ぶ 電子回路の制御(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:米田

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)のプログラミングが楽しめる拡張ボード「ラズパイ入門ボード」を制作しました。本連載では、ラズパイ入門ボードを使った電子回路制御を取り上げていきます。第2 回は、Grove System の光センサーを扱います。

記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


 

ユニケージ新コードレビュー(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:大内 智明

ユニケージでは、小さな道具の「コマンド」をシェルスクリプトで組み合わせて、さまざまな業務システムを構築しています。本連載では、毎回あるテーマに従ってユニケージによるシェルスクリプトの記述例を分かりやすく紹介します。初回は、サーバー2重化時のデータ書き込みです。
記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


 

漢のUNIX XML2JSON のコードを整理して仕上げる(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:後藤 大地

前回までの2回で、XMLパーサーライブラリ「expat」の使い方と、expatによるXMLデータをJSONデータへ変換する方法を取り上げた。前回作成したサンプルコードはとりあえず動作するものだが、それほどきれいに整理はされていない。今回はこのサンプルコードを整理して完成させる。
記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


 

香川大学SLPからお届け!(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:楠目幹

こんにちは。香川大学工学部 学部4年生の楠目です。高校時代にPCがマルウェアに感染した経験がきっかけでセキュリティに興味を持ち、マルウェア対策やペネトレーションテストに関する分野の勉強を行っています。
昨年の8月「セキュリティ・キャンプ全国大会2017」に参加しました。そこでは「Linux向けマルウェア対策ソフトを作ろう」と言う講義に参加し、「surface indicator+αなELFマルウェアの分類」というテーマに、チームで取り組みました。このテーマの目標は、機械学習や複雑な解析を用いずにELFマルウェアの亜種を素早く検出することです。今回の記事では、私が講師やチューターの方、チームのメンバーと一緒に取り組んだ内容をご紹介します。

記事本文掲載のシェルスクリプトマガジンvol.54は以下リンク先でご購入できます。

特集1 Node.js/Express入門(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:しょっさん

インターネットを介する各種サービス、ゲーム、そしてコミュニケーションツールなどの多くが「Webアプリ」として提供されています。このようにWebアプリが普及したのは、プログラミング言語「JavaScript」のおかげです。JavaScriptはフロントエンド開発が中心でしたが、サーバーサイドの実行環境「Node.js」の登場によりバンクエンドのアプリ開発にも使われています。本特集ではNode.js、フレームワークとなる「Express」について、実践しながら分かりやすく紹介します。
記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


 

Vol.54

投稿日:2018.05.25 | カテゴリー: バックナンバー

2018年に学ぶべきプログラミング言語として注目の「JavaScript」。特集1では、Webサーバーのバックエンドで動作するJavaScript実行環境「Node.js」と、Node.js向けフレームワークの「Express」を、導入方法も含めて分かりやすく紹介します。ITインフラやIoT(モノのインターネット)の技術者は必見です。
特集2では、すぐに使えるシェルスクリプト/ワンライナー集を紹介します。それぞれのシェルスクリプトやワンライナーで記述しているコードを詳しく解説しています。そのまま使ったり、自分なりにカスタマイズしたりと、自由に活用してください。
特集3では、仮想化技術の一つであるコンテナーの運用管理や運用自動化で定番になりつつある「Kubernetes」(クーバネイティス)を解説します。米Google社のクラウドサービス「Google Cloud Platform」を利用して、Kubernetesの実践的な使い方も紹介します。
特別企画では、一般販売も開始したスマートスピーカー「Amazon Echo」をカスタマイズするための「Alexaカスタムスキル」開発を紹介します。自分だけのAmazon Echoを手に入れましょう。
このほか、好評連載の「ラズパイ入門ボードで学ぶ電子回路の制御」では光センサーを扱います。シェルスクリプトマガジン特製の「ラズパイ入門ボード」を活用してください。

今月も読み応え十分のシェルスクリプトマガジン Vol.54。お見逃しなく!

※記事掲載のコードはこちら
※読者アンケートはこちら

シェルスクリプトマガジンvol.54 Web掲載記事まとめ

投稿日:2018.05.25 | カテゴリー: 記事

 

シェルスクリプトマガジンvol.54のWeb掲載部分まとめです。

プレゼント&アンケートページはこちら!

シェルスクリプトマガジンvol.54は以下リンク先でご購入できます。

04  レポート Ubuntu最新版18.04 LTSが登場 FoundationDBのオープンソース化

06  NEWS FLASH

08  特集1 Node.js/Express入門/しょっさん  コード掲載

29  縁の木、育てよう/白羽玲子

30  特集2 シェルスクリプトスニペット集/今泉光之  コード掲載

41  姐のNOGYO

42  特集3 Kubernetesを知る/福田潔  コード掲載

52  特別企画 Alexaカスタムスキル開発入門/岡本秀高 コード掲載

60  ラズパイ入門ボードで学ぶ電子回路の制御/米田聡  コード掲載

64  スズラボ通信/すずきひろのぶ

72  アジャイル開発 Let’s Practice!/熊野憲辰

76  円滑コミュニケーションが世界を救う! /濱口誠一

78  中小企業手作りIT化奮戦記/菅雄一

84  RESEARCHES FOR FUTURE/伊藤貴之

86  香川大学SLPからお届け! /楠目幹  コード掲載

92  法林浩之のFIGHTING TALKS/法林浩之

94  それプロのエバンジェリストから愛をこめて/山本美穂

98  人間とコンピュータの可能性/大岩元

100  バーティカルバーの極意/飯尾淳  コード掲載

106  雲/桑原滝弥・イケヤシロウ

108  漢のUNIX/後藤大地  コード掲載

116  ユニケージ新コードレビュー/大内智明  コード掲載

120  Techパズル/gori.sh

122  コラム「人間がボトルネックになる時代」/シェル魔人

バーティカルバーの極意 第六回(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:飯尾 淳

前回は、政府統計の総合窓口「e-Stat1」から入手できるデータをダウンロードして、八王子市の町・丁目を示す境界データを地図上に可視化する準備をしました。今回は、実際に地図データを活用できるように、データをきれいに整理する作業を実施します。データをきれいにする作業、それを「クレンジング」と呼びます。
記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


特集3 Kubernetesを知る(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:福田 潔

コンテナー型の仮想化環境を提供するソフトウエア「Docker」の普及により、その運用管理が重要になってきています。Kubernetesは、最も注目されているコンテナー運用管理/運用自動化ツールです。本特集では使い方も含めて、Kubernetesについて分かりやすく紹介します。
記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


 

特集2 日々の仕事をちょっと便利にする シェルスクリプトスニペット集(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:今泉 光之

日々の業務でよく使い回すちょっとしたコードの羅列を「スニペット」(断片)として用意しておくと便利です。本特集では、作業の自動化に便利であろういくつかのシェルスクリプトスニペットを紹介します。

記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


 

 

 

特別企画 Alexaカスタムスキル開発入門(vol.54掲載)

投稿日:2018.05.25 | カテゴリー: コード

著者:岡本 秀高

2018 年3 月30 日、スマートスピーカー「Amazon Echo」の一般販売が開始されました。そのバックエンドに使用されるAIアシスタント「Amazon Alexa」を活用することで、自分のオリジナルアプリ(スキル)を簡単に作成できます。本企画で、シンプルなスキルを作りながら、スキルの開発方法を学んでいきましょう。
記事本文掲載のシェルスクリプトマガジンvol.54は以下のリンク先でご購入できます。


 

番外編1 長期サポート版のUbuntu Server 18.04 LTS

投稿日:2018.05.18 | カテゴリー: 記事

2018年4月26日に「Ubuntu 18.04 LTS」がリリースされました(図1)。今まで連載で紹介してきた「Ubuntu 16.04 LTS」に代わる長期サポート版(LTS)です。Ubuntu 18.04 LTSでは、カーネルを含む多くのソフトウエアが更新されました。

図1 Ubuntu 18.04 LTSのリリースノート(https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes)

サーバー版の「Ubuntu Server 18.04 LTS」では、ネットワークユーティリティーとして「NetPlan」が採用され、ネットワーク設定は「systemd-networkd」というデーモンで管理されています。また、デフォルトのインストーラーが「Subiquity」となり、九つのステップで簡単にインストール可能になりました。

今回は、このUbuntu Server 18.04 LTSをSubiquityでインストールする方法と、ストレージを柔軟に管理する仕組み「LVM」(Logical Volume Manager)を設定したインストール方法を紹介します。Subiquityでは、インストールが簡単になった分、LVMが設定できません。

第5回 ストレージを柔軟に管理する(LVMの操作2)

投稿日:2018.05.11 | カテゴリー: 記事

前回は、Linuxなどのストレージを柔軟に管理する仕組み「LVM」(Logical Volume Manager)の利点として、論理ボリュームを拡張してファイルシステムの容量を増やす方法を紹介しました。今回は、残っている利点の一つとして論理ボリュームの縮小を解説します。
ルートファイルシステムなどに必要以上の容量を割り当ててしまっても、LVMならその容量を減らして減らした容量を別の用途に利用できます(図1)。

図1 論理ボリュームの縮小

第4回 ストレージを柔軟に管理する(LVMの操作1)

投稿日:2018.04.27 | カテゴリー: 記事

前回は、Linuxなどのストレージを柔軟に管理する仕組み「LVM」(Logical Volume Manager)の利点と、Ubuntu ServerのストレージをLVMで管理する方法を紹介しました。今回は、LVMの特長である、論理ボリュームを拡張してファイルシステムの容量を増やす方法を、Ubuntu Serverを使って実際に試しながら紹介します(図1)。

図1 論理ボリュームを拡張する

ルートファイルシステムを拡張する

物理ディスクを追加し、それを使ってUbuntu Serverのルートファイルシステムを拡張します。第3回「ストレージを柔軟に管理する(LVMの導入)」で解説した手順で、Ubuntu ServerのストレージをLVMに設定してインストールしておいてください。
いったんシャットダウンして電源を切り、ハードディスクなどの物理ディスクを増設します。増設したら、電源を投入してUbuntu Serverを起動します。ここでは、1Tバイトの新品ハードディスクを追加しました。

追加ディスクのデバイスファイル名を確認する

「parted」コマンドと「grep」コマンドで、追加したハードディスクのデバイスファイル名を調べます。「[sudo] taro のパスワード:」のように表示されたら、自分のパスワードを入力します。

基本的に、Ubuntu Serverをインストールしているストレージには「/dev/sda」のデバイスファイル名が割り当てられます。/dev/sda以外の「ディスク」から始まる行を確認します。容量から、追加したハードディスクのデバイスファイル名は「/dev/sdb」と分かります。

第3回 ストレージを柔軟に管理する(LVMの導入)

投稿日:2018.04.20 | カテゴリー: 記事

第1回から2回にわたって、パーティションの分割方法を紹介しました。いくつかのディレクトリーに別々のパーティションを割り当てると、他のディレクトリーから容量の圧迫などの影響を受けることがなくなります。
しかし、容量不足によるシステムやサーバーアプリの停止は免れても、容量不足に陥っているディレクトリーのサイズを簡単に増やせるわけではありません。新しいハードディスク(HDD)などを追加してより大きなサイズのパーティションを作成し、そのパーティションにディレクトリーの中身を丸ごとコピーした上で割り当てし直す作業が必要です。

柔軟なストレージ管理ができるLVM

Linuxには「LVM」(Logical Volume Manager)という仕組みがあります。LVMでは、HDDなどのストレージ内を物理的な区画(物理ボリューム)に分けて、それをいくつか束ねて論理的なストレージとなる「ボリュームグループ」を作成します(図1)。このボリュームグループから必要な容量だけを「論理ボリューム」に割り当てられます。この論理ボリュームは、パーティションと同様に扱えます。

図1 LVM(Logical Volume Manager)の構成

ボリュームグループや論理ボリュームの容量の増減は容易です。容量を増やしたいなら、ボリュームグループに物理ボリュームを追加し、追加したボリュームから必要な容量だけを論理ボリュームに割り当てます。逆に減らしたいなら、論理ボリュームからボリュームグループに容量を戻します。
また、LVMには「スナップショット」という便利な機能があります。ある時点のLVM上にあるデータの状態を瞬時に保存できます。バックアップ用途にも利用できるのでとても重宝します。
今回は、Ubuntu Server上でLVMを扱う方法を紹介します。

第2回 パーティションを分割する(Ubuntu Serverで実施)

投稿日:2018.04.13 | カテゴリー: 記事

前回、別々のパーティションに分けたいディレクトリーを示しました。「/boot」「/home」「/var」の3種類です。今回は、実際にUbuntu Serverのパーティションを分割し、それぞれのディレクトリーに割り当てます(図1)。

図1 パーティションを分割して個々のディレクトリーに割り当てる

分割は、Ubuntu Sertverのインストール時に実施するのが簡単です。そこで、Ubuntu Serverのインストールから始めましょう。以前の連載「UbuntuではじめるLinuxサーバー」の第1回で紹介した方法でインストールメディアを作成してください。そして、同じ連載の第2回で解説した手順でインストールを進めます。図2画面になったら、「手動」を選んでパーティションを手作業で作成します。

図2 パーティションの作成方法を選択する画面

インストール対象のマシンに内蔵または接続されているストレージが自動認識されます。「iSCSIボリュームの設定」と「パーティションへの変更を元に戻す」の間に、そのストレージが表示されるのでそれを選択します(図3)。

図3 Ubuntu Serverをインストールするディスクを選択

ここでは何も書き込まれていないハードディスク(HDD)を利用しているので、最初にディスクの先頭にパーティション情報を保存するためのテーブルを作成します。図4の画面で「はい」を選びます。

図4 パーティションテーブルの作成

第1回 パーティションを分割する(ディレクトリー構成)

投稿日:2018.04.6 | カテゴリー: 記事

Linuxが使用するディスク容量が不足すると、リモートからアクセスできなかったり、サーバーが正しく稼働しなくなったりするなど、重大な問題が起こりかねません。サーバーを安定的に運用するには、何らかの対策が必要です。ディスク容量が足りなくなる前に増設することも一つの方法ですが、まずはLinuxの特徴を生かした対策を施しておきましょう。
Linuxでは、ディレクトリーごとに別々のパーティション(ディスク内の区画)を割り当てられます。パーティションを分けておけば、あるパーティションが容量不足になっても他のパーティションへの影響はありません。よって、システムやサーバーの稼働に重要なファイルを格納しているディレクトリーと、容量が肥大化しやすいディレクトリーを、あらかじめ別々のパーティションに分けておくことで、最悪の事態を回避できます(図1)。

図1 システムのパーティションを分けておく

はじめてのLinuxサーバー運用管理

投稿日:2018.04.6 | カテゴリー: 記事

正常に、安全にLinuxサーバーを稼働させるには、日々の運用管理が重要です。Linux(Ubuntu)サーバーの運用管理に役立つ内容を紹介します。

第1回 パーティションを分割する(ディレクトリー構成)
第2回 パーティションを分割する(Ubuntu Serverで実施)
第3回 ストレージを柔軟に管理する(LVMの導入)
第4回 ストレージを柔軟に管理する(LVMの操作1)
第5回 ストレージを柔軟に管理する(LVMの操作2)
番外編1 長期サポート版のUbuntu Server 18.04 LTS
第6回 ストレージを柔軟に管理する(LVMの操作3)
第7回 ストレージの可用性を高める(RAIDの概要)
第8回 ストレージの可用性を高める(ソフトウエアRAIDの構築1)
第9回 ストレージの可用性を高める(ソフトウエアRAIDの構築2)
第10回 ストレージの可用性を高める(ソフトウエアRAIDの構築3)
第11回 ストレージの可用性を高める(RAIDの運用管理)
第12回 ストレージの可用性を高める(RAIDの復旧)
第13回 ストレージの使用量を制限する(クオータの設定1)
第14回 ストレージの使用量を制限する(クオータの設定2)
第15回 複数のユーザーを効率良く管理する(ユーザー登録)
第16回 複数のユーザーを効率良く管理する(有効期限の制御)
第17回 ネットワークの可用性を高める(チーミング)
第18回 ログを収集する(rsyslogの概要)
第19回 ログを収集する(rsyslogの設定)
第20回 ログを収集する(rsyslogのログメッセージ)
番外編2 Webブラウザーからサーバーへリモートアクセス
第21回 ログを収集する(rsyslogによる一元管理)
第22回 バックアップを取得する(tarコマンド)
第23回 バックアップを取得する(差分と増分)
第24回 定期的にジョブを実行する(cron)
第25回 アクセスを制限する(ACL)
第26回 アクセスを制限する(AppArmor)
第27回 電源障害からサーバーを守る(UPS)
最終回 大切なデータを守る(ディレクトリーの暗号化)

written by シェルスクリプトマガジン編集部

最終回 グループウエアサーバーを作る(Joruri Gwの導入)

投稿日:2018.03.30 | カテゴリー: 記事

約7カ月間、「UbuntuではじめるLinuxサーバー」を連載してきました。今回は、その最後としてグループウエアサーバーを構築します。無料で使えるグループウエアサーバーソフトはいくつか存在します。ただし、日本で使うなら国産のグループウエアサーバーソフトがお薦めです。そこで、徳島県のサンブリッジが開発するオープンソースの「Joruri Gw」を使用します(図1)。

図1 グループウエアサーバーソフト「Joruri Gw」の掲示板を表示

Joruri GWは、プログラミング言語「Ruby」とフレームワーク「Ruby on Rails」で開発されています。Webサーバーソフト「Apache HTTP Server」(以下、Apache)、データベース管理システム(DBMS)「MySQL」、分散型メモリーキャッシュシステム「Memcached」と組み合わせて動作します。対応OSはCentOSですが、Ubuntu Server(16.04 LTS)上でも動きます。

スズラボ通信 37 オープンソース・デザインBeagleboard

投稿日:2018.03.25 | カテゴリー: コード

著者:すずきひろのぶ

今回はPocketBeagle を取り上げたいと思います。本連載だけではなくシェルスクリプトマガジンでもなんども取り上げているクレジットカードサイズのコンピュータRaspberry Pi は広く知られていますが、それ以外にもカードサイズの小さなコンピュータがあります。その中の1 つがBeagleBoard.orgFoundation が提供するBeagleBone ファミリです。
そのBeagleBone ファミリを、さらに小さくしたボードコンピュータがPocketBeagle です。

記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


PokectBeagleのブートの様子
https://youtu.be/0dIX4gAv2ZI

ラズパイ入門ボードで学ぶ 電子回路の制御(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:米田 聡

シェルスクリプトマガジンでは、小型コンピュータボード「Raspberry Pi」(ラズパイ)のプログラミングが楽しめる拡張ボード「ラズパイ入門ボード」を制作しました。本連載では、ラズパイ入門
ボードを使った電子回路制御を取り上げていきます。第1回はOLEDに日本語文字を表示します。
記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

40歳から始める、オレとRubyプログラミング(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:しょっさん

自動的にホストが登録される部分までのプログラムは、これまでずいぶんとリファクタリングを繰り返しながら作ってきました。今回は、残りのサーバによる定期監視部分です。以前、「TaskControl」クラスを作って、将来の実装に備えました。そのTaskControlクラスの改修と、それを制御するためのメインとなる部分を準備します。
従って、今回のプログラミング作業は次の3点です。
1. 全体を制御するメインルーチンの改修
2. 死活を監視するためのTaskControlクラスの完成
3. サーバ側に合わせたエージェント側の改修
記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

漢のUNIX XMLをJSONに変換するコードを書いてみよう(Vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:後藤大地

今回は前回作ったサンプルコードをベースに、XMLデータをJSON(JavaScript Object Notation)形式に変換する例を紹介する。XMLデータをJSON形式に変換する、またはその逆を実施するのは需要の高い処理だ。今回紹介するのはサンプルレベルのコードだが、それなりに実用的なコードが書けることをわかってもらえるだろう。
記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

機械学習のココロ(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:石井一夫(久留米大学)

今回は、機械学習においてよく耳にする正則化とスパースモデリングの話題を取り上げます。

記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

訂正情報

以下の箇所に文章漏れがございました。謹んで訂正いたします。

p57 右下 下から7行目

誤り
「L2正則化の場合、パラメータの大きさをだけゼロに近づける操作を行っており、」
訂正
「L2正則化の場合、パラメータの大きさを分散の大きさだけゼロに近づける操作を行っており、」

 

参考リンク

scikit-learnオフィシャル サイト L1 ノルム正則化の解説とサンプルコード(英語・リンク先にpython用コード有り)

sklearn.linear_model.Lasso

 

MathWorks(MATLAB開発元)によるLasso 正則化の解説(日本語)

一般化線形モデルの Lasso 正則化

 

scikit-learnオフィシャル サイト L2ノルム正則化の解説とサンプルコード(英語・リンク先にpython用コード有り)

sklearn.linear_model.Ridge

香川大学SLPからお届け!(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:朝野有也

こんにちは、香川大学工学部の朝野です。普段からパソコンを使っている方ならJava というプログラミング言語の名前を一度は聞いたことがあると思います。プラットフォームに依存しないため、クライアント側、サーバ側問わず様々なシステムで使用されている言語です。さらに、Java のプログラムを実行するにあたって必要となるJava 仮想マシン(JVM) を利用したJVM 言語というものがあります。JVM 言語は、Java の資源を利用できるのに加えて、Java より後発であるため便利なライブラリや仕組みが揃っていることが多いです。

今回は、簡単な名簿アプリケーションの開発をとおして、JVM 言語の1つであるScala と、Java とScala のWeb アプリケーションフレームワークであるPlay Framework をご紹介します。

記事本文掲載のシェルスクリプトマガジンvol.53は以下リンク先でご購入できます。

 

sbt のインストール:
https://www.scala-sbt.org/1.x/docs/ja/Setup.html

 

登録:

@form(routes.HomeController.insertUser) { @inputText(userForm(“name”), ‘_label -> “名前”) @inputText(userForm(“age”), ‘_label -> “年齢”) }


@form(routes.HomeCon troller.showUser) { }

 

}

 

一覧:

 

@for(user <- users ) {     }

名前 年齢
@user.name @user.age @form(routes.HomeController.deleteUser(user.id)) { }

@form(routes.HomeController.index) { }

 

}

 

特集3 IBM Cloudで学ぶAI・機械学習・ディープラーニング(vol.53掲載)

投稿日:2018.03.25 | カテゴリー: コード

著者:佐々木 敦守、古川 正宏、小薗井 康志

IBMの「Watson」が動くクラウドプラットフォーム「IBM Cloud」を使って、無料でAI、機械学習、ディープラーニングを試してみましょう。
記事本文掲載のシェルスクリプトマガジンvol.53は以下のリンク先でご購入できます。


 

もっと見る

新しい記事一覧へ戻る

  • -->