タグ

linuxに関するanatofuzのブックマーク (39)

  • /usr/local とは何なのか - 破棄されたブログ

    ご用心: この記事を鵜呑みにせず、末尾に記載された一次ソースを確認してください。 ソースからソフトウェアをビルドしてインストールするときに使う /usr/local ディレクトリだけど、/opt ディレクトリとの住み分けとか、 そもそも標準はどうなっているのかとか、まともに知らんかったので Filesystem Hierarchy Standard を確認してみた。 /usr/local は何をすべきところなのか? 他のホストと共有されない 既存のシステムの破壊防止 FHS 準拠のソフトウェアをインストールする /usr/local ディレクトリ下自体が FHS 準拠になる /usr/local ディレクトリは、システム管理者がソフトウェアをローカルにインストールするために用いる。 /usr/local ディレクトリとして隔離されるため、同名のファイル名で既存のファイルを上書きするなどして

    /usr/local とは何なのか - 破棄されたブログ
  • Alpine Linux で Docker イメージを劇的に小さくする - Qiita

    Docker イメージを小さく作るテクニックって、いろいろありますよね。不要なファイルやディレクトリを削除したり、複数の RUN 命令をひとつにまとめたりなどなど。 ところが、ベースイメージに Alpine Linux を使う(FROM alpine とする)と、Docker イメージのサイズを 劇的に小さくできる ことがわかりました。 いままで、Docker イメージのサイズを小さくするために、ちまちまとやってきたことは、なんだったんだろうという感じです。まあ、それはそれで組み合わせて使いますが . . . なんとも . . . ねえ(笑) Alpine Linux とは Alpine Linux は、セキュアで軽量な Linux ディストリビューション musl libc と BusyBox をベースに構成されている 組込み系に適した Linux ディストリビューション パッケージ管理

    Alpine Linux で Docker イメージを劇的に小さくする - Qiita
  • Dockerやる前のAlpine Linux

    Dockerやる前のAlpine LinuxSat, 01 Oct 2016 12:11:23 GMT仮想化 Docker 会社でNginxDockerfileを作ったので、記事を書こうと思ったものの書くことがあまりに多すぎるので、まずベースに使用したAlpine Linuxについて書きます。 上司が「DockerならAlpine Linuxですよ!Alpine!」というので、Dockerイメージを作るのにAlpine Linuxなるものをベースにすることにしました。 「ただでさえDocker知らないのにAlpine Linuxとかいうディストリビューションだされてますますわけわかんないよ」と思ったし、いろんなことを同時に覚えないといけないというプレッシャーからかなり消耗したのですが、結論から書くと別に難しくないので「Alpine Linuxしらないよ」って人も使ってみたらいいと思います

  • Alpine Linux入門 -環境構築編-

    今、Docker界隈ではAlpine Linuxへの注目が急速に高まってきています。 Alpine Linuxは非常に軽量なディストリビューションであり、軽量なDockerイメージを作るために必要不可欠な要素になりつつあります。Alpine Linuxの有用性については、この間行われたJAWS-UGコンテナ支部 #4 - connpassでもお話させてもらったので、詳細はスライドをご覧あれ。 お前のDockerイメージはまだ重い💢💢💢 // Speaker Deck Alpineデビューする障壁 Alpineが軽いからといって、そうホイホイとDockerにalpineなイメージを簡単に作れるかというとそうではありません。最初はDockerfileを作るだけで相当消耗してしまうでしょう。そうならないためにも、Alpineの特性を抑えておく必要があります。 Alpineはデフォルトではか

  • Alpine Linux入門 -内部構造とapkでパッケージインストール編-

    さて、前回のエントリはAlpine Linuxの環境を作ってみる話でした。 Alpine Linux入門 -環境構築編- - tehepero note(・ω<) 今回は実際にAlpine Linuxの中身を探索していったり、apkでのパッケージインストール等をやってみます。 前回使った仮想環境をそのまま利用します。前回の環境構築プロセスはもういいよって人は、Vagrant Cloudに公開されているboxを使うでもOKです。 各自のAlpine環境にsshでログインしている前提で話を進めます。 Alpineを探索する まずは素の状態のAlpineがどうのような状態になっているかを確認しておきましょう。Alpineは非常に軽量とされていますが、実際どの程度機能が絞られているかをある程度理解しておく必要があります。 /bin とりあえず基的なプログラムが配置されている/binでも見てみまし

  • ttyとかptsとかについて確認してみる - Qiita

    psコマンドのTTY列にttyとかptsはたまた?など表示されますが、良く分かってなかったのでメモ 参考 ttyについて ttyやptsってなんぞ? ttyとptsの違い sshで入れなくなっても精神的ダメージをらわない素敵な方法 調べてみる ttyについてウィキペディアでは以下のように書いてあります。 ttyとは、標準入出力となっている端末デバイス(制御端末、controlling terminal)の名前を表示するUnix系のコマンドである。元来ttyとはteletypewriter(テレタイプライター)のことを指す。 これはttyコマンドの説明ですね。 ttyコマンドをタイプすることで標準入力、標準出力となっている端末デバイスを表示すると。 試しにターミナルからSSHログインしているサーバーでコマンドを実行してみます。 上記の/dev/pts/0が端末デバイスとなっているようですが

    ttyとかptsとかについて確認してみる - Qiita
  • Brackets Salad - 書ける!ebuild

    はじめに Gentoo Linuxに限らず、Linuxディストリビューションの多くにはパッケージマネージャというアプリケーションがインストールされており、システムの構成を管理することができます。一度それに慣れてしまうと、一つ一つ自分でビルドしてインストールし、不都合が起きたら調整してから再度インストールするという原始的な管理方法は次第に苦痛になり、統一的なインターフェースでシステムを組み替えられる日々を謳歌し、そして壁に突き当たります。すなわち、欲しいソフトウェアをパッケージマネージャでインストールできないという壁に。 そのソフトウェアのパッケージそのものが用意されていない インストールできるバージョンが欲しいバージョンとは異なる コンパイルオプションなどの違いで欲しい機能が組み込まれていない 具体的な悩みは場合によって様々です。いずれにせよ、欲しいソフトウェアをどのようにしてシステムに組

  • クーロン(cron)をさわってみるお - Qiita

    左から、[分] [時] [日] [月] [曜日] [コマンド] 分は0~59の数字で指定 時は0~23の数字で指定 日は1~31の数字で指定 月は1~12の数字で指定 曜日に関しても数字で指定し、0と7が日曜日、1以降は順に、月、火、水、木、金、土となる コマンドは、設定ファイルでパスを通していないものに関してはフルパスで指定するかカレントディレクトリからの相対パスで指定しなければならない 時間の書き方例 43 23 * * * 23:43に実行 12 05 * * *    05:12に実行 0 17 * * * 17:00に実行 0 17 * * 1 毎週月曜の 17:00に実行 0,10 17 * * 0,2,3 毎週日,火,水曜の 17:00と 17:10に実行 0-10 17 1 * * 毎月 1日の 17:00から17:10まで 1分毎に実行 0 0 1,15 * 1 毎月 1

    クーロン(cron)をさわってみるお - Qiita
  • 生命情報科学 | バイオインフォマティクス | 生物情報科学

    バイオインフォマティクスは、膨大で複雑なデータに埋もれている生命現象を、情報科学や統計学などのアルゴリズムを用いて解き明かしていく、生命科学と情報科学の融合分野である。RNA/DNA シークエンシング技術を利用した遺伝子発現量解析、ゲノム解読、ゲノムワイド関連研究(GWAS)、分子動力学シミュレーションによるタンパク質構造解析、機械学習を利用した分子機能予測などの研究が行われている。 システム・プログラミング言語 バイオインフォマティクスの研究ではコマンド操作やプログラミングしやすい Linux あるいは Macintosh などがよく使われている。また、プログラミング言語に関しては、機械学習や科学計算ならば Python、塩基配列やアミノ酸配列などの文字列処理ならば Python/Perl、統計解析や比較トランスクリプトーム解析ならば R などのように、目的に応じて使い分けることが多い。

  • シェルスクリプトで排他・共有ロック&セマフォ - Qiita

    どのUNIXでも通用するロック機構はあるのか? 他言語では大抵用意されているロック機構であるが、シェルスクリプトにはロック機構を直接実現するコマンドが無い。flockコマンドやlockfコマンドなどOSによっては独自コマンドがあるが、OS独自ゆえ、それらを使ってしまうとシェルスクリプトの可搬性は失われてしまう。(しかも前述の2つのコマンドは、ファイルロックのコマンドであるうえに、ロックがかかっている間は次の行に進めない) 「特定のOSに縛られてしまうくらいなら他の言語を使う方がよっぽどマシだ」といって、シェルスクリプト信者(POSIX原理主義者)を増やせないのが悔しかったのだが、ようやく作るのに成功したので報告する。 これで、 排他ロック…………………pexlockコマンド 共有ロック…………………pshlockコマンド セマフォ……………………(pshlockコマンド、共有ロックの応用)

    シェルスクリプトで排他・共有ロック&セマフォ - Qiita
  • Linuxがモノリシックカーネルである理由

    Linuxがモノリシックカーネルである理由 2013-01-10 Quoraの問答は当に面白いものばかり。技術的でないのもかなり興味深いものが多いが、またLinuxについてのネタで分かりやすいのがあったので訳してみた。 Linuxがモノリシックカーネルであるというのはどういう意味か? モノリシックカーネル モノリシックカーネルは、プロセスやメモリの管理、例外の取扱い、入出力のやり取り、ファイルシステムなどほとんどの基的なシステムサービスを実行する。層構造になっており、基礎的なプロセス管理からOSの他の部分(ライブラリ群や、層の最上位であるアプリケーション)とのインタフェースからなっている。基的なサービスをカーネルスペースに含めることは、次のような大きな3つの欠点となる。 カーネルサイズが大きくなる 拡張性に乏しい メンテナンス性が悪い マイクロカーネル カーネルの機能を基的なプロセ

  • Linuxカーネルのソースコードを機能とレイヤーで分類して表示してくれる「Linux kernel map」

    Linuxのカーネルは膨大な数のソースコードから成り立っており、どこに何の処理が書いてあるのかぱっと見当をつけるのにはかなりコードを読み込む必要があります。「Interactive map of Linux kernel」はそのソースコードを機能とレイヤーで分類して表示してくれるサイトということで、使い勝手を試してみました。 Interactive map of Linux kernel http://www.makelinux.net/kernel_map/ サイトにアクセスし、ロードが終わると下の画像のように6列6行の表が表示されます。列が機能の分類を表しており、「インターフェース」「システム」「処理」「メモリー」「ストレージ」「ネットワーク」という分類になっています。行はレイヤーを表しており、上からシステムコールなどの「ユーザースペースインターフェース」、「バーチャル」、「ブリッジ」

    Linuxカーネルのソースコードを機能とレイヤーで分類して表示してくれる「Linux kernel map」
  • 6.3. Resizing an Ext4 File System | Red Hat Product Documentation

  • RHEL7におけるDockerのディスクイメージ管理方式 - めもめも

    変更履歴 2014/04/20 公開 2014/04/27 構成情報ファイルの説明追加 2014/06/15 dm-thinprovisiongのデバイスメタデータファイル変更 背景 先だって、「Linuxコンテナ(LXC)の基礎をまとめ直す」というコラムに、「来るべきDockerの波に向けて、まずは、コンテナの基礎を理解しましょう!」的な話を書きました。この中で、比較的に原始的なコンテナ利用法として、「RHEL6.2のlibvirtからLinuxコンテナを利用」という記事を紹介しています。 この記事では、busyboxを使った簡易httpサーバのコンテナを起動していますが、この手順に従うと(気づく人は)容易に気づくのが、コンテナに見せるファイルシステムの準備がいかに面倒か、という事実です。コンテナから見えるルートファイルシステムは、基的には、ホスト上の特定のディレクトリにchrootし

    RHEL7におけるDockerのディスクイメージ管理方式 - めもめも
  • Stanford CS140e - Operating Systems

    This is a lab-based class with no explicit lectures. We will do two two-to-three hour labs each week. You should be able to complete almost all of the lab in one sitting. Assuming it's useful I will do some kind of optional discussion section on Fridays. By the end of the class you will have built your own simple, clean OS for the widely-used, ARM-based raspberry pi --- including interrupts, threa

    Stanford CS140e - Operating Systems
  • 往年の「MS-DOS」互換OS「PC-MOS/386」のコードがオープンソース化 - builder by ZDNet Japan

    データ活用は次のステージへ トラディショナルからモダンへ進化するBI 未来への挑戦の成功はデータとともにある 20年培ったデジタルカイゼン文化 誰もが知るあの「Notes」で実現する 現場とIT部門二人三脚でのデジタルカイゼン 結果に差がつくウェビナーへの投資 デジタル営業時代における見込み顧客獲得へ ウェビナーの運用・集客・フォローの最適化 オープンソース活用はあたりまえ! そんな今だからこそ改めて考える 企業ITにおけるOSS活用のメリットとリスク コンテナをエンプラITに! コンテナ活用の基礎 番実装が増える背景とメリット ユーザビリティを第一に! ソフトウェアの力でビジネス変化に対応 ハードとソフトがセットになったストレージ クラウドネイティブの実現 モダンインフラの構築・運用の課題解決へ コンテナの可能性を広げるVMware Tanzu ひとり情シスのための年度計画 大企業も中

    往年の「MS-DOS」互換OS「PC-MOS/386」のコードがオープンソース化 - builder by ZDNet Japan
  • pacoでソースビルドをパッケージっぽく管理する - Qiita

    pacoは一言で言うと「野良ビルドしたソフトウェアをパッケージっぽく管理してくれるツール」です。 野良ビルドしたソフトウェアは大抵アンインストールする術がなく、必死こいてそれっぽいファイルを削除していくことになりますが、pacoを使うと簡単にアンインストールしたり、インストールされたファイルの確認ができるようになります。 またconfigure時に指定したオプションも覚えてくれるので、再度ビルドするときに便利です。 paco - a source code pacKAGE oRGANIZER for Unix/Linux http://paco.sourceforge.net/ ちなみにGUIインターフェイスのgpacoというのもついていますが、自分はssh越しのサーバ上でしか作業しないのでgpacoは使ったことがありません。 インストール RHEL系の場合はEPEL、Ubuntuの場合は

    pacoでソースビルドをパッケージっぽく管理する - Qiita
    anatofuz
    anatofuz 2017/11/07
    “野良ビルドしたソフトウェアをパッケージっぽく管理してくれるツール”
  • 雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog

    κeenです。雰囲気でシェルを使ってる人が多いとのことだったので少しばかり込み入った知識を。 あと一応POSIX準拠かどうかも気にしながらやっていきます。 基礎知識編 シェルの種類 まず、POSIXにシェルが定義されています。 これに最低限の機能で準拠しているものをPOSIXシェルと呼ぶことにします。いわゆる/bin/shです。具体的な実装はbsh、ash、dashあたりでしょうか。 最低限の機能以上に色々拡張されているシェルを拡張POSIXシェルと呼ぶことにします。具体的な実装はbash、zsh、kshなどでしょうか。 ここでは触れませんがPOSIX準拠でないシェルも存在してcshやtcshなどのシェルがあります。あと確か最近話題のfishも違ったような。 さて、1つ問題になるのは普段使いのコマンドラインはおおむね拡張POSIXシェルでしょうが、サーバで使うシェルやデプロイスクリプトで呼

    雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog
  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

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

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー