それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

linux

GNU Linux でも brew コマンドで homebrew したい

brew 便利ですよね。 brew すごく便利です。 /usr/local/ や ~/.brew などに環境を組み立てる事ができる。 linux 側でmake しまくってると管理がめんどくさいし、dpkg だと衝突が・・・ linuxbrew.sh というサイトがあった 調べたら http://linuxbrew.sh/ と…

pdftk でPDFの各ページの上下左右の回転をする

pdftk でPDFを回転できる。 PDFtoolkit のコマンド pdftk でPDFを回転できたのでメモ left , down , right cat するときに、回転キーワードをつければ、全ページ回転できる。 pdftk in.pdf cat 1-endleft output out.pdf pdftk in.pdf cat 1-enddown output …

LVMのlvreduce でファイルシステム(ext)を縮小する

LVMで管理しているボリュームを縮小する。 lvm2 で管理しているLVのボリュームを縮小して、容量を開放するための手順 作業手順は次のようになります。 ターゲットのLVとそのファイルシステムを確認する FSを縮小する lv を縮小する resize2fs はlvreduceの後…

LVMの lvextend でLVを拡張する

LVMで作ったLVのパーティションを拡張する。 手順としては、物理HDDのパーティションを拡張するときや、HDDを大容量に換装した時の手順とほぼ同じですね。 pv の確認 vg の確認 lv の確認 lv の容量を追加する lv の上のファイルシステムを拡張する pv の確…

LVMでボリュームを切り出して使う - 使い方とメリット

LVM 出来ることを試していくシリーズ LVMでボリュームを切り出して使う。 今回は、大きなディスクから、小さなディスクを作ってみる。 LVM的に表現すれば、VGから複数のLVを生み出す。この作業になります。 LVM でボリュームを分割する LVM でLV(論理ボリュ…

LVMの作成と削除のやり方の例-基本コマンド

基本的なLVMの作成例 LVM の作成計画 LVM の作成 LVM の削除 作ったものは後始末するということで、LVMを作って削除するまでをメモしておきます。 用意するもの LVM の管理下に置きたいHDD/SSD/パーティション LVM の名前 LVM の容量計画 LVM の容量計画 ど…

LVM上にLVMを構成する

LVM で切り出したボリュームをLVMのPEにすることが出来る ボリュームグループとボリュームグループを結合するのに何か手はないかなと考えていた。 ボリュームグループから切り出したボリュームを、別のボリュームグループに参加させたいなと思ったらあっけな…

imageMagickのconvertコマンドで進捗をモニタリングする

convert コマンドが遅い時がある PDFとJPGを扱ってると、時間がかかって後どれくらいだ?と気になることがあるので。 convert -monitor と monitor オプションをつけると、progress をモニタリングできて便利。 実際やってみるとこんな感じ takuya@$ convert…

fio でHDD/SSDのブロックデバイスのベンチマークを取る

ブロックデバイスのベンチマークを取りたいと思いました。 ぱぱっとやる方法だと、 dd hdparm 等があるのですが、キャッシュなどいろいろ考えることも多いいので。今回は fio を試してみました。 まぁ普段の速度測定は dd でやっちゃうんだけどね。。。ネッ…

SATA ディスクの接続・切断(オンライン・オフライン)

前回に、ホットプラグのやり方を書いたけど、どうも腑に落ちなかった。 検索にもう少し別のやり方がでてたから。そっちも調べてみることにした ディスクを一旦無効化する方法 root@acid:~# echo offline > /sys/block/sdc/device/state root@acid:~# cat /sy…

SATAの物理HDDをホットリリース(取り外し可能)にするホットプラグで抜き差し対応

SATA って昔からホットプラグ可能なんですよね。 マシンの電源を入れたまま、SATAのHDDをアンプラグしたり、プラグインしたり。 もともとSATAってホットプラグ対応なはず。eSATA とかもその流れだったような。 Linuxで抜き差しするときどうするのかな。 Wind…

シェルで乱数を使うには環境変数が楽

bashで乱数を扱おうともったら どうするんだろうと思って調べたら $RANDOM なる環境変数を発見した 環境変数 RANDOM の使い方 単純にecho するだけでいい。 echo $RANDOM 実際にどうなるか試してみよう takuya@:~$ for i in {1..10}; do echo $RANDOM ; done…

sgdisk(gdisk コマンドライン版) でまとめて変更する使い方

gdisk をコマンド(スクリプト)やシェルから使うには gdisk コマンド ライン版 sgdisk がある。 sgdisk、これを使うことで コマンドからまとめてディスクのボリューム操作を毎回なんども再実行できるようになる。 なぜこんなことを調べたのか LVM の実験で…

CPUの使用率を一定以下に抑える。cpulimit

あれ?ulimit 効かない? どうも、systemd に代わって ulimit 関連が変わってる気がするので、調べ直さきゃいけない。 今回は、cpuさえlimitすればいいから、cpulimit を使うことにした。 cpulimit をコマンドを使って指定する。 ffmpeg をcpu エンコするとC…

CPUクロックを負荷に応じて変えるようにする。または固定する

i7 CPUなどには、コアクロックの動的変更がついてて CPUのクロックが動的に変わるようにしておくとバッテリー消費が抑えられる。 そんなんはじめから入ってると思うだろ。 centos minimal とか、入ってないやつがあるんだよ。参った。古いDebianとか。 最新D…

ログインシェルを変更するーデフォルトシェルのきまりかた( chsh/ 設定/ shells )

ターミナルを起動したときに実行するデフォルトシェルを変更する ターミナルを実行したときに、起動するシェルは通常は /bin/bash です。 このbash を変更したいと思います。(たとえばzsh や brew 版 bash など ) この記事で書くこと デフォルトシェルのき…

less で大文字小文字を区別しない IgnoreCase / noCase する方法

less って vim 的に使えると思ってたけど、CaseSentiveなんだよ。 less で殆どの場合解決するけどだめだわ。大文字小文字が区別されちゃう。 -i をつける。 起動オプションをつけると ignore case できることがわかった。 alias する alias less='less -i ' …

systemd起動が遅いので 起動時間の計測

systemd でたまにめっちゃ遅い時がある。 systemd で起動していたらたまに遅い時がある。 理由を探すために、まず、起動時間のログを見てみることにした systemd の起動ログをグラフで出す方法がある。 起動の状況を、グラフ(SVG)の出力して閲覧することが…

LXCのコンテナ環境をぱぱっと作る。(debian apt)

LXC 環境を作る そろそろ、LXCも枯れて来た存在になったし。Systemdとcgroup関連のゴタゴタもなさそうなのでOpenVZをやめて、LXCも使おうと思い立つ。 LXCのサポートはDebian 9 Strechでまた変化するっぽい Debian Wikiを眺めていたら、lxc-net などのサポー…

ぱぱっとkvm/libvirtの仮想環境を作る(debian apt)

ぱぱっと仮想環境を作って使いたい。 今回作るのは、kvm を使った仮想環境。 ターゲットはDebian Jessie jessie 以降の特徴 jessie 以降では, CONFIG_VFIO_PCI_VGA がオンでビルドされているので、VGA Passthroughだって可能らしい。これは試さないと。 The …

gz圧縮されたログファイルから該当データを探したい

gzip 圧縮された ログファイル達 たくさんのログファイルがあるけれど、まさか、イチイチ展開して中身を見るわけにもいきません takuya@:apache2$ ll 合計 10716 -rw-r----- 1 root adm 11948 2016-11-05 18:56 access.log -rw-r----- 1 root adm 371968 201…

ディスクのパーティションテーブル一覧が更新されない

更新されない・・・ 最近USBの抜き差しとgdisk してると困る、ディスクの一覧やパーティションの一覧が更新されない。 現象 lsblk gdisk /dev/sdc ## パーティションテーブル変更 mount /dev/sdc5 /mnt # not found !なんでや! lsblk # sdc6 ない。 gdisk …

GNU parallel でコマンドを並列実行する

コマンドを並列実行したい時があります。 たとえば、たくさんの画像を変換したり、動画を変化したりなどジョブを大量に起動することをしたいとき コマンド実行中もマルチコアのCPUが余っててもったいなーって思います。i7などは4コア2スレッドの8CPU有り…

swapをRAID0の用にストライプしながら分散させる。

Swap ファイル・デバイスについて知見を得ました。 Swap ファイルや、デバイスは複数使えて、しかもその優先順位を決めることが出来て しかも、その優先順位同じにするとRAID0的に使ってくれるそうです。 複数個ためしに設定しました。 まずは、ファイルか…

gdisk でfat32 やNTFS のCodeは何になるのか

gdisk でGUIDパーティションが日常になってきた LinuxでGPTを使うことが多いのですが、FAT32・NTFSの領域を作ろうと思って、考え込んだ windowsのコードはどれだ・・・ Linuxなら 8300 です。 Linux Swap なら 8200 でした。LVMなら 8e00 です。 では、NTFS…

linuxで一時的なパス名を作る、mktemp コマンド の使い方

一時ファイルを作るには mktemp が使える Temporaryなファイルがほしいときは、mktemp で一発解決 $ mktemp だけど一時的なディレクトリを作るにはどうする? mktemp すると、ファイル作成されちゃう。消すのも面倒くさい。 そこで --dry-run なオプションを…

debian系linuxでDesktopをGnome/lxde/kde/xfce を切り替える

gnome3 をたまに使いたくなる時があります。 もうずっとxfce なのですが、ubuntuなどを見てると、Gnome-desktopもたまにはイイかなぁなど思う時があります。 だったら、ちょっと切り替えて使おうかって思うと、Desktopを切り替えるのはどうするんだと 気にな…

find コマンドでよく使うものをalias 代わりに関数にした

find を頻繁に使います。 find コマンドは気づけば打ち込んでいます。大変良くお世話になっています。 でもオプションを毎回入れるのが面倒 頻繁に使うオプションが有るんです。それを毎回入れるのが面倒になってきてる。 git のファイルの無視だとか カレン…

sslh でport443 を有効活用して、sshもhttpsも同時に待ち受けする。

443ポート以外が絶滅しそうです あちこちでポートは閉じられています。ssh や sftp もプロキシ利用も、各種ポートでは、全く外部に出れず、接続できないネットワークが多いです。 TCP/IPなのにIPとポートを使った通信ができない、壊れたネットワークが当然に…

linux が SSDを使っているか確認する。

SSDかどうかを確認するには、 hdparm を見ればいいと思ってた。 もっと手早い方法を知ったのでメモしておきます。 SSD は HDD かを判別する方法 sda が HDD sdb がSSD です。 HDDの場合 takuya@:~$ cat /sys/block/sda/queue/rotational 1 SSDの場合 takuya@…

debian で ssd の trim をする設定

サーバーのストレージを ssd にしました。 SSDに変えると気になるのが trim の実行タイミングです。 ナニも考えたくないので、自動でtrim されるようにします。 trim 対応かどうか調べる takuya@:~$ sudo hdparm -I /dev/sdb | grep -i trim * Data Set Mana…

Linuxマシンのマザーボードの型番を調べる

dmidecode コマンドでBIOSなどハード情報がわかる。 takuya@debian:~$ sudo dmidecode -t baseboard # dmidecode 2.12 SMBIOS 2.5 present. Handle 0x0008, DMI type 2, 15 bytes Base Board Information Manufacturer: Oracle Corporation Product Name: Vi…

Linuxの物理マシンに刺さってるメモリの本数やサイズを調べる方法

メモリに何本メモリがささってる? この物理マシンってメモリ何枚ささってるのさ。リブートしてBIOSを見れば解決します。しかしリブートはそんなに手軽じゃない。 では、ハードの情報を調べる事はできないのか。WindowsならBIOS情報を見る方法があるんじゃな…

IPv6 での定番ネットワークコマンド

IPv6 では通常のコマンドと若干ちがう curl / http curl http://127.0.0.1/ #v4 curl http://[::1] #v6 IPv6でHTTPのアドレスを指定するときは、ブラケットで指定する。 WEBでホームページを閲覧するときもブラケットです。 curl http://[2404:6800:400a:8…

文字列を逆順にするコマンド rev/ 行を逆さに並べる tac

文字列を逆順にするコマンド。 ls の結果が長くて逆順に出したいと起動するか。たぶん最初に習ってるはずなんだけどよく忘れるんだよね。 tac コマンド。 tac コマンドは、cat の逆だからtac 覚えやすい。覚えやすいのにめったに使わないから忘れるw tac コ…

rename Commandでぱぱっと連番付きファイルを作成する。

連番を付記したファイルを作るのが、めんどくさくなってきた for ループと sprintf を組み合わせたり、ruby ワンライナーでヤってたけど、だんだんめんどくさくなってきた rename Commandでぱぱっと作ることにした rename -N 01 -X -e '$_ = "京都旅行-2016-…

find でカレントディレクトリの ” . " ドットを対象外にするには

find コマンドで一括処理をすると困るのが ドット find コマンドで、ディレクトリを列挙すると、カレントディレクトリも表示される。 takuya@:~/letsencrypt$ find -type d | head . #←これ邪魔。 ./letshelp-letsencrypt ./letshelp-letsencrypt/docs ./let…

find コマンドで指定条件を除外(exclude)して、特定の拡張子を対象から消すには

find コマンドで指定条件のファイルを<除外>したい時 ずっとgrep 使ってたんですけど、find だけで出来ないのかなと気になって調べました。 -not -name pattern のように出来る 除外するときは、-not を最初につけてから上限を書けばいいことがわかった。 …

コマンドでword/excel/powerpoint のファイルをPDFに変換する。

Libreoffce のコマンドを使うと変換が楽 libreoffice には libreoffice(旧名 soffice) コマンドが付属していて、コレを使うことで、doc/docx xls/xlsx ppt/pptx をPDFに変換することが出来るのです。 libreoffice --convert-to pdf --outdir $dest_dir --hea…

圧縮形式や文字化けを問わず解凍出来る unar/The Unarchiverを知った。

unar コマンドを教えてもらいました。 unar コマンドは、The Unarchiverのコマンドで、かなりの圧縮形式に対応している。 WinRARみたいなもんだと思ってた。MacOS X 買った時に、コマンドメインで行こうと考えていたので、スルーしていました。 The Unarchiv…

自分のグローバルIPをチェックする方法について

コマンドラインで自分のグローバルIPをチェックしたい。 コマンドラインでグローバルIPを取得して、今のIPを確認して保存したい。 必要なもの xmllint または jq curl curl で取得して、xpath で切り出す感じ グローバルIPの取得 curl -s http://www.mygloba…

tar から一部のファイル・指定ファイル名・標準出力(stdout)に取出す方法。

tar ball を渡されて困る。 毎回毎回展開するのダルいんだよ。欲しいファイルや見たいファイルは一つだけ、もしくは複数ファイルだったりする tar tvzf で中身を見る tar で中身を見るには tvf ・ tvzf を使う z は gzip。 tar tvzf test.tgz drwxr-xr-x tak…

find コマンドで所有者やグループが条件マッチするファイルを探す

指定ディレクトリの下に、オーナがオカシイファイルが出来る php などWEBアプリが、ownerをちゃんと設定してくれなかったり、グループを設定してくれなかったり。 また、crontab がroot で動いていて消せないファイルが出来たり。 もちろん、ソースコードを…

linux ユーザをグループに追加・削除する gpasswd 編

ユーザーをグループに追加したり削除するには usermod gpasswd vigr の3種類のコマンドが有ります。 何方を憶えるべきか、何方を使うべきか。迷うところですね。 今回は gpasswd を使ったユーザーの管理をまとめておくことにします。 gpasswd の使い方 gpas…

chroot環境下でホスト側のデバイス/devなどを使う。

/dev などをホスト側と共通にする chroot 環境って、あれこれ試したい時に便利なんですよね。 grub を作りなおしたり、ビルドしたい時にたまに使うんだけど、chroot ってなんかこう、思い通りに行かない時があって。 たとえば イメージディスク中にあるもの…

パーティションを含むディスクイメージをloopデバイスにマウントする。

ディスクイメージをマウントする ただし、ディスクイメージにはパーティションが複数含まれる。 随分と前に、設定してたので、久しぶりにやろうとしてハマったので、改めて書き直し 簡単な方法 mount 時に offset を指定する。でも面倒くさいので、今回は lo…

シェルの組込関数(ビルトイン)の使い方manを見る方法

Shell Built'in Functions のヘルプを見たい Man ページだと見れないんだよ。man だと。 man history ## 見れない。 man で見ると、shell builtins に飛ばされる。そしてオプションを見られない。 help を使う。 help history help コマンドを使う。 シェル…

cron/crontab で 複数行の実行には波括弧 {} を使う

crontab に書ける機能少なく無いですか? crontab の限界ってあるんですよ。波括弧使えたらもう少し楽に記述できるのに。 でも出来ないんですよ curly brace が使えない。 使えたらイイのにと思って調べたらとてもカンタンな解決方法が見つかった 使う方法 c…

crontab で 複数行に渡る、cron ジョブを記述するには

複数行のcrontab コマンドってかけないのかな 調べたけど、かけないことがわかった。 man によると The ``sixth'' field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character…

google drive を コマンドから使うgdrive が早くて便利

Google Drive 使ってますか? はい、私はほぼ無限容量を持っているので、Google Drive が大活躍しています。 Google DriveにログだのVMだの殆どをバックアップ出来て便利。 google drive をコマンドから使いたい fuse なども色々有りますが、ocamlfuse の go…