2017年01月12日

Linuxディストリビューションのバージョン確認あれこれ

これまたすぐにすぐに忘れちゃうので…。

ubuntuの場合はこんな感じ。
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"

CentOSならこう。(手元に環境がないのでコマンドだけ)
cat /etc/redhat-release

Amazon Linuxならこう。(これまた手元に環境がないのでコマンドだけ)
cat /etc/system-release

やっぱりCentOSくらいさくっといじれる環境準備しておきたいところだよな…。

以下のサイトを参考にさせていただきました。
(と言うかまんま丸写し状態ですね…ありがとうございます!)

Ubuntuのバージョン確認とアーキテクチャ確認コマンド | mawatari.jp
http://mawatari.jp/archives/check-ubuntu-version

CentOSのバージョン確認コマンドとアーキテクチャ確認コマンド | mawatari.jp
http://mawatari.jp/archives/check-centos-version

Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド | mawatari.jp
http://mawatari.jp/archives/check-amazon-linux-version
posted by 月水和尚 (とも) at 19:39 | Comment(0) | TrackBack(0) | Linux(ディストリビューション固有)

システムの再起動が必要かどうかの確認方法

すぐに忘れちゃうのでメモ。
# cat /var/run/reboot-required
*** システムの再起動が必要です ***

ちなみに再起動が不要な場合はファイルそのものがありません。
なのでチェックが目的であれば以下のとおりですね。
# ls /var/run/reboot-required
posted by 月水和尚 (とも) at 19:30 | Comment(0) | TrackBack(0) | Linux(UNIX)全般

ubuntuで/bootに溜まってしまったvmlinuzの削除

あぶすとらくと

・ubuntuを長いこと運用していると/bootに大量のvmlinuzが溜まってイケてない
 (カーネルアップデートをしていない場合は除く)
・apt-get autoremove でも消えてくれないので対応が必要

続きを読む
posted by 月水和尚 (とも) at 19:26 | Comment(0) | TrackBack(0) | Linux(ディストリビューション固有)

2017年01月05日

Linuxでうるう秒の挿入を確認する方法

こんな感じ。
$ dmesg | grep leap
[389065.076861] Clock: inserting leap second 23:59:60 UTC

dmesgに出力されるんですね。

ちなみに確認したのはRaspberry Pi2上のRaspbianですが、たぶんプラットフォームやディストリビューションに縛りはないと思われます。

これ、23:59:60の挿入に関するログなので、ntpdがstepモードで動いているときにしか出力されないのかな?という素朴な疑問。
slewモードの時はどうなるんだろう…手元にslewな環境がないのが悔やまれる。
ご存じの方、コメントなどいただけるととても嬉しいです。
posted by 月水和尚 (とも) at 00:39 | Comment(0) | TrackBack(0) | Linux(UNIX)全般

2016年12月31日

MediaPlayerでの複数回再生時の注意事項

あぶすとらくと

・MediaPlayerクラスでの再生終了時にはMediaPlayer.release()を忘れずに
・再生が無事完了したあとが抜けがちなので要注意!

続きを読む
posted by 月水和尚 (とも) at 21:52 | Comment(0) | TrackBack(0) | Android

Android 7.0以降でのsystemパーティション書き換え

あぶすとらくと

・Android 7.0以降の環境では、systemパーティションの書き換えにはdm-verityの無効化が必要

続きを読む
posted by 月水和尚 (とも) at 21:30 | Comment(0) | TrackBack(0) | Android

2016年12月27日

CMとAndroidと私

個人的に大きなニュースが飛び込んできました。

Cyanogen、「Cyanogen OS」を含むすべてのサービスを終了へ 「CyanogenMod」は「Lineage」に - ITmedia Mobile
http://www.itmedia.co.jp/mobile/articles/1612/26/news047.html

最近は全然動きを追えていませんでしたが、何か1つの時代が終わった…という気持ちに。

私が早い時期にAndroidにハマるきっかけになったのがCyanogenModでした。
おぼえがき(ここの記事です)もいくつか書いて、思いのほか多くの人に読んでいただけました。
Android繋がりで多くの人と出会ったり、今の仕事に就く機会を得たりと、私の人生を変えた何かの1つと言って過言ではないと思っています。

関係者の皆様、本当にお疲れ様でした。
そしてLineageの未来に幸あらんことを。
posted by 月水和尚 (とも) at 00:45 | Comment(0) | TrackBack(0) | Android

2012年03月01日

あるエンジニアの決意表明

私事ですが、1月末に12年弱勤めた会社を退職しました。

中堅SIerの、名もなき一社員の退職なので「退職しました」的エントリーを書くのもおこがましいのですが、退職を決断するまでに色々な事を考え、自分なりに期すところがあったので、決意表明としてここに書き残しておきたいと思います。

よろしければお付き合い下さい。

続きを読む
posted by 月水和尚 (とも) at 17:57 | Comment(4) | TrackBack(0) | その他もろもろ

2011年11月22日

groupに関するエトセトラ

Linuxでユーザの情報を確認しようと思ったらidコマンド。
んじゃグループを確認しようと思ったらどうすんの?/etc/groupcatするしかないの?と思って調べてみたら、ちゃんと確認方法ありました。
getent group hoge

getentコマンド自体はグループを確認するためのコマンドではなく、管理系のデータベース(groupとかpasswdとかhostsとか)から値を引っ張ってくるコマンドなのですが、単なるcatと違うのはネットワーク上の名前解決にも対応している事。なのでLDAP上に登録されてるユーザやグループ、DNSに問い合わせるべきホスト情報とかもgetentで取得できるのです。これは便利!

例えばgoogle.comの名前解決ならこんな感じ。
getent hosts google.com

nslookupでも同じ事出来るのですが、この手の(管理系の)データに同じインターフェースでアクセスできるのは分かりやすくてGood。sudo使った権限管理とかもやりやすそうですし。

で、これを調べているうちに面白いコマンドに出会いました。それがnewgrpコマンド。自分自身のプライマリグループを変えるためのコマンドです。

例えばこんなユーザがいたとしましょう。
$ id
uid=700(hogehoge) gid=700(hoge) 所属グループ=700(hoge),701(fuga)

このユーザがファイルを作成したら、当然ですが所有者はhogehoge:hogeになります。
$ touch hogefile
$ ls -l hogefile
-rw-r--r-- 1 hogehoge hoge 0 11月 22 10:40 hogefile

ここで、fugaグループにログイン(プライマリグループの変更)します。
$ newgrp fuga
$ id
uid=700(hogehoge) gid=701(fuga) groups=700(hoge),701(fuga)

プライマリグループがfugaに変更されている事が分かります。
もちろんファイルを作成したら、
$ touch fugafile
$ ls -l fugafile
-rw-r--r-- 1 hogehoge fuga 0 Nov 22 10:42 fugafile

と、hogehoge:fugaが所有者になります。
権限を元に戻すには、exitすればOKです。(グループにログインしていたので)

さらに、自分の所属グループ以外であってもログインする事が可能です。
ここではpiyoというグループにログインしてみましょう。
$ newgrp piyo
パスワード:
$ id
uid=700(hogehoge) gid=702(piyo) groups=700(hoge),701(fuga),702(piyo)

自分が所属していないグループへのログインにはパスワードが必要になります。パスワードの設定されていないグループへのログインは出来ません。
では、この状態でファイルを作成してみましょう。
$ touch piyofile
$ ls -l piyofile
-rw-r--r-- 1 hogehoge piyo 0 Nov 22 10:46 piyofile

すごーく当たり前の話ですが、hogehoge:piyoを所有者とするファイルが作成されました。

さて、ここで「グループに対するパスワードって何ぞ?」という疑問が湧いてくるかと思うのですが、これもちゃんとコマンドが用意されていました。
gpasswd piyo

普通はグループへのパスワード設定なんてしないですよね…newgrp知らないと意味分かんないですし。

ここまでグループがユーザと同じように扱えるなら、suのグループ版だってあるんじゃね?と思って調べたらやっぱりありました。
その名もsgコマンド。(超そのまんま)
$ sg fuga -c "touch sgfugafile"
$ ls -l sgfugafile
-rw-r--r-- 1 hogehoge fuga 0 11月 22 10:59 sgfugafile

これはもう解説不要ですね。- をつけると環境の再初期化をするってのもsuと同じなのですが、環境を設定してる.profileなり.bashrcなりってユーザ単位で設定されますよね?グループの場合 - がどう効いてくるのか今ひとつピンと来ていないのですが…まぁいい事にします。

この辺きちんと意識して使うと、ついつい甘くなりがちな管理者権限の局所化ってのがよりうまい感じに出来るのかもしれません。ちょっと色々試してみたいなこれ。

以下のサイトを参考にさせていただきました。(ありがとうございます!)

Linux グループ一覧の確認と/etc/group ファイル
http://kazmax.zpp.jp/linux_beginner/etc_group.html

getentコマンドでユーザ情報を確認
OpenGroove : http://open-groove.net/linux-command/getent/

Studio ODIN - blog風小ネタ集 > newgrp コマンドでグループを変更する
http://www.odin.hyork.net/write/write0311.html
posted by 月水和尚 (とも) at 11:06 | Comment(0) | TrackBack(0) | Linux(UNIX)全般

2011年05月26日

BT-PANで回線共有

2台のAndroid端末で、1つのデータ回線を共有して使う。
そんな夢を見た。

夢の続きを読む
posted by 月水和尚 (とも) at 00:09 | Comment(0) | TrackBack(0) | Android