つれづれ日記
ぶいよんブイロク?
お便りはこちらへ
sshida@gmail.com
GA | GW | G | A / amLrss
最新 | 2012年 5月4月3月2月1月 2011年 12月  | もっと前 [ 携帯版 | IPv6版 ]

あああ

あああ。 Fedora 17のリリースが1週間遅れて29日になっちゃった。
2012年05月18日(金)くもりのちあめのちはれ// | 5/5 | Fedora 17 

16GBメモリのノートPCが3月ごろからいろいろ発売されていた

16GBメモリのノートPCが3月ごろからいろいろ発売されていた。 11万円からある。ドスパラの直販モデルには、C9、TERA、タワーオブアイアンなどの オンラインゲームのタイトル推奨パソコンとして販売されている。 ゲームのwebサイトを見ると必ずしも16GB必要ではなくて4GB程度で よさそうだけれども ... 。安く作るのでメモリはめいっぱい載せちゃったほうが いいのだろうな。 Panasonic Let's NoteにはPremierモデルというのがあり、16GB搭載できる。 ただし30万円ぐらい。

ついでにゲームのwebサイトでゲームシステムの説明を見た。 webページ内のメニュー表示に、HTMLでゲームのようなエフェクトがかけてある。 確かにゲームの説明だからとwebサイトのグラフィックやエフェクトに手を 抜いていい、ということはない。それにしてもひどい、というかすごい。 凝りすぎているというか、あまりに華麗なwebサイトのグラフィックに、 ゲーム慣れしていない民間人としては驚きの連続。

C9というゲームのステージのまた美しいこと。モンスターも相当描きこまれていて、 なんというかモンスターハンターのような撃滅アクションゲームなのだけれども、 うっかりすると美しい場面にうっとりしそうな。美しいステージの移行と モンスターの出入りをスムースに行うために数GBのメモリがあっていい。

2012年05月18日(金)くもりのちあめのちはれ// | 4/5 | Hardware 

久しぶりに五反田のプール

久しぶりに五反田のプール。 いつもの人がいた。みんな元気そうで よかった。だいたい1,000mぐらい。しかし都会のプールは速い。月島はゆるいぞ、 と思ったが毎朝トライアスロンの練習があるのを考えると、やはり月島も。 でも土日の昼間はのんびり泳げる。
2012年05月18日(金)くもりのちあめのちはれ// | 3/5 | Health 

電気料金、需給量で5段階-北九州市八幡東区で今月から - ダイナミックプライシング

電気料金、需給量で5段階-北九州市八幡東区で今月から - ダイナミックプライシング

家庭向けの場合、平日昼間の時間帯で5段階の電気料金を設定し、最低と最高で最大10倍の価格差が付く。 電気料金で電力使用状況の変化を促す「国内初の実証実験」(北九州市環境局環境未来都市推進室) ...
2012年05月18日(金)くもりのちあめのちはれ// | 2/5 | Energy 

2011年末には相互運用ガイドライン「P2030」が発行へ、スマートグリッドの国際標準策定が進む (1/2)

2011年末には相互運用ガイドライン「P2030」が発行へ、スマートグリッドの国際標準策定が進む (1/2)

IEEE 2030 概要説明資料 Mynaviの記事はツイートゼロ。

2012年05月18日(金)くもりのちあめのちはれ// | 1/5 | Energy Network 

2011年11月、Rakuten Techサイトにある MongoDBの使い勝手寄りの説明資料がよかった

2011年11月、Rakuten Techサイトにある MongoDBの使い勝手寄りの説明資料がよかった。 レプリケーション(shard)運用の しくみ、MapReduceへの適用例も説明あり。

いまいちな点として、Bigデータではメモリとディスクを大量に必要とする、という。 ジャーナリング用に3GBのディスク、レプリカセット1組に5%のディスクが必要。さらに Shardサーバの数だけ必要。

Shard運用が不安定とも。mongosとconfigが不安定。大きなデータを挿入するとロックが 長くなる、shard間にバイアスがある、二重でカウントするなど一貫性の問題がる、など。

重要な注意点として、「MongoDBはマスターデータの格納と、生データの格納に 使ってはいけない」ということ。MongoDBは集約されたデータの格納か、分析用など 特定のデータの格納に使うこと。

分析、表示ツール:

  • WebUI: jQueryでグラフ化
  • Graph Mining: Neo4j - the graph database
  • Graph Mining: Gremlin - G = (V,E)
  • Data Mining: NumPy - Scientific Python
  • Data Mining: bime

かっこいいわー。 「バッチ処理からストリーミングへ」(Fluent - The Event Collector Service, Tresure Data, Inc, @frsyuki)

最初は英語だけれど途中が日本語。

World IPv6 Launchに自分のサイトを登録してみた

World IPv6 Launchに自分のサイトを登録してみた。 Measurementsのページに、Alexaのグローバルランキングが表示されている。 Plara.or.jp が1,527位とある。

IPv6の課題はマルチプレフィクスをきっかけに 浮上した、マルチネットワークの使い分けの問題

IPv6接続が失敗したときに IPv4に切り替えしやすくする手順 「 RFC 6555 - Happy Eyeballs: Success with Dual-Stack Hosts

STUNはNAT/Firewallルータに依存せず、外側から観測するだけで、開いているUDPポートを見つけ出すところがよい

STUNはNAT/Firewallルータに依存せず、外側から観測するだけで、開いているUDPポートを見つけ出すところがよい。 UPnPやPCP (Port Control Protocol)はNATルータに対応機能がないと使えないのと、多段になると使えない。

ただし、STUNはUDPポートが開いていないとだめ。UDPポートをNATルータやFirewallのグローバル側に送信すると、 SPI (Stateful Packet Inspection)テーブルに、そのUDPポート番号を許可するエントリができることが STUN(またはその他のUDPベースのP2P通信)の特徴。

そのためSTUNでローカルIPアドレスとポート番号、グローバルIPアドレスとポート番号を 観測できたとしても、一部に問題が残る。P2Pの場合はSPIによって対向同士のUDPセッションを 作成できる。しかし、NATされた端末が同じNATルータの配下にあったとき、共通のNATルータが ローカル的に折り返しをする必要があるが、この「ヘアピン折り返し」ができない場合があり、 このときはUDPポートが開いていてもP2Pセッションを作れない。また、多段NATの場合も対応できない。 日本でもヘアピン問題と多段NATはマンションインターネットによくある。

NAT対策が通用しない場合、ローカルのIPアドレスで直接通信を試みるが、マンション内LANの場合、 直接他の住戸には通じない場合も多い。これはVLANやEthernetスイッチのポート単位で分割されている ため、ひとつ上の経路から対応しなければならない。

STUNは端末同士が直接セッションを張るゲームやIP電話で採用されているという。 IP電話の場合、STUNを使っているのはインターネット上で通話可能なX-Liteなどのソフトに限定される ような気がする。そういえばX-Liteはまだ配布しているのだろうか。どこかの 評価で多数のソフトのひとつとして使われていたような。

第5回IPv6オペレーションズフォーラム(2012/5/16)で、コナミの方がゲームのNAT対応について 発表されていたが、資料が見当たらないため、聞いた範囲でメモ。

発表にはなかったが、ゲームのP2P通信については、ゲーム自体のセキュリティを担保しにくいという 問題がある。ゲーム内のアイテムやルールを破るソフトやデータが注入された場合、 P2Pでゲームソフトだけで攻撃を検知することは難しい場合がある。そのため、 セキュリティの必要がないゲームやセッションにはP2Pが利用できるが、 問題がゲーム自体で解決できない場合はサーバを経由させる。

原則的なWorld IPv6 LaunchへのNGN対策

原則的な World IPv6 LaunchへのNGN対策

JAIPAのWorld IPv6 Launchに向けてISPができることでは、 RadiusでAAAAフィルタを行うDNSサーバのIPアドレスをユーザに 配布するアイデアなどもあるけれど、もう1ヶ月なく3週間。 Biglobeとしては「AAAAフィルタはしない」とのこと。 v6対応サーバも少ないのだろう。

日本のWebサーバ、コンテンツ業界ではGoogleやFacebookに比べれば IPv6への対応がほとんど進んでいないため、フォールバック問題 自体が日本では存在しない。だから対策も不要。GoogleやFacebookは サービスサイトをIPv6対応するから問題になっている。

IPv6 only環境での移行技術の評価 - WIDE 2012春キャンプ

IPv6 only環境での移行技術の評価 - WIDE 2012春キャンプ インターネットドラフトと、 プレゼン資料がある。

東京電力 III 契約種別および料金に、ピーク時間料金、夏季料金などが入っていた

SmartHacksを聞いてきた

SmartHacksを聞いてきた。 初歩的な話らしいけれども よくまとまっていた。

HTMLでアニメーションする方法4つ:

HTML canvasでアニメーション (CSSよりも性能低) JavaScriptで描画命令を記述して、描画→消去を繰り返す
JavaScriptでDOM操作 JavaScriptでsetInterval()から間隔を決めてDOMオブジェクトを移動・変化させる
CSS でアニメーション (軽い) CSS3 keyframes animation @-webkit-keyframes animationで、0-100%の間のキーフレームを指定する
CSS3 transition 移動先を指定して自動でアニメーションする

  • drawImageData()はやや重い。描画したあと所定の領域をgetImageData() で取り出しておき、putImageData()で描画すると速い。 アイテムやスプライトを変形、回転させる場合は、途中の過程もgetImageData()しておいて、再利用する。
  • アイテムやスプライトは専用のcanvas上に描画すれば、背景を描画しなおさなくてよい。
  • iOSのRetinaディスプレイは解像度が2倍だが、いままでのビットマップ画像を使うと、描画が遅い。 きれいに速く描画するために、倍の解像度の画像を用意すればよいが、canvasの設定に注意。
    <canvas width=200 height=200 style="width:100 height=100"<

    上のように、canvasのwidth, height属性で表示用の領域サイズを指定し、styleで 描画用の論理的な解像度による広さを指定すると、倍の解像度の画像がきれいに表示される。

  • iOSではブラウザ上のGPUアクセラレーションがあり、DOMのtranslationプロパティを操作すると GPUアクセラレーションが効く。iOSシミュレータの「ブレンド」を実行すると、 GPUアクセラレーションが効いている領域が半透明の赤で表示され、見てわかる。
  • 描画を高速化する: 再描画は2フレームに1回にする。物理条件の計算と判定は毎フレーム実行する。
  • Androidは2.1, 2.2にバグあり。スケール操作が2回実行されるため、目標サイズを平方根(root)で指定する必要あり、 Android 2.1/2.2ではtransform, rotateは使わない、など。 Androidで作っておくとiOSでも動く

  • canvasで使うアイコン、スプライトの画像データはAdobe IllustratorのAI to Canvasプラグインが便利
  • Adobe EdgeはCSSを使ったアニメーションのオーサリングができる。現在プレビュー版が無料公開中。
  • CSSアニメーションツールにはSencha Animatorもある

JavaScriptライブラリもあるとして「enchant, Arctic, easel」も名前だけ紹介していたが、 HTMLアニメーションアプリには使っていないとのこと。 processingなら使う?

facebookアプリはHTMLかJavaScriptで1ページ書けば、 PHPでHTMLをそのまま出力するようにさせるだけで1アプリできてしまう

facebookアプリはHTMLかJavaScriptで1ページ書けば、 PHPでHTMLをそのまま出力するようにさせるだけで1アプリできてしまう。 facebookアプリの実行環境としてはPHP, Heroku, node.jsなどがある。 facebook の APIを使えば、ユーザ名やフレンドのリストなどを得られる。 アプリはPC用、iOS用、Android用、などと分けて登録する形になっている。

SSL webサーバを共有して使うサービスがあった

SSL webサーバを共有して使うサービスがあった。 http:のホスト名と https:のホスト名が完全に別になってしまうが、「それは別々なのだ」と 宣言できるのであればそれはそれでよい、のかもしれない。 非常にリラックスしたサービス。証明書不要でhttpsサーバを 使えるところがよい。

CSSとJavaScriptで アニメーションをオーサリングするツールに「Adobe Edge」 というのがある

CSSとJavaScriptで アニメーションをオーサリングするツールに「Adobe Edge」 というのがある。 まだ発売前で、夏ごろまで プレビュー版を無料で使えるらしい。ダウンロードする ファイルは200MBぐらい。

昔、Adobeはすごい!と感動したのは、そのソフトに添付されている 使い方の説明ビデオや、新機能の説明ビデオだった。 Adobe Edgeの場合はビデオのダウンロードはない。ビデオではなく、 Adobe Edgeを起動すると右側にチュートリアルのメニューが 大きなアイコンで表示され、好きなコースを選択すると、 ガイドが右側のパネルに表示され、そのとおり実行すると、 それなりのアニメーションを作成できる。

なんというわかりやすさ。Adobeは今もすごい。Flash作成ツールも 持っているのだが、きっちりとCSS、JavaScriptに対応しくてくる ところがすばらしい。

Fedora 17beta (2011-05-11)を 自宅サーバ用にインストールできるかどうか確認する

Fedora 17beta (2011-05-11)を 自宅サーバ用にインストールできるかどうか確認する。 環境はVMware Workstation 8.0.3、ゲストはメモリ2GB、 ディスク4GB。32bit用のboot.isoから起動してネットワーク インストール。昔はnetboot.isoと書かれていたが、そういう ISOイメージはなくなった。

  • 800 x 600 pixelのディスプレイ設定でもインストール操作を完了できた。
  • パーティション設定ではレイアウトを表示させてスワップをなしにしないと 4GBのディスクに2.458GBのスワップ領域をとられてしまう。 スワップ領域を削除して、/ を 3.5GBに拡張した。/bootに500MB 割り当てられていたが、そのままにした。
  • ngix はインストール時のパッケージ選択メニューに表示されない。 インストールグループのWeb Serverにも、 Serverにも表示されない。
  • MeeGoのLook and feelが選択できるメニューがあった
  • パーティション設定を表示して確認したところ、/ は ext4だった。btrfsではなかった。
  • インストールグループにWeb Serverを選択したところ、GNomeやX Window などを削除したが、ハードディスクが1200MB空き容量が足りない、と 表示してインストールを進められなかった(これはスワップに2.4GB割り当てて しまったため/に空き容量が1GBしかなかったため)。Feora 17のリリースノートが 見当たらないのでFedora 16のリリースノートを見たが、インストール時に 必要なハードディスクの空き容量が見当たらない。最大で9GB使うことがある、 という記述はあったが。

    Minimumを選択すると、4GBのディスクにインストール作業が開始された。 ngixも入らないし、自分で入れればよい。Minimumには選択肢はないので パッケージ選択をカスタマイズする必要もない。

  • Minimumインストールだと、インストールするパッケージ数は213とのこと。 ネットワークインストールで10分ほどかかった。
  • Minimumでインストール後の使用ディスク量は/で820MBだった。 "最小"インストールで800MB使うのは、Fedora Coreか、RedHatのころと変わらないかんじ。 なんというか、「最小」ですか、というかんじ。

しかし、systemctl status ... の表示はサービス動作中でも停止中でも 全体として同じような表示なので、まったく直観的でなく、10行もあり 行の折り返しも発生するので、非常にわかりにくく、要するに「使えない」。

あと、systemctl stop ... は、... に指定するサービスの名前に 該当のものがないとか、タイプミスがあっても、何も表示しないで 終了するため、何をやっているのかさっぱりわからない。statusで10行も 表示するのにstopがゼロ行というセンスが理解できない。これも「使えない」。

あと、systemctl disable ..は、rm で2つのシンボリックリンクを 削除するコマンドラインを表示するのだが、いったいこれは何なのか わからない。そのコマンドを実行してくれと言いたいのか、 そのコマンドが失敗したらやり直してほしいのか、わからない。 だいたい、そのコマンドを実行して成功したのかどうかも表示しない。 そのため「使えない」。

あと、systemctl list-unit-filesは systemctl -h しても 表示されない。なぜ引数を全部表示しないのかわからない。

後発で、設定ファイルを分割してきれいにしているような 気がするけれども、使いやすさは求めていないように見える。 もともと起動を高速化するためのものだったためか。

パッケージ追加の確認:

# yum -y install \
	mondodb mongodb-server perl-MongoDB pymongo \
	httpd mod_ssl openssh-clients nginx \
	perl less perl-Pod-Perldoc \
	perl-Digest-HMAC perl-JSON \
	mod_perl perl-GD-Barcode  perl-Devel-Nytprof perl-Regexp-IPv6
# yum -y install \
	unbound xl2tpd dhcp nsd bind bind-chroot bind-utils iperf3 dstat \
	ntpdate radvd lftp wget lynx socat \
	tcpdump traceroute htop iotop nkf sysstat bc

ここまでインストールしてディスクの使用量は/ が 1.04GB未満。

欧米自動車メーカー8社、統一規格の急速充電器を公開へ

欧米自動車メーカー8社、統一規格の急速充電器を公開へ。 交流と直流コネクタが合体した「コンボコネクタ」。 PLC (Power Line Communication)で通信し、充電、放電、課金や その他通信にも対応する可能性がある。提案企業名がだいたい 欧米をカバーしている点で強力

ただし、このでかいコネクタと太いケーブルを毎日のように 接続するのかと思うと普及してほしくない気がする。 家庭用電源の交流100-200V充電でも、 この大きさのコネクタで、というのもやはりどうかなと。 使う人のことは考えていないようにも思える。

Google HTML/CSS Style Guide - Protocolで、HTMLの<a>などに書くURLで、 先頭にあるプロトコルhttp:とhttps:は書かない

Google HTML/CSS Style Guide - Protocolで、HTMLの<a>などに書くURLで、 先頭にあるプロトコルhttp:とhttps:は書かない。 せっかくhttps:で接続したサイトから、いつのまにかSSL/TLSがない http:になってしまうと困る。Google AnalyticsのJavaScriptコードにも http: とhttps:をつけかえるコードが入っていたような。なるほど。

しかし、URLは//から始めればよいとは知らなかった。

<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>

いまどきのインストールはこれ

いまどきのインストールはこれ。

$ curl install.meteor.com | /bin/sh

第8回 Perlによる大規模システム開発・設計のツボ(3)

第8回 Perlによる大規模システム開発・設計のツボ(3)。 あまりPerlと関係ない。ソフトウェア開発共通の話。 ソフトウェア品質の数値化方法について。

クラスの行数に比べて修正する人数が多すぎる「王様モジュール」の 割り出し(SRP)、関数の循環的複雑度(CC: 20以上で試験と修正が困難になる)、 SRPとCCを総合したソフトウェアコンポーネントの負債指数、など。

配列の添え字で検索できるデータベース?

配列の添え字で検索できるデータベース?

  • Ruby sqlite3-ruby - クエリの結果についてはフィールド名が配列なので添え字で取得できる。 sqlite3はもともとプレーンファイル上のDBなのでスクリプト内のオブジェクトとして 読み込んでしまってもいいくらい。
  • Mongorilla - Object Document Mapper for MongoDB - ORMならぬODM。Rubyの クラスオブジェクトからMongoDBを使えるようにしたレベル。

今のところ、4-5月のIT勉強会に4-5件参加して みたけれど、どの発表者もtwitterアカウントを@hogehogeと して表示している

「皮のむきやすい ミネオラ オレンジ」は確かに 皮をむきやすい

「皮のむきやすい ミネオラ オレンジ」は確かに 皮をむきやすい。 ただしカリフォルニア産なので防カビ剤つき。

温暖化の影響で、日本でもオレンジが作られることはないのかと思うけれど、 雨が多いのかも。

Apache httpd 2.2のログ形式をcombindeio にして、%I %O %Dを末尾につけるようにしている

Apache httpd 2.2のログ形式をcombindeio にして、%I %O %Dを末尾につけるようにしている。 %Dはhttpdがリクエストを受信してから送信を終了するまでに かかった時間。μ秒単位で出力される。秒に変換するときは 1,000,000で割ればよい。httpdログの行末にあると、プログラムで 集計するのに便利。Webソフトウェアの実行性能の把握にも便利。

Perlでhttpdの処理時間を表示するスクリプト: (bash + perl)

#!/bin/sh

sudo tail -f /var/log/httpd/access_diary_log | perl -MEncode -ane '
  my $path = $F[6];	# httpdのパスがあるフィールド

  # htmlなど処理時間を確認したいパスに限定する
  next unless $path =~ /\.(?:html|cgi|pl)/ || $path =~ /\?/;
  $path = Encode::decode_utf8($path);	# Perl Unicode形式に変換する

  # URLのパス内にある漢字などバイナリデータを展開する(漢字コードはUTF8の前提)
  $path =~ s/%([a-fA-F90-9]{2})/chr hex($1)/ge;

  # 表示例:
  # 0.1   192.168.0.1 /hello-world.html
  printf("%4.1f %15s %s\n", $F[$#F]/1000000, $F[0], substr($path, 0, 80))
'

自分の日記サイトの月ごとのページが 量が多すぎることがあるため30記事ごとにページ分割した

自分の日記サイトの月ごとのページが 量が多すぎることがあるため30記事ごとにページ分割した。

最大で約300記事が書いてある月があった。その月はHTTP サーバの処理と応答だけで2秒かかっていることが多かった。 ブラウザのほうも、記事ごとにソーシャルブックマークが 5個づつ並んでいるので重かった。1.7-1.8秒にピークがある。

そのコードの実行のどの区間が何秒かかったのか、 それを確認するためにプロファイラがないとわからない、 というのも、それってなぜコンピュータなのかと考えてしまうナゾ

Fedora 17 での mongodb サーバ実行

Fedora 17 での mongodb サーバ実行。

# yum -y install mondodb mongodb-server perl-MongoDB
# systemctl list-unit-files | grep mongo
# systemctl enable mongod.service
# systemctl start mongod.service
# systemctl status mongod.service
mongod.service - High-performance, schema-free document-oriented database
          Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled)
          Active: active (running) since Mon, 14 May 2012 04:22:52 +0900; 4s ago
         Process: 1836 ExecStart=/usr/bin/mongod $OPTIONS run (code=exited, status=0/SUCCESS)
        Main PID: 1839 (mongod)
          CGroup: name=systemd:/system/mongod.service
                  m 1839 /usr/bin/mongod --quiet -f /etc/mongodb.conf run

May 14 04:22:52 localhost.localdomain mongod[1836]: forked process: 1839

# echo $?
0

実行中にstatusを調べると、プロセス終了コードは0。停止中にstatusを 調べるとプロセス終了コードは3。

  • チュートリアルは perldoc MongoDB::Tutorial で表示される。
    man ファイルもあるがFedora 17のテキストインストールではmanはない
  • mongodbにアクセスするためのデータ構造は connection → database → collection → indexes

systemdとSysV init (service, chkconfig)の互換性について

systemdとSysV init (service, chkconfig)の互換性について。 FedoraのドキュメントとしてFedora 17のリリース前2012年4月に更新されたらしい 資料に、SysVinit とSystemdはシステム管理者向けの操作方法に ついてはほぼひきつがれている。

serviceコマンドは常駐用のデーモン、サーバの起動・停止、 設定反映などに使う。 service コマンドの引数はそのままsystemctlで使える。 制御用引数は start, stop, restart, reload, condrestart, status。

ただし、それぞれのサーバごとに制御用スクリプトを 作るものなので、提供されていない引数もあるはず。 関連ディレクトリは似たようなパスが/etc/ と /lib/ に 分かれているので要注意。*.wants/以下は複数ファイルがある。

起動・停止制御できるサービスの一覧は次のどちらかで、 systemctlコマンドを使ったほうがよいという。倍ぐらい数が違う。 chkconfigの場合はchkconfig --listかls -1 /etc/init.dだった。

# 現在のrunlevelの確認
# ls -l /etc/systemd/system/default.target
	... シンボリックリンクの先に設定されたファイルが起動後の実行環境
# (egrep ^id /etc/inittab)
	... このコマンドはもう効かない。/etc/inittabは中身がない

# サービスの実行状況を含む一覧 (Windowsの「サービス」一覧表示と似た内容)
# systemctl -t service
	... abc順の表示。起動する順番はわからない

# systemdで起動・停止を制御できるサービスの一覧
# systemctl list-unit-files --type=service
	... Fedora 17betaでは94行表示される
	... 一覧表示にはrunlevelが表示されないためchkconfig同等ではない
# ls -1 /{lib,etc}/systemd/system/*.service
	... /etc/systemd/system には、syslog.serviceが1個しかない

# ランレベル (runlevel) ごとにon/offを設定できるサービスの一覧
# ssytemctlの引数が、単なるサービスの一覧と同じ。何かの間違い?
# systemctl list-unit-files --type=service
	... 引数なしだとFedora 17betaでは161行表示される
# ls -1d /lib/systemd/system/*.wants/
	... Fedora 17betaでは21行表示される。
	... basic, dbus, default, final, graphical, halt, kexec, local-fs, multi-user, poweroff, reboot, remote-fs-pre, runlevel[1-5], shutdown, sockets, sysinit, syslog

# 指定したサービスがどのrunlevelで実行されるか
# 表示されるディレクトリパスのrunlevelらしき部分を読み取る必要あり
# ls -1 /etc/systemd/system/*.wants/____.service

# 自分でserviceファイルを用意したあと登録するコマンド
# chkconfig ____ --add
	... systemdを使って起動・停止を制御する場合は実行しなくてよい
# systemctl daemon-reload

# すぐにテキストコンソールの実行環境に移行する
# systemctl isolate multi-user.target
# telinit 3

# すぐにグラフィックコンソールの実行環境に移行する
# systemctl isolate graphical.target
# telinit 5

# 次回の起動後の環境をテキストコンソール環境に設定する
# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
	... systemd の次回のrunlevelを設定する
# (/etc/inittabは使われなくなったため中身は空)

# 次回の起動後の環境をグラフィックコンソール環境に設定する
# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

chkconfig に対応するコマンド一覧。

ただし、systemdとSysVinitの起動スクリプトは別の場所に配置されていて、 管理対象が異なる。chkconfigコマンドを実行しても、 systemdが管理している起動・停止スクリプトの入れ替えを やってくれるわけではない。systemd に対応できなかった SysVinitスクリプトがごく一部まだ残っていて(netconsoleとnetwork)、 それが制御できるだけ。

また、systemctlのenable, disableはどのrunlevelの設定を 変更しているのかわからない。

  • chkconfig ____ on : systemctl enable ____.service
  • chkconfig ____ off : systemctl disable ____.service
  • chkconfig ____ : systemctl is-enabled ____.service
  • chkconfig --list : systemctl list-unit-files --type=service