タグ

linuxに関するpidekazuのブックマーク (100)

  • How does the Linux Kernel start a Process

    ...and how to ptrace the entry point and m3ss w1th da stack. In this article, you will learn what happens inside the Linux Kernel when a process calls execve(), how the Kernel prepares the stack and how control is then passed to the userland process for execution. I had to learn this for the development of Zapper - a Linux tool to delete all command line options from any process (without needing r

    How does the Linux Kernel start a Process
  • Linux システムコール 徹底入門

    Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

    Linux システムコール 徹底入門
  • Raspberry Pi(Raspbian)にmDNSを設定する - ぱせらんメモ

    Raspberry Piにディスプレイもキーボードも繋がずに部屋の隅っこに転がしておいてリモートからアクセスするには、IPアドレスを知らないといけないわけだけど、せっかくのポータブルなRasPiに固定IPアドレスを設定するのも微妙な感じがするので、mDNSを活用してみることにした。 Appleが好きなアレ。コンピュータ名.localでアクセスできるやつ。 とりあえず、今回はRaspberry PiをなんとかしたかったのでRaspbianの内容だけど、CentOSでもUbuntuでもArch Linuxでもパッケージ名が違ったりするぐらいでだいたい同じ。 説明とかどうでもいい人向け # ホスト名をきちんと設定する sudo -e /etc/hostname # avahi-daemonとnss-mdnsをインストール sudo apt-get install avahi-daemon lib

    Raspberry Pi(Raspbian)にmDNSを設定する - ぱせらんメモ
  • naoyaのはてなダイアリー - Linuxのページキャッシュ

    世間では PHP が、Perl が、と盛り上がっているようですが空気を読まずまたカーネルの話です。今回はページキャッシュについて。 /dev/shm に参照系DBを持っていくと I/O 負荷が激減した件(当たり前だけど) - drk7jp で、ディスク上にあったファイルを /dev/shm (tmpfs) に移したら I/O 待ちがなくなって負荷がさがった、ということなんですがおそらくこれは tmpfs に置く必要はないかなと思います。Linux (に限らず他の OS もそうですが) にはディスクの内容を一度読んだらそれはカーネルがキャッシュして、二度目以降はメモリから読む機構 = ページキャッシュがあります。tmpfs にデータを載せることができた、ということは物理メモリの容量に収まるだけのデータサイズかと思うので、放っておけば該当のファイルの内容すべてがメモリ上にキャッシュされて io

    naoyaのはてなダイアリー - Linuxのページキャッシュ
  • ファイルがページキャッシュに乗っているかを調べる - Qiita

    背景 Linuxのページキャッシュ攻撃対策の影響は大きく、長期化する見通し【翻訳】 この記事を読んでページキャッシュについて色々調べてみようと思って書いてみました。 OSのメモリ管理機構に関連した内容となっています。 キャッシュとは カーネルは、ディスク上のデータへのアクセスを高速に行うため、 read/writeの際にメモリ上にデータをキャッシュします。 キャッシュするメモリ上の領域を「ディスクキャッシュ」と 呼びます。 ディスクキャッシュには種類が2種類があります。それが「バッファキャッシュ」と「ページキャッシュ」です。 それぞれの概要は下記へ記します。 ちなみに、空きメモリがある限り、基的にキャッシュはどんどん増加します。 今回は取り挙げませんがキャッシュと聞くとCPUでよく見る単語なのでそちらをイメージすることが多いと思います。 そちらに関しては他記事をご参照ください。 キャッシ

    ファイルがページキャッシュに乗っているかを調べる - Qiita
  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • CSVの処理で使えそうなコマンドラインツール(column, textql, csvkit, xsv, visidata, csvtotable, daff, tabview) - もた日記

    column textql csvkit xsv visidata csvtotable daff tabview CSV(またはTSV)を処理するときにはcut, sort, awk, paste, joinといったコマンドを使うことが多いが、CSVの処理で使えそうなコマンドラインツールを簡単に試してみる。 テスト用のCSVデータは下記ページで作成した。 Mockaroo - Random Data Generator and API Mocking Tool | JSON / CSV / SQL / Excel column以外はGitHubのスター順で紹介している。 column stackoverflow.com columnはLinuxコマンドだが検索で結構ひっかかったので紹介。 以下のように見やすいように揃えて出力してくれる。 $ head -n5 test.csv id,fi

    CSVの処理で使えそうなコマンドラインツール(column, textql, csvkit, xsv, visidata, csvtotable, daff, tabview) - もた日記
  • How to ZFS · GitBook (Legacy)

    Forget building your own custom docs platform. With GitBook you get beautiful documentation for your users, and a branch-based Git workflow for your team.

    How to ZFS · GitBook (Legacy)
  • Linux I/O のお話 write 編 - naoyaのはてなダイアリー

    write はページに dirty フラグを立てるだけなので決してユーザープロセスを待たせない って、当にそうなんでしょうか?(否定しているわけではなく、純粋な疑問です。) と質問をもらったので、最近追ったことをここでまとめます。かなり長文です、すいません。また、まだまだ不勉強なので間違っているところもあるかもしれません。ツッコミ大歓迎です。 まず、オライリーのカーネルの 15章 ページキャッシュ 15.3 汚れたページのディスクへの書き込み から引用。 ご存知のように、カーネルは、ブロック型デバイスのデータを含むページをページキャッシュに蓄えています。プロセスが何らかのデータを更新した場合は、必ず対応するページに汚れている印をつけます。すなわち、PG_dirty フラグを設定します。 UNIX システムでは、汚れたページのブロック型デバイスへの書き込みを遅延することができます。この方

    Linux I/O のお話 write 編 - naoyaのはてなダイアリー
  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
  • install(1)コマンドが便利だった件

    はじめに install(1)という、cpとmkdirとchmodを同時に行うような便利コマンドがあることを知りました。 (忘れちゃいましたが、何かのMakefileを見ているときに存在に気付きました) これを使うと、プロビジョニングなどのスクリプトが簡潔に書けるようになりそうです。 ……というわけで使い方のメモがてらまとめてみます。 manの内容まとめ installはBSD版とGNU版があるようですが、ここではGNU版について書きます。 BSD版ではいくつかのオプションが使用できません。(-D はなかったと思う) ちなみにmacの場合は標準でBSD版のinstallが入っており、Coreutilsを入れるとGNU版のinstallが使えるようになります。 4種類の使い方 install [OPTION]... [-T] SOURCE DEST SOURCEをDESTにコピーする。-Tを

  • vim/vi 実用レベルのリファレンス -PG's PocketArms

    [A+B]は同時に押下。 [A・B]はAに続いてBを押下。 この例は、CTRLとwを同時に押下、CTRL-wを離してjを押下。 (但しCTRL+w・jは「j」をCTRLを押したままでもOKなようだ)

  • Cygwin 色変更 - Pocketstudio.jp Linux Wiki

    ¥×¥í¥ó¥×¥È¡© † ¡¡¥·¥§¥ë¾å(bash, csh ¤Ê¤É) ¤Ç¤Ï¥³¥Þ¥ó¥É¤òÆþÎϤ¹¤ë¥³¥ó¥½¡¼¥ë¡Ê¥­¡¼¥Ü¡¼¥ÉÆþÎϤΤ¿¤á¤Î¾ì½ê¤¬ÅÀÌǤ·¤Æ¤¤¤ëÃÏÅÀ¡Ë¤Î»ö¤ò¥×¥í¥ó¥×¥È¤È¸Æ¤Ó¤Þ¤¹¡£ ¡¡Fedora/Red Hat ¤Ç¤Ï¡¢½é´ü¾õÂ֤Ǥϰʲ¼¤Î¤è¤¦¤Ê·Á¼°¤Ç¤¹¡£ [¥æ¡¼¥¶Ì¾@¥Û¥¹¥È̾ ~]$ ¡¡¤¿¤È¤¨¤Ð¡¢¥æ¡¼¥¶Ì¾¤¬ sakura¡¢¥Û¥¹¥È̾¤¬ sion ¤Î¾ì¹ç [sakura@sion ~]$ ¡¡¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£~ ¤Ï¡Ö³ºÅö¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£ ¡¡¤¿¤È¤¨¤Ð¡¢¥«¥ì¥ó¥È¥Ç¥£

    pidekazu
    pidekazu 2013/02/20
    [cygwin]
  • 使えるとちょっと便利なSSHのTIPS

    こんにちは、牧野です。久々の、9か月以上ぶりのブログです。。 仕事では、ここ1年近くずっっとインフラ関係のことをやっていました。 今日は、SSHに関するTIPSを紹介します。 1. 特定のサーバーにSSHログインする時に、特定の設定を使用する ホームディレクトリ/.ssh/configファイルに設定を書いておくと、特定のサーバーにログインする時に、自動的に特定の設定を使うようにできます。 SSHのオプションをサーバーによって分けたい時に入力が楽になります。 以下は、xxx.yyy.zzz.aaaでアクセスする時に使う秘密鍵をid_rsa_testに設定しています。 .ssh/config Host xxx.yyy.zzz.aaa IdentityFile /home/asial/.ssh/id_rsa_test 2. ホストキーをチェックしないようにする LinuxからサーバーにSSH接続

    使えるとちょっと便利なSSHのTIPS
  • HOME > 電算 > sed メモ

    HOME > 電算 > sed メモ sed メモ sed メモ(第二版)があります。そちらを見て下され。(2015-5-26) 2014-10-04 一部更新 私はこの小さな働き者が大好きだ。 gnu.org にある "sed, a stream editor" (http://www.gnu.org/software/sed/manual/sed.html) が何かと有用。日語訳が、http://www.bookshelf.jp/texi/sed/sed-ja_toc.html にあったよ。 目次 sed と改行 2 行にわたるパターンにマッチさせる sed で段落内改行を削除 sed で改行コードの変換 コマンドたち ホールドスペースの利用 数字をインクリメントする ○○行ごとに区切る 一行の字数をそろえる URL の抽出 sed と改行 こちらに新版があります(2015-5-26

  • これぐらいやっとけ 〜Linuxサーバのセキュリティ設定〜 - nabeの雑記帳

    管理中のサーバで行っているセキュリティ設定を公開します。当はこういうことを公開するのはよろしくないのですが、脆弱サーバが氾濫している現状そこが踏み台となってsshアタックされるのも迷惑極まりないので、最低限やっとけという内容でまとめました。*1 起動サービスと概要 iptables/Firewallの設定 iptablesの中身 limit-burstについて hashlimitについて hosts.allow/hosts.deny(TCP Wrapper)の設定 sshdの設定 その他の設定 Apacheの設定 Postfixの設定 Dovecotの設定 まとめ はてブさんは #の切り分けやめてくれないかな……。 起動サービスと概要 Apache (www) sshd smtp/pop bind (DNS) ntpd いくつかの注意点。 sftpで十分なのでftpdは使わない。WinS

    これぐらいやっとけ 〜Linuxサーバのセキュリティ設定〜 - nabeの雑記帳
    pidekazu
    pidekazu 2011/10/28
    [security]
  • UNIXの部屋

    UNIX/Linuxの部屋 FreeBSD・Solaris・Red Hat Linux・Fedora・CentOS・HP-UX を使った上で気づいたこと・調べたことをまとめました。 この web 内についての引用・リンク・紹介などの注意点は サイトへのリンクについて をお読み下さい。

  • Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/ - y-kawazの日記

    サーバのファイル整理作業をしていたところ…、 間違えてrm -rfしてしまった! ぎゃーバックアップもねー! 長いこと生きてたらこんな経験の1度や2度はありますよね? えぇ、ついさっきやらかしちゃいましたwwオワタwww 速攻「rm 復活」とか「rm 取り消し」とかでググッたねw、したらmcってプログラムのUndelete機能使えばよいって情報が出てくるが、どうやらこれext2じゃないと使えないっぽいぞ…、うちext4だ。 混乱。以下ターミナルのヒストリーより実況。 ## こーいうときはまずあれだ、現場保存! ## まずは今いるパーティションを確認 # df -hT Filesystem Type サイズ 使用 残り 使用% マウント位置 /dev/sdb2 ext4 193G 6.9G 176G 4% / /dev/sdb1 ext3 194M 22M 163M 12% /boot /d

    Linuxでうっかりrm -rfしちゃったけど復活出来たよー\(^o^)/ - y-kawazの日記
  • void GraphicWizardsLair( void ); //

  • 俺でも解るIPTABLES

    パケットフィルタリングとは: パケットのヘッダー部分を見て、 設定した条件(送信元IPアドレスや宛先IPアドレス、ポート番号など)と一致するかどうかを判 定して、 一致する場合は設定したアクション(転送、破棄、アドレス書き換えなど)を行うものである。 アドレス変換とは: パケットのヘッダー部分を見て、設定した条件と一致するかどうかを判定し、 一致する場合はヘッダーのIPアドレスやポート番号を書き換えるものである。