タグ

UNIXに関するnanakosoのブックマーク (84)

  • 私がsystemdを嫌う理由 | POSTD

    (訳注:7/24、いただいた翻訳フィードバックを元に記事を修正いたしました。) (訳注2:8/4、いただいた翻訳フィードバックを元に記事を再修正いたしました。) この2010年代にLinuxシステムの管理者をしていれば、systemdに関して何かしら思うところがあるでしょう。そして私は管理者たちの意見が両極端に分かれていることに驚きました。ほとんどの人(少なくとも意見を表明している人達)はsystemdが「大好き」か「大嫌い」かのどちらかのようです。私の場合、systemdをきっかけに昨年OpenBSDを使うことになったのですが、これを話したことで私がsystemdを「大嫌い」だと思われたようです。でも、それは違います。 当は、systemd自体は私がOpenBSDに移った理由のほんの一部にすぎません。しかし、この経験によって2つの重要な点に気付きました。まず、最近のLinuxの設計の問

    私がsystemdを嫌う理由 | POSTD
  • anyframeを使おう

    現在私が開発中のunite.vimに関する紹介です。オマケとして、今までの発表をダイジェスト形式で御届けしています。

    anyframeを使おう
  • Linuxファイルシステムをまとめてみました - Qiita

    【ext2からの追加機能】ジャーナリング複数のブロックにまたがるディレクトリに対してのツリーベースのディレクトリインデックスオンラインファイルシステムリサイズ(拡張のみ) 【デメリット】2038年1月18日以降の日付に対応していない。fsckがクソ遅い

    Linuxファイルシステムをまとめてみました - Qiita
  • 500マイル以上離れた場所にメールが送れないのだが

    http://web.mit.edu/jemorris/humor/500-miles From: Trey Harris <trey@sage.org> 今から私が書く話は、起こりようのない問題についてだ。この話を広く一般に公開してしまうのは惜しい。というのも、いい酒の話のネタになるからだ。この物語は、退屈な詳細や問題を隠すために、多少事実を変えていて、物語を面白く脚色している。 数年前、私はキャンパスのメールシステムを保守する仕事をしていて、統計学部の学部長から電話を受けた。 「大学の外にメールを送るのに不具合が発生しているのだが」 「どんな問題でしょう?」と私はたずねた。 「500マイル以上メールを送れないのだよ」と学部長は説明した。 私はラテを吹き出した。「何だって?」 「ここから500マイル以上離れた場所にメールを送信できないのだよ」と学部長は繰り返した。「実際は、もう少しあるの

  • bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog

    ※(2014/10/1 追記) 脆弱性の番号を誤って CVE-2014-6721 と表記してしまっていました 正しくは "CVE-2014-6271" です 失礼致しました ※(2014/10/7 追記) 2014/10/7 14:00時点で Shell Shock への修正パッチは6個 公開されています 既に対応済みのシステムでもパッチの漏れがないか注意してください シェルに脆弱性が見つかったらしいです このコマンドを実行すると脆弱性があるバージョンかのチェックができるようです $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 以下のように表示されたらアウトです vulnerable this is a test どうやら、このコマンドが正常に実行できるというのがこの脆弱性の正体らしく、 echo vuln

    bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog
  • 個人的なShellTipsをまとめてみた - UNIX的なアレ

    naoya_itoの火を噴いたシェルtips - Togetter これを読んでふと書きたくなったので。ちなみに僕はbash使っています。 CTRLを使った便利系 まず、UNIXな操作あたり。 キーバインド 意味 CTRL + s キー入力を受け付けなくする 画面出力抑える CTRL + q 上記解除 CTRL + z バックグラウンドに. fgで戻る CTRL + l 画面をクリア。clearと同等 CTRL + c 現在の処理を停止 CTRL + d exitと同等 CTRL + r historyからコマンド検索 emacsっぽいやつ どっちかというとキー操作に近い。基emacs。metaは僕はoptionに割り当ててる。とりあえず触りたい人はESCでOK。 キーバインド 意味 CTRL + a 行頭 CTRL + e 行末 CTRL + f → CTRL + b ← CTRL

    個人的なShellTipsをまとめてみた - UNIX的なアレ
  • インターネット普及のきっかけはあの祭典だったの!? 攻殻機動隊も飛び出したWeb生誕25周年記念イベント

    村井教授が語るインターネット誕生秘話 一般に、現在のインターネット誕生が語られるとき、米国DARPA(国防高等研究計画局)の資金提供を受けて1960年代後半に開発された「ARPANET」を起源とし、最初は米国の大学や研究機関から利用が広まり、1980年代末から1990年代にかけて一般向けの商用利用が開始された、ということになるだろう。 村井教授は1970年代に、米カリフォルニア大学バークレー校で「BSD」の開発に参加していた。BSDは、米ベル研究所が開発したUNIX Edition 6のソースコードライセンスを取得して開発が進められたUNIXシステムである。当時、BSD開発に参加していたのは、ビル・ジョイ氏(viやCシェルを開発。米サン・マイクロシステムズ創業に参加)やエリック・シュミット氏(米グーグルの現会長)など。全員がケン・トンプソン氏(UNIXのオリジナル開発者であり、C言語の元と

  • これは便利、tarを使ってファイルをコピーする - 檜山正幸のキマイラ飼育記 (はてなBlog)

    バタリアンのタールマンが出てきてしまったわけですが*1、tarのmanページで何を調べていたかっていうと、ファイル抽出(extract)時に新ファイルを上書きしないオプションとか、なにやら。 ファイルのコピーというと、cp, copy, xcopyなどのコマンドを多く使うでしょうが、tarコマンドもファイルコピーに使えます。なかなか便利ですよ。Unix/Linux/Cygwin/MSYS などで GNU tar を使う場合の話です。 一番基的なのは、カレントディレクトリにあるファイルをすべて再帰的にたどって宛先(destination)ディレクトリにコピーする方法です。 $ tar cf - . | (cd ../dest/; tar xvf -) ハイフン1文字「-」は標準入出力を表します。出力のときは「f - 」の代わりに -O(または --to-stdout)オプションが使えます。

    これは便利、tarを使ってファイルをコピーする - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • wgetとcurlの根本的な違い - ctrlshiftの日記

    UNIXの代表的なダウンローダにwgetとcurlがあります。 たいていの場合どんなOSでも、どちらかのソフトがインストールされているのではないかと思います。 しかし、この2つのダウンローダの機能は、一見似ているようにも見えますが、実はそれぞれに特徴が見られるので、今日はそれについて解説してみます。 wgetの特徴 wgetのスペルは「片手でもコマンドできる」ということもあって、多くの人から気に入られています。 そんなwgetの特徴として、最も際立っているのが、クローラとして動作可能という点です。 オプションで-rを付加してやることで再帰的に動作し、-lでその深さを指定することができます。 また、-Aや-Rを利用すれば、ダウンロードする拡張子のホワイトリストとブラックリストを指定することも可能です。 つまり、特定のサイト内に散らばって存在するファイルを、拡張子によって指定ダウンロードできる

    wgetとcurlの根本的な違い - ctrlshiftの日記
  • 標準出力をファイルのように扱う方法、例えば2つのコマンドの出力結果のdiffを取るとか - Qiita

    command1 > out1 command2 > out2 diff out1 out2 rm -f out1 out2 これは Process Substitution という名前の機能です。 ちなみに echo <(command) すると /dev/fd/63 などと表示されます。 これは一時的に作られたファイルディスクリプタの名前で、そのファイルディスクリプタは実行されたcommandの標準出力に繋がっており、他のプログラムからはファイルと同じように扱うことが出来る、というわけです。 とっても便利なので、覚えといて損はないです。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back use

    標準出力をファイルのように扱う方法、例えば2つのコマンドの出力結果のdiffを取るとか - Qiita
  • mintty に iconv をインストール

    $ mingw-get install msys-gcc msys-make $ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz $ tar xvfz libiconv-1.12.tar.gz $ cd libiconv-1.12 $ ./configure $ make $ make install

    mintty に iconv をインストール
  • 橋本商会 » ターミナルで使うtwitterクライアント作った

    1年以上前に作ってずっと使ってた奴を、少し直してrubygemにした。 くわしい使い方はhttp://shokai.github.com/twに書いた。 何か要望あればtwittergithubのissueかblogのコメントでください。 ※活用方法をTwのレシピに書きました インストール 特別なライブラリは使っていないのでMacならすぐインストールできるはず gem install tw tw --help 機能 すぐ使えるように名前が短い、インストール・セットアップが楽 表示がカラフル 複数のユーザやリストをマージして表示できる DM読み書き public timelineの検索 user stream、filter stream読める。なんかよく切断されるので自動再接続するようにしといた 複数アカウント使える UNIX pipeからもtweetできる 作った経緯 フルスクリーンのタ

    橋本商会 » ターミナルで使うtwitterクライアント作った
  • xargsもすごいのでもう死ぬしかない | uuu

    GNU Parallelがすごすぎて生きるのがつらい GNU Parallel いいかもね xargsでもできるよ! $ yes | head -n10 | sed 's/.*/localhost/g' > server.list $ xargs -P0 -t -a server.list -I% ssh % "vmstat 1 2|tail -1" ssh localhost vmstat 1 2|tail -1 ssh localhost vmstat 1 2|tail -1 ssh localhost vmstat 1 2|tail -1 ssh localhost vmstat 1 2|tail -1 ssh localhost vmstat 1 2|tail -1 ssh localhost vmstat 1 2|tail -1 ssh localhost vmstat 1 2|

    nanakoso
    nanakoso 2012/11/10
    xargs
  • UNIXユーザーのためのコミケット82情報ページ

    ※このリストはLSSの調査及び皆様からの情報を元に作成いたしました。 ご意見ご指摘・タレコミは hakase@lss.club.ne.jpまで。

  • あなたの知らない>|と<>の使い方

    >や>>、>&といったひんぱんに使われるリダイレクトに対し、ほとんど使われることのないリダイレクトが>|と<>だ。実際には興味深い機能である、これら「知られざる」リダイレクトについて説明しよう。(編集部) あなたの知らないリダイレクト、>|と<> シェルが提供する機能はカーネルが提供している機能をダイレクトに利用するものが多い。つまり、シェルの記述がダイレクトにシステムコールに結び付くような機能が多いということだ。コマンドの実行、パイプ、リダイレクトなどは、そっくりそのままシステムコールに置き換わる。 リダイレクトであれば、ほとんどのケースで>ないしは>>で事足りるはずだ。2>&1という記述はこれで1つの機能に思えるが、これは>&というリダイレクトの典型的な使い方の1つであり、つまりはリダイレクトだ。 >、>>、>&はよく使われるリダイレクトといえる。しかし、sh(1)のマニュアルには次の

    あなたの知らない>|と<>の使い方
  • manに「cp -rは使うな」と書いてあった話 - 西尾泰和のはてなダイアリー

    cp -rでシンボリックリンクまで実体としてコピーされて困ったのでMacのmanを読んでいたのだが、そもそもcp -rってオプション一覧に載ってない。あれれ?と思って続きを読んでいたら互換性の章でstrongly discouragedと書かれていた。 COMPATIBILITY Historic versions of the cp utility had a -r option. This implementation supports that option; however, its use is strongly discouraged, as it does not correctly copy special files, symbolic links, or fifo's. 代わりに-Rを使うべきだそうだ。その場合のシンボリックリンクの扱いをどうするかはオプションで指定でき

    manに「cp -rは使うな」と書いてあった話 - 西尾泰和のはてなダイアリー
  • いまどきのUNIXプログラミング

    さて、しばらく前の話になりますが、やや若い世代の人と集中的に開発を行う機会がありまして。「epoll使っていいですか、selectってあまり使った事ないので」と言われて愕然。当たり前と言えば当たり前なんだけど、90年代に身に着けたUNIXの知識もいまや年代物。少しはアップデートしないとなぁ・・・という事でを読んで勉強したので、そのメモ。もしろん昔からあるけど知らなかったって事も沢山ありました。 読んだのは「LINUXシステムプログラミング」というO'REILLY。400ページ弱という(この手のにしては)薄いなのだけど、興味深い話題が多く楽しんで読めました。以下、このによってアップデートされた私の知識の項目一覧と概説。これを見て「おぉ」と思った人は仲間なので買って損はないと思う。

  • findコマンド使うときは、「prune」オプションを意識することが大事だという話し - カイワレの大冒険 Third

    findコマンドってすごく便利でxargsとかexecと合わせると色々できちゃうんですが、その分リスクも背負うので、リスクヘッジしておきましょうというお話し。 あるディレクトリ配下にこんなファイルがあったとします(適当でごめんなさい)。 # lla drwxr-xr-x 6 root wheel 204 3 21 2011 ./ drwxr-xr-x 51 root wheel 1734 5 23 01:07 ../ drwx------ 4 root wheel 136 8 12 2010 cores/ -rw-r--r-- 1 root wheel 4912297 10 16 2011 log.nmbd -rw-r--r-- 1 root wheel 5123798 3 21 2011 log.nmbd.old -rw-r--r-- 1 root wheel 198900 10 16

    findコマンド使うときは、「prune」オプションを意識することが大事だという話し - カイワレの大冒険 Third
  • コンピューター:C言語講座:FIFO(名前付きパイプ)について

    コンピューター:C言語講座:FIFO(名前付きパイプ)について 概要 FIFOは来、First In First Outというデータ形式の名称で、はじめに入ったデータがはじめに取り出されるという意味で、STACK形式のように最後に入ったデータがはじめに取り出されるのに対比するものですが、ここではプロセス間の通信に使用するFIFOを取り上げます。 TCP/IPプログラムでプロセス間で通信を行なう説明を行ないましたし、fork,exec,pipeでも同様にプロセス間で通信を行なえました。今回の話題のFIFOはPIPEによく似た感じのものですが、パイプは親があらかじめ準備してから子を起動して通信するのですが、FIFOはお互いに勝手に通信をはじめることが出来ます。ファイルのように名前をつけたパイプというイメージで、実際にUNIXではファイルのようにディレクトリ中に作成します。したがって、FIFO

  • The Linux Kernel: プロセス間通信の仕組み

    次のページ 前のページ 目次へ 6. プロセス間通信の仕組み プロセスは、他のプロセスやカーネルと相互に通信することで、自らの作業の調整 を図っている。Linux では、いくつかのプロセス間通信(Inter-Process Communication, IPC)のメカニズムがサポートされている。シグナルとパイプは その典型であるが、Linux は System V IPC メカニズムもサポートしている。System V IPC という名称は、Unix の当該リリースで初めて登場したことからその名が付けられ ている。 6.1 シグナル シグナルは、Unix システムで使用される最も古いプロセス間通信の方法である。 シグナルは、ひとつ以上のプロセスに対して非同期イベント(asynchronous events)を 伝達するために使用される。シグナルが生成されるのは、キーボード割り込みがあっ た