最新ページ / カテゴリ最新ページ / 1 2 3 4 次ページ / page 1 (4)

unix - XINUJP - ChangeWebLog

最終更新時間: 2019-12-06 18:47

2019-12-06 Fri

locateデータベースの更新 [unix]

以下コピペだけど、locate DB の更新方法。

- FreeBSD

# /usr/libexec/locate.updatedb


- Linux

# updatedb

2019-11-15 Fri

sftp ディレクトリをまるごと再帰的に転送 [unix]

今までさんざ使って来たのに、知らなかった...
要するに cp と同じに出来るわけだ。

ディレクトリをまるごと、かつ、パーミッション,アクセス時間そのまま

sftp> get -pr XXXX
or
sftp> put -pr XXXX


昔は出来なかったと思うが...

お、help を見ると、mget,mput が無いな(使えるけど)。
複数ファイルの転送も get,put で出来るわけね。

sftp コマンドも進化しているなぁ。

2019-11-12 Tue

tar 展開で特定のディレクトリ/ファイルを抽出 [unix]

例えば、foo ディレクトリ以下を抽出する場合

まず、ディレクトリ構成を調べる。

tar tvf original.tgz | grep foo
./xxx/yyy/foo/
./xxx/yyy/foo/aaa
./xxx/yyy/foo/bbb
./xxx/yyy/foo/ccc
...


それを指定して展開する。

tar xvf original.tgz ./xxx/yyy/foo


と、./xxx/yyy/foo/ の下のみ展開される。

2019-07-04 Thu

BOURNE SHELL / bsh / sh [unix]

世の中、sh と言えば bash の情報ばかりで、面白くない。

が、 bourne shell の使いかたが良くまとまったサイトを発見。

こちら
https://www.gadgety.net/shin/tips/unix/shell.html

2019-05-17 Fri

screen [unix]

久しぶりの screen 使用なので、備忘録。

screen 開始(新セッション作成)

screen [-S foobar]
  -S でセッション名指定可能


現セッションから一時的に離れる(デタッチ)

CTRL-a CTRL-d


screen 状態確認

screen -ls


あるセッションに戻る(アタッチ)

screen -r [id]
  複数ある場合はid指定(-ls にてid取得)

2019-04-11 Thu

「そこ」のファイルを include (shell, PHP) [php][unix]

何かのプロジェクトで、そのプロジェクトHOME を絶対パスでローカルファイルに記しておいて、実行時に読み込み使いたい場合がある。

○ PHP

読み込むファイルを main.php, 読み込まれるファイルを header.php としたとき、main.php に

require_once('header.php');

と、パスを書かずに include すれば、main.php 並びにある header.php が読み込まれる。

正しくは

パスを指定しない場合は、 include_path の設定を利用します。 ファイルが include_path に見つからないときは、include は呼び出し元スクリプトのディレクトリと現在の作業ディレクトリも探します。


○ shell

読み込むファイルを main.sh, 読み込まれるファイルを header.sh としたとき、main.sh には次のように記述。

HERE=`dirname $0`
. ${HERE}/header.sh

2019-03-21 Thu

ssh-keygen 備忘録 [unix][inet]

良く使うのに、すぐ忘れるし、ちょっと強化(鍵長:4096)しようかと。

(A) コメントを username@hostname に自動設定

ssh-keygen -t rsa -b 4096

(B) コメントのメールアドレスを指定

ssh-keygen -t rsa -b 4096 -C "foo@bar.baz.com"


ちょい確認

ssh-keygen -l -f id_rsa.pub
4096 SHA256:xxxxxxxxxxxxxxxxxxxxx foo@bar.baz.com (RSA)

2019-02-20 Wed

find オーナ(ユーザ)やグループで検索 [unix][inet]

最近、apache から nginx に乗り換えているが、nginx だと php がうまく動作しない場合に遭遇。

で、調べたところ、php のキャッシュ系Dir. が 770 で、かつ、グループが apache となっていることが原因と判明。
(ちなみに OS は CentOS7)

ls -l /var/lib/php/
合計 0
drwxrwx--- 2 root apache 6 12月 5 04:04 opcache/
drwxrwx--- 2 root apache 6 12月 5 04:04 session/
drwxrwx--- 2 root apache 6 12月 5 04:04 wsdlcache/


そりゃ nginx では書き込めない。なんだかなぁ。
で、次を実行して group:nginx に変更。

chown -R root:nginx /var/lib/php/*


確認

ls -l /var/lib/php/
合計 0
drwxrwx--- 2 root nginx 6 12月 5 04:04 opcache/
drwxrwx--- 2 root nginx 6 12月 5 04:04 session/
drwxrwx--- 2 root nginx 6 12月 5 04:04 wsdlcache/


で、他の Dir. はこのような問題ないか心配になり、オーナ(ユーザ) やグループで find する方法を調べた。

find /foo/bar/baz/ -user apache
find /foo/bar/baz/ -group apache



しっかし、CentOS(Linux?)面倒臭いよなぁ...

FreeBSD では、apache も nginx もオーナ:グループ は www:www なので、こんな事不要だもんなぁ。

2018-01-20 Sat

4.4BSD-Lite2 ソースコード [unix]

ひゃー、4.4BSD ソースコードが github にある、知らなかった。

https://github.com/himrock922/4.4BSD-Lite2

2017-09-12 Tue

ちょいメモ diff dir. [unix]

ディレクトリ下にあるファイルたちの比較は -r なので、

diff -r -U 3 DIR-A DIR-B


差分のあるファイル名だけを知りたい場合は -q をつけて、

diff -rq DIR-A DIR-B

2017-08-14 Mon

find -{mtime,ctime,atime} -{mmin,cmin,amin} など [unix]

# m/c/a
基本的には m の使用でOK

m/c/a の違いはこのへん
http://x68000.q-e-d.net/~68user/unix/pickup?%A5%BF%A5%A4%A5%E0%A5%B9%A5%BF%A5%F3%A5%D7

# Xtime, Xmin
Xtime: 24時間単位(〜日単位)
Xmin: 分単位

# n/-n/+n
n: まさにそのとき
-n そのとき以降(そのときから今に向かった間)
+n そのとき以前(そのときから昔に向かった間)

# 例: 5時間前から今までの間に変化したファイル検索

find . -mmin -300


# 例: 3日前(の今)以前に変化したファイル検索

find . -mtime +3

2017-04-14 Fri

Mac と Samba と RefreshFinder と [mac][unix][windows]

[2017-04-14-1]のように、Mac/NFS が使えないので、再度、Samba に挑戦!!

[2017-04-12] で記述したように、

しかし、どうも Mac はキャッシュ読込が中心のようで、Unix でファイルを作成しても、Mac 側には反映されず(時間が掛かるのかな?)。

の問題を解決しなければ...

で、あの手この手でググッて、こんな情報をゲットした。

MacのFinderのファイル表示を最新の状態に更新する方法
https://keikenchi.com/mac-finder-refresh

ようは、RefreshFinder をダウンロード/インストールすれば、クリック一つで(sambaでも)Finder がリフレッシュされるという話し。
ちょっと情報が古いので心配だったが、うまく行きました。

RefreshFinder 自体は、ここからダウンロード。
https://soderhavet.com/bl/2014/10/01/refresh-finder/#.WPA2jFPyjys

これは、かなり嬉しいアプリで、Samba 環境でも問題なく作業できるようになったよん!!

2017-04-14 Fri

Mac と NFS はダメそう... [mac][unix]

[2017-04-12] に Mac/NFS/Symlink について熱く語ったのだが、どうも Mac+NFS が調子悪い。

例えば...

○ system panic で死んでしまう。
   サーバの xxx.zip を mac アーカイブユーティリテイで開くと 100% panic
   (ま、2回しか試していないが)

○ 死なないが処理できないケース
   モノによるが、xxx.doc が開けない(windows で作成した doc が対象かな?)
   その xxx.doc を mac/download にコピーしようとするとエラー発生してコピーできない
   もしかすると ._xxx.doc を削除したせい??

○ 処理できたら、ファイル更新日付が超未来
   パワポ開いて閉じたら、2076-11-29 になってしまった!!

-rwxr--r-- 1 foo bar 651264 11月 29 2076 zzz.ppt


あと気になっているのは、NFS でサーバのファイルをいぢっても、._XXX ファイルが生成されないこと。

もしかすると、MacOS が NFS 対象のディスクフォーマットは HFS+ と思ってしまい、イロイロなトラブルが発生するのかな??


いずれにせよ、恐くてとても使えないです。

Referrer (Inside): [2017-04-14-2]

2017-04-12 Wed

Mac と NFS と SymbolicLink と [mac][unix]

只今、開発環境を Mac に構築中。

今まで Unix(FreeBSD)サーバと windows は SMB(Samba) でファイル共有していたので、Mac も SMB で共有した。
しかし、どうも Mac はキャッシュ読込が中心のようで、Unix でファイルを作成しても、Mac 側には反映されず(時間が掛かるのかな?)。
ま windows でもしばらく時間掛かるが...

こりゃたまらんので、数十年ぶりに NFS を設定。

いろいろトラブルあった(特に Mac の uid/gid 変更!)が、とりあえず Unix サーバのファイルが、Mac でも扱えるようになった。

が、Unix 側の symlink に Mac からアクセスできないトラブル発生。

なんだよ Mac の NFS-client ってサーバ側の symlink 扱えないのかよぅ! とか、すっかり Mac を悪者にして調査開始。

しかし違いました、サーバ側の symlink 設定の問題でした。

原因は、symlink 設定で絶対パスリンクしていたこと。

例えば、
/home/foo/aaa/a1 を /home/foo/xxx/a1 に symlink する時、

cd /home/foo/xxx/
ln -s /home/foo/aaa/a1 .

とすると、xxx/a1 は絶対パスで aaa/a1 をリンクする。

と、Mac 側では Mac の /home/foo/aaa/a1 とリンクしてしまうので、Mac 内に /home/foo/aaa/a1 がなければ(普通無い)エラーとなってしまう。

なので、これは相対パスにして

cd /home/foo/xxx/
ln -s ../aaa/a1 .

が正解。


その昔、NFS 全盛の頃(って何十年前だ)に、
「symlink は相対パスにしろ、絶対パスだと NFS でアクセスできないぞ」
と言われていたことを思い出し、懐かしくて涙出ました。

2017-03-24 Fri

ssh X11 forwarding で NG [freebsd][unix][inet]

mac mini 買った。
で、windows では cygwin/X11 サーバに FreeBSD の X-client を生表示していたが、今回から ssh X11 forwarding を使ってみることに。

しかし

ssh -X foo

すると、

X11 forwarding request failed on channel 0

となり、NG 。

で、sshd_config などを確認してもおかしなところが見つからず。

と、ssh でのデバッグモードアクセスを発見。

ssh -v -X foo


結果、FreeBSD に xauth がインストールされていないことが判明。

... が、この FreeBSD は 9.1 と古くて ports も pkg もサポート切れで、xauth インストールできない。

わん、どうしようかな。

1. FreeBSD upgrade する
ううむ、メインサーバだしな、こりゃ恐いわ。

2. mac X11 の XQuartz を調べて生で使用する
出来るかも分からないし、たぶんネット情報もあまりないだろうな。
(ssh forwarding が主流だからな)

カンタンに設定できた!
上の記事参照

2017-03-17 Fri

iconv [unix]

すぐ忘れるのでメモ

文字コード変換コマンド

iconv -f FROM_CODE -t TO_CODE ORG_FILE > CODED_FILE


コード名には次を指定

UTF-8 ISO-2022-JP EUC-JP SHIFT-JIS


例として JIS(ISO-2022-JP) を UTF8 に変換

iconv -f ISO-2022-JP -t UTF-8 file.jis > file.utf8

2016-08-23 Tue

Unix nice の 計算式 [unix]

wiki から https://ja.wikipedia.org/wiki/Nice_(UNIX)

nice値:n1, nice値:n2 のプロセスの CPU時間の比率

(20 - n1) / (20 - n2)


例えば、最低優先度プロセス(nice:19)は、通常優先度プロセス(nice:0)に較べて 1/20 となる。

(20 - 19) / (20 - 0) = 1/20


お、しかし、最高優先度プロセス(nice:-20)は、通常優先度プロセス(nice:0)の、たかだか 2倍か。

(20 - -20) / (20 - 0) = 2



ちなみに、Linux タイムスライスは平均100ms だとか。

2016-06-16 Thu

JSON の shell パーザ探していたら... [unix]

こんなサイトに出くわした。
http://qiita.com/richmikan@github/items/e051b5d882c3dd2a39c6

パーザも良い具合だが、UNIX哲学好きが更に良いよね!!

2016-06-06 Mon

windows+samba で symlink を使う [unix]

FreeBSD サーバのシンボリックリンクを samba 経由で windows ホルダとして使おうとしたところ、アクセスできない場合あり。

どうも、$HOME 以下の symlink は問題ないが、元がそれ以外の dir. を $HOME 下に symlink してとき NG っぽい。

で調べたところ、http://boota.mydns.jp/blog/?p=828 次の設定で解決。

smb.conf に

[global]



unix extensions = no
wide links = yes

その後 samba restart


samba 、長年使っているが知らなかった...
(Cygwin/X がメインだもんなぁ)

2016-06-02 Thu

iconv [unix]

使いかた

iconv -f FROM_CODE -t TO_CODE FILE_NAME


指定コード名

UTF-8 UTF8
ISO2022-JP ISO2022-JP1 ISO2022-JP2
EUC-JP


可能コード全部表示

iconv --list