読者です 読者をやめる 読者になる 読者になる

それマグで!

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

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

linux

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…

macOS Xのopen や cygwin/cygstart をlinuxでやる

open コマンド便利すぎてヤバイ mac 使ってると open コマンド便利すてヤバイ。 cygwin なら cygstart alias open='cygstart' linuxならどうするの デスクトップで入れてるXのシステムによりますが gnome 系が多いので alias open='gnome-open' または alis …

/home を別パーティションに動かす

/homeを別パーティションに動かすことにした linux の /home を別パーティションに動かすことにしてマウントの管理方法を変えた /home用のの別パーティションを作成 /home をコピー 別パーティションでマウント 別パーティションをLVMで作成 別パーティショ…

みんな大好き、dig コマンドの使い方(dnsを調べるあれこれ

みんな dig ってますか? http でファイルが開けない時、真っ先に見るべきは iptable でも、ifconfig でもなくて dig です。 まず、dig を確認するよね。 dig の使い方 dig は名前解決を試みるコマンドです。 名前解決とは何か、、DNSの仕組みについては触れ…

prinft %s は文字列の長さが指定できる!

知らなかった。%s は%s しか使えないんだと思ってました。 縦幅が綺麗に揃った文字列を出力するにはどうすればいいか、ずっと気になっててruby はruby で各種関数、php はphp で各種関数を使ってたけど、良く考えたら printf で出来ることに気付いた Dir.glo…

swapを消して、swap を作る方法、Swapを確認する方法

swap のドライブを変更したい swap ドライブをSSDに移動させようと思って、消したり作ったりしてた swap を確認する方法 単純に swapon を叩くと現在のswap が見られる takuya@:~$ sudo swapon NAME TYPE SIZE USED PRIO /dev/dm-1 partition 20G 39M -1 swa…

Swap の適正量 の目安

Swap の適正量 スワップファイルはどれくらいが適当なのか? 昔はRAMの2倍と言われましたが、いまだにそんなわけ無いと思うので調べてみた。 Redhat の資料によると メモリ量 スワップサイズ 2GB 以下 メモリの2倍程度から3倍程度 2-8GB メモリと同程度か…

CentOSのバージョンを確認する

CentOSのバージョンを確認する。 cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) ふむ。。。

git status で git-diff エラーになったのでインストール

git-diff でカラー表示してたけど、新規マシンになかった 新規マシンにgit 入れたけど、git-diffがなくて怒られた diff - highlight を持ってくる curl https://raw.github.com/git/git/master/contrib/diff-highlight/diff-highlight -o diff-highlight chm…

Linux でwinrar のrarファイルを圧縮展開・rr3% つける。rarで文字コードも嬉しい?

rar コマンドでファイルを圧縮 tar とほぼ同じ c の代わりに a rar a -rr3p ファイル名.rar 追加 実際にヤってみた例 takuya@~/Desktop$ rar a -rr3p out.rar ScrenCaptured_2016-06-2* RAR 5.30 Copyright (c) 1993-2015 Alexander Roshal 18 Nov 2015 Tria…