タグ

linuxに関するfoaranのブックマーク (48)

  • device-mapper 解説

    device-mapper 解説 日電気株式会社 野村 淳一 2009年9月18日 © NEC Corporation 2009 Page 2 device-mapper 解説 ▐ はじめに ▐ device-mapper とは ▐ 各種 device-mapper ターゲットの機能 ▐ device-mapper の概念と構造 ▐ device-mapper を使う ▐ Request-based device-mapper の紹介 ▐ さいごに © NEC Corporation 2009 Page 3 はじめに © NEC Corporation 2009 Page 4 はじめに ▐ ハードディスクなどのストレージデバイスは高速化・大容量化の 一途をたどっていますが、拡張性や耐障害性、暗号化、バック アップなど機能面での重要性も増しています。 ▐ Linux では、このような機能拡

  • Linux Performance

    static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor

    foaran
    foaran 2014/07/22
  • TIME_WAIT状態のTCPコネクションを早く終了させるべくKernelをリビルド - 元RX-7乗りの適当な日々

    以前、一度やったはずなのですが、すっかり忘れてしまっていて、結局調べることになったので、今回はここに作業ログを残しておきます。 TIME_WAITコネクションの増殖 一般的にネットワークアクセス数が極端に多いサーバでは、TIME_WAIT状態のコネクションが残留しがちです。 TIME_WAITの滞留時間が、Linuxデフォだと60秒になっているため、下記のエントリにも書きましたが、60秒の間に数十万レベルのリクエストが来るとあっという間にコネクションテーブルが埋まっていってしまうわけです。 で、別にTIME_WAITコネクションが多くなってしまうこと自体は、完全な悪というわけでもなく、 "net.ipv4.tcp_max_tw_buckets" あたりでキャップもできるし、それなりに制御して付き合っていけばいいわけですが、ローカルのTCPポートを使い切るようなケースだと、使えるローカルポー

    TIME_WAIT状態のTCPコネクションを早く終了させるべくKernelをリビルド - 元RX-7乗りの適当な日々
  • 全ては時の中に… : 【Linux】シェルで進捗を表示する

    2012/12/180:14 【Linux】シェルで進捗を表示する シェルで同じ行に進捗状態を更新して表示する方法について説明します。 同じ行の情報を更新するには、以下の手順を踏みます。 1.echoで表示する時、"\c"を指定する。 →改行を抑止する。 2.改行しない状態でecho "\r\c"を行う。 →行の先頭にフォーカスを移動する。 これを行えば、同じ行に新たな情報を記述することができます。 前回表示した文字列より短い文字列を表示する場合、ゴミデータが表示されてしまうことがあります。 あらかじめ、スペースで前回データを上書きする等して、表示がおかしくならないよう注意しましょう。 以下、サンプル。 ■progress.sh #!/bin/sh ##################################################################### #

  • mount --bindが便利 - komamitsu.log

    Linux2.4以降ではmountコマンドで--bindオプションが使える。 mount --bind olddir newdirとすると、マウント済みのolddirがnewdirに再マウントされ、シンボリックリンク的に扱える。 これの何がうれしいのかというと、vsftpdとかでchroot_local_user=YESしていて、chroot外にアクセスさせないようにしているにしつつ、一部のchroot外ディレクトリにアクセスさせたいような場合。 シンボリックリンクだと当然chrootの外だと扱われて「550 Failed to change directory」となるのだけど、mount --bindだと当該ディレクトリがchroot内の一ディレクトリとして扱われるのでアクセス可能になる。

    mount --bindが便利 - komamitsu.log
    foaran
    foaran 2012/09/18
  • [PDF]Linuxカーネルの読み方

    Linuxカーネルの読み方 Naoya Ito 担当章  リバース proxy  キャッシュ  Linux  Webサーバー Linux カーネルを読む  「よーし、Linux カーネル読むぞー」 早速カーネルを読む!  「なんとかわいいバイナリ」  「0x000000c4 は俺の嫁」  「いやいや、そこは 0x0000006d でしょ う? なおや氏」 ... という話ではなく  Linux カーネルの読み方  Linux カーネルのソースコードの読み方 お話したいこと  Linuxカーネルを読む  カーネルのソースを読んで良かったこと  Linux カーネルに触れたきっかけ  カーネルソースの読み方 カーネルのソースを 読んで良かったこと 以前の私#1  負荷が過剰  「このサーバーはディスクが重そう」  (実際どこが正確な原因なんだろう...) 

    foaran
    foaran 2012/06/13
  • Linux共有ライブラリの簡単なまとめ - wagavulinの日記

    Linuxで共有ライブラリ(*.so)を作るようになったのでちょっと勉強してみた。今までは使うだけだったので、以下のようなことは知っていた。作るときはgccの-sharedオプションを使う。使うときはgccの"-lライブラリ名"でリンクするライブラリを指定する。リンク時のライブラリ探索パスは-Lオプションで指定する。実行時のライブラリ探索パスは/etc/ld.so.confに書いてあるディレクトリ。環境変数LD_LIBRARY_PATHでも指定可能。ライブラリを作るときは、.cから.oを作るときに-fPICをつけるといいらしい。新しくライブラリを入れたときはldconfigするといいらしい。逆に今まであまり知らなかったこと。ほとんどのライブラリはlibhoge.so, libhoge.so.1, libhoge.so.1.1のように3つくらいのファイルがあり、libhoge.soやlibh

  • あるシンボルが どのオブジェクトファイル/共有オブジェクトに含まれているか検索するスクリプト - akihiko’s tech note

    プログラミングしていると,あるシンボル(変数名,関数名,クラス名,etc.)がどのオブジェクトファイル(or アーカイブファイル)や共有ライブラリで定義されているか,調べたいことがある(どのファイルをリンクすればいいかわからないときなど).通常はシンボル名でググればよろしい.だが,稀に,ググるのでは解決できないことがある.そのような場合の対処法として,無理矢理 /usr/lib や /lib にあるライブラリファイルを検索する方法を紹介する. ライブラリの種類 予備知識なので,読み飛ばしても可. プログラムをコンパイルして生成されたオブジェクトファイル (*.o) をコマンド ar でアーカイブすると,アーカイブファイル (*.a) ができる.これが,静的ライブラリ (static library).実行ファイルの生成時に静的にリンクされるため,実行時にはアーカイブファイルは不要. 一方,

    あるシンボルが どのオブジェクトファイル/共有オブジェクトに含まれているか検索するスクリプト - akihiko’s tech note
  • RPMパッケージ作成メモ

    一覧するには、rpmbuildコマンドの--showrcオプションで可能です。 _docdir マクロ定義に_docdirはないが、specファイルで_docdirを使用しているものがあります。_docdirは実行時に確定するマクロで、事前に定義されているマクロ_defaultdocdirが適用されるようです。 descriptionセクション パッケージ内容を詳細に記述するセクションです。 %description The xyz utilities are used for software development activities. The main activities are in construction and unit testing. : %description -l ja XYZユーティリティは、ソフトウェア開発作業に役立つツールを収めています。 特に、ソフトウェ

  • 株式会社TAP

  • yumのリポジトリを作る - ksaitoの日記

    RedHat Enterprise Linux 5.0は、yumでパッケージのメンテナンスができますが、Debian/Ubuntuに比べて利用可能なパッケージが少ないです。 RPMパッケージとして個別に配布されているものやcheckinstallでtar ballからパッケージしたものをバラバラと入れていくと収集がつかなくなってしまいます。 yumのプライベートリポジトリは、比較的簡単に作れるようなので、これらのパッケージを必ずプライベートリポジトリに配置してインストールするようにすると良いです。 必要なものは、Webサーバとcreaterepoパッケージですが、いずれもRedHat Networkから入手できます。 createrepoパッケージのインストール RedHat Networkに用意されているcreaterepoパッケージをインストールします。 $ sudo yum list

    yumのリポジトリを作る - ksaitoの日記
  • Makuosan - KLablabWiki

    概要 MAKUOSAN (Multicasts All-Kinds of Updating Operation for Servers on Administered Network) makuosan(まくおさん:通称「まくお」)は、複数のサーバへ同時にファイルを転送するソフトウエアです。 以下のような特徴があります。 サーバが増えても転送時間が変わらない サーバが増えても、転送にかかる時間はほとんどかわりません。10台のサーバに転送しても、20台のサーバに転送しても、ほとんど同じ時間で完了します。ただし、転送時間は一番応答が遅いサーバの性能に引っ張られるので、同程度のスペックのサーバで構築された環境で利用することが望ましいです。 すべてのサーバで同時にファイルが更新される マルチキャストを使って全サーバへ同時にファイルを転送するため、「このサーバのファイルは更新されてるけど、あのサ

  • USBメモリブート非対応のPCでUSBメモリからブートする: PuppyLinuxで爆速PCライフ

    Puppy Linux(パピーリナックス)は、小さく(バージョン4.3で約105MB)、軽いながらたくさんのアプリケーションを持ったLinuxです。 Puppy Linuxを使い始めたばかりですが、ソフトのインストール、設定方法などを綴っていきます。 USBメモリからのブートに非対応のPCでも、USBメモリからのブートを行う方法があります。 PLoP Boot Managerというソフトを使う方法を紹介します。 ダウンロード PLoP Boot Managerはここからダウンロードしてください。 http://www.plop.at/en/bootmanagerdl.html 2010/3/26時点での最新版はplpbt-5.0.8.zipのようです。 起動方式 PLoP Boot Managerを使ったUSBメモリブートにはいくつか方式があります。 1.CD-Rから起動してUSBメモリ

  • Linuxコマンドでテキストデータを自在に操る - じっくりコトコト煮込んだみかん

    Linuxでテキストデータを扱うときに、コマンドをパイプで繋げるだけでいろいろな処理ができて面白いのですが、綺麗に整理されていない気がするのでまとめてみます。ここでは、cat, paste, join, grep, head, tail, cut, awk, sed, tr, sort, uniq, wc を取り上げます。 ファイルを縦に結合 ファイルを縦に結合します。 コマンド 説明 cat file1 file2 ... file1, file2, ... を縦に結合 cat file | ... としてファイルの中身をパイプに流すのにもよく使います。 ファイルを横に結合 ファイルを横に結合します。あまり使わない?*1 コマンド 説明 paste file1 file2 .. file1, file2, ... を横に結合 join file1 file2 file1 と file2

    Linuxコマンドでテキストデータを自在に操る - じっくりコトコト煮込んだみかん
  • Some notes on the "Who wrote Linux" Kerfuffle (Japanese)

    背景 UNIXとそのさまざまな子や孫の歴史が、最近ニュースに取り上げられている。 Alexis de Tocqueville Institutionから刊行された書籍がその原因だ。私はこの歴史の一部に関係しているので、記録を整 理して、極めて重大な誤りを正す義務があるように感じる。しかし、その前に背景をまず示そう。 3月の頭に、Alexis de Tocqueville InstitutionのCEOであるKen Brownが私に連絡してきた。彼は、UNIXの歴史に関する書籍 を執筆しており、私にインタビューしたいと言った。私は15冊の書籍を執筆しており、いくつかの面でUNIXの歴史に関係してき ているので、協力しましょうと言った。私は長年にわたって多くの人にさまざまな理由でインタビューを受けており、オランダ と米国のテレビとラジオとさまざまな新聞と雑誌で放送され掲載されているので、このこ

  • satolog: リーナス・トーバルズ「Subversion ほど無意味なプロジェクトはない」

    Saturday, December 01, 2007 リーナス・トーバルズ「Subversion ほど無意味なプロジェクトはない」 Tech Talk: Linus Torvalds on git My hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan for Subversion for a while was "CVS done right" or something like that. And if you start with that kind of slogan, there is nowhere you can go. There is no way to do CVS right. ぼくの CVS への憎悪が

  • @IT:yumリポジトリで独自RPMファイルを配布するには

    yumサーバを構築するにはで説明したのは、Fedora Projectが公式にリリースしているパッケージをミラーリポジトリからコピーする方法だ。それとは別に、独自のRPMパッケージをyumで配布したいこともあるだろう。 yumでRPMパッケージを配布するには、専用のヘッダファイル(注)が必要だ。このヘッダファイルは、yum-archコマンドで作成できる。ここでは、配布するパッケージのディレクトリを/pub/internal/rpmとして説明する。

  • @IT:yumサーバを構築するには

    上記のディレクトリに、公開されているyumのリポジトリからRPMファイルをダウンロードする。Fedora Coreの自動更新を高速化するにはで紹介したriken.go.jpやkddlabs.co.jpなどから、rsyncコマンドなどで定期的にダウンロードするといいだろう。 ディレクトリの準備ができたら、HTTPまたはFTPで上記のディレクトリにアクセスできるようにする。これでサーバ側の設定は終了だ。 次に、yumコマンドを実行するクライアント側の/etc/yum.confを編集して、baseセクションとupdates-releasedセクションの「baseurl=」の行を変更する。以下の例は、192.168.0.1のサーバにFTPで接続する設定になっている。HTTPの場合は、「baseurl=http://~」のようにプロトコルを変更する。 [base] name=Fedora Core 

  • Xoilac tv, trang a-yu.com trực tiếp bóng đá xôi lạc tv

    Xoilac tv, trang a-yu.com trực tiếp bóng đá xôi lạc tv a-yu.com là trang trực tiếp bóng đá miễn phí, a-yu.com cung cấp link xem bóng đá trực tuyến xôi lạc tv tốc độ cao. a-yu.com phát trực tiếp các trận bóng đá Việt Nam và quốc tế như: Ngoại hạng ANh, La Liga, Việt Nam, Serie A ... và a-yu.com cũng chiếu hàng trăm trận đấu khác. a-yu.com hợp tác với Colatv, một kênh xem bóng đá mới.

  • cronなどに記述する「2> /dev/null」の「2」ってなに?

    定期的にコマンド実行ができるcronに記述する場合(crontab -eなどと指定)、場合によっては実行結果やエラー出力がスパムと化してroot宛にメールされてしまう。このため出力される実行結果のメッセージは、エラー時だけに抑えるなど破棄させるのが一般的だ。 たとえば特定のプログラムをコマンドラインで次のように指定した場合(ここでは例としてWebalizerを挙げた)、 1>file1の「1」は「標準出力」を指し、「file1」ファイルに出力 2>file2の「2」は「標準エラー出力」を指し、「file2」ファイルへファイルに出力(保存)される。 さらに具体的な表示例を挙げてみよう。 1. 通常のコマンド実行による表示 # webalizer [new_nlist] Warning: String exceeds storage size Webalizer V2.01-06 (Linux

    cronなどに記述する「2> /dev/null」の「2」ってなに?
    foaran
    foaran 2007/06/17