タグ

linuxに関するMonMonMonのブックマーク (234)

  • Linuxカーネルビルド大全 - Qiita

    はじめに (記事は Linux Advent Calendar 2020 および 東京大学 品川研究室 Advent Calendar 2020の11日目の記事として書かれました。) カーネルのビルドについての情報はググると色々と出てきますが、「ここを見ればOK」と思えるサイトに巡り会えていないので、自分で書いてみることにしたのが記事です。 いずれLinuxカーネルをビルドする必要にかられるであろう研究室・学科の後輩や、忘れっぽい将来の自分のためにも、改めてLinuxカーネルのビルド方法についてまとめてみたいと思います。 概要 さて、「カーネルをビルドしよう」という状況に置かれた場合、実際にすべきことは主に以下の4点だと思います。 ソースコードの取得 ビルド環境の構築 カーネルコンフィグの準備 ビルド及びインストール そこで記事では、カーネル体のビルド上記の4点の他、関連して以下の

    Linuxカーネルビルド大全 - Qiita
  • Linuxにおける非同期IOの実装について - Qiita

    はじめに Linux 5.1に新しい非同期IOの仕組みとしてio_uringがマージされてから既に1年以上経ってしまいましたが、これまでのLinuxにおける非同期IOの使い方や実装を見ていきながら、io_uringが登場した背景やLinux AIO(libaio)の問題点をどのように解決しているのかについてまとめました。アプリケーションの書き方については大まかにしか説明していないので、それについてはmanページや別の記事を参照してください。 またIOという範囲が広いのですが、ここではブロックデバイス上のファイルシステムにおける通常ファイルに対するread/writeについて考えています(ネットワークは考えていないのでepollの話はないです)。 前提知識 簡単に前提となる話をおさらいします。 同期IOと非同期IO IOを行うシステムコールとしてすぐに思いつくのはread(2)/write(

    Linuxにおける非同期IOの実装について - Qiita
  • Linuxカーネルの起動時トレースの話 - Qiita

    カーネル起動時トレース Linuxカーネルの起動処理は、様々なことが行われるのにそれをデバッグする方法はprintkだったり、逆にkgdbを外部デバッガから繋いだりと、結構な手間がかかっていました。カーネルが起動してしまえば、ftraceにperf, BPF, systemtapと複数の手段が使えるのに、起動時のデバッグは細かいことが出来ません。これは、起動時に指定できるオプションが大雑把になるのが大きな理由の一つでした。シェル芸ではないですが、1行プログラミングだけで様々なことをするのは大変です。 そこで導入されたのがExtra Boot Configuration (bootconfig)です。Bootconfigについては前回の記事を参考にしてください。 ここではカーネルコマンドラインのトレースオプションと、Bootconfigによって拡張されたBoot-time trace(CON

    Linuxカーネルの起動時トレースの話 - Qiita
  • ペネトレ検証-権限昇格とWildcard Injectionの原理

    しゅーとです。 引き続きペネトレーションテストの検証をしていきます。 前回の記事はこちら。 ペネトレ検証-ECサイトに侵入 前回はECShopの脆弱性を用いてRCE、そしてwww-data権限でのバックドア作成に成功しました。 今回はLinuxでの権限昇格です。 権限昇格したい! 現状コントロールできているのはwww-dataユーザの権限であり、rootではありません。 ここから横展開するにあたり、root権限はぜひとも取っておきたいものです。 そこで今回は権限昇格できるかを調査・試行します。 またfindコマンドに対するWildcard Injection を用いた侵害の説明をふんだんにしています。 そして今回も攻撃後にブルーチーム目線で攻撃の痕跡がどう残っているかも確認します。 metapreterでラクラクやりたい 現状の手札は、永続化のために設置したWSOのバックドア(www-da

    ペネトレ検証-権限昇格とWildcard Injectionの原理
  • Tiny Core LinuxでLinuxのinitプロセスが実行されるあたりを調べる - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    この記事はLinux Advent Calendar 2020 - Qiitaの1日目の記事です。 Tiny Core Linux(以下tcl)を使ってLinuxのブートプロセスを見てましょう。Tiny Core Linuxは軽量ディストリビューションで最小のisoイメージだと11MBほどです😃 ブートプロセスを見ると言っても電源onからの流れではなくてinitプロセスの実行に関する部分です。 この記事ではバージョン11.1のCore-current.iso を利用しています。 www.tinycorelinux.net isoファイルの構成 まずはtclのisoがどんな感じで構成されていて、Linuxを起動させるのか確認しましょう。 isoファイルの構成はこのようになっています。 $ sudo mount -o loop Core-current.iso ./mnt $ tree ./

    Tiny Core LinuxでLinuxのinitプロセスが実行されるあたりを調べる - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • 私はどのようにしてLinuxカーネルを学んだか Device Tree編 -

    タイトル 私はどのようにしてLinuxカーネルを学んだか Device Tree編 ゆたかさんの技術書 著者名 平田豊,MBビジネス研究班 発売日 電子書籍:2020/11/27 紙書籍(POD):2020/12/3 Amazonからのご購入(紙書籍) Amazonからのご購入(電子書籍楽天市場からのご購入(電子書籍) 紀伊國屋書店からのご購入(電子書籍) 上記以外の取り扱い書店 ダウンロード 私はどのようにしてLinuxカーネルを学んだか Device Tree編のファイルはこちらからダウンロードいただけます。 概要 【書籍説明】 組み込みエンジニアとして組み込みLinux開発を行うにあたって、Device Tree(デバイスツリー)というしくみがよく分からなくて困っているのではないでしょうか? 書では組み込みLinux開発において必須知識となっているDevice Treeについて

  • 電子辞書は組み込みLinuxの夢を見るか? - Zopfcode

    はじめに 去る2010年、津山高専の入学を間近に控えた puhitaku 少年は、とある SHARP の電子辞書を手にして震えていた。 SHARP Brain PW-GC610。Windows CE をプリインストールした、中学生から見ても一風変わった電子辞書。そんなものが津山高専の教科書販売で手に入るなんて…。 これは、そんな変わった電子辞書 Brain シリーズで Linux を動かすまでの記録だ。 (記事は、第53回 情報科学若手の回で発表した以下のスライドを記事にしたものです) speakerdeck.com Brain ハックの隆盛と衰退 SHARP の電子辞書 Brain シリーズは、Windows が動くことによって外部アプリ ― 言い換えると、PE 実行可能ファイルそのもの ― が追加可能であることを売りにしている。自作ソフトの防止や対策は特にないので*1、Visual

    電子辞書は組み込みLinuxの夢を見るか? - Zopfcode
    MonMonMon
    MonMonMon 2020/09/27
    組込業界10数年目だが、平伏すばかりだな 部分部分は分かるが、全部できる人なんてなかなかいないよ
  • CVE-2020-15702の技術的解説 - Flatt Security Blog

    こんにちは。株式会社 Flatt Security セキュリティエンジニアの志賀( @Ga_ryo_ ) です。 記事では、最近公開されたCVE-2020-15702の技術的な解説をしていきたいと思います。脆弱性は、自分が発見し、Zero Day Initiativeを経由してベンダーに報告しました。記事は、脆弱性の危険性を通知する目的ではなく、あくまで技術的観点での学びを共有する事を目的としています。 読む前に 概要 前提条件 影響 apportとは 脆弱性解説 PoC概要 PID再利用のタイミング調整 特権プロセスのcwdにcoreファイルを出力したときに権限昇格をする方法 余談 修正 まとめ 参考 読む前に 解説に関して誤りや疑問点があれば、個人宛に連絡をいただけると幸いです。また、記事中におけるコードは基的に2.20.11-0ubuntu27でのapportのソースコード

    CVE-2020-15702の技術的解説 - Flatt Security Blog
  • Linux Networking Tools: 101

    Representation Learning for Scale-free Networks: スケールフリーネットワークに対する表現学習

    Linux Networking Tools: 101
  • 退職しました - Zopfcode

    2年と2ヶ月勤めたGROOVE X株式会社を退職しました(正確には4月13日まで社員で、4月1日からは有給消化)。 理由 会社の業務とは別にやりたいことが次第に大きくなってきて、それが現在の会社の方向性とは違ってきたというのが理由です。もちろん社内での会話とか考察をしばらくやって、数ヶ月考えた上で決断しました。 やりたいことというのはやはり低レイヤーです。入社するときに思っていた「消費者に直接届くハードを作りたい」は目的ではなく手段というのを自覚し、前職のときから好きだった低レイヤーを改めて目的として捉えなおしたというか、そんな感じです。 LOVOTも2018年に比べればありえないくらい安定してますし、そもそもローンチしたし、ということで「後ろ髪を引かれつつ」とかはなく次のステップに突き進めそうな感じです。おおむね前職を出た時と同じような前向きな気持ちで出ていくのでまあ良いんじゃないでしょ

    退職しました - Zopfcode
  • Linuxがブートするまで

    普段Linuxを使っていながら、vmlinuzやinitrd.imgというファイルは何なのか、 あやふやにしか理解していなかったので、一通りLinuxマシンのブートの仕組みを 勉強してみた結果を書き留めておく。なお、BIOSとGRUB Legacyの環境を前提としている。 EFIやGRUB2を使った環境については、今後いずれ勉強していきたい。 基的にOSの起動は、単純・低機能なプログラムが、より複雑・高機能なプログラムを 読み込み起動するという処理を連鎖的に行う仕組みになっている。 Linuxでは、下記のプログラムが順に起動していく: BIOSブートローダ (GRUB)Stage 1Stage 1.5Stage 2LinuxカーネルInit以下では、それぞれのプログラムについて順に要約して述べていく。 1. BIOS現在一般的なx86/x86-64 CPUは、電源が投入されると、0xff

  • Linuxカーネルで学ぶC言語のマクロ - 覚書

    はじめに 記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。 #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) 注目すべきはマクロの定義全体を囲んでいるdo { ... } while (0)という表記です。初見の人には何のことかわからないと思います。考えられる最も単純な定義から遡って、なぜこ

    Linuxカーネルで学ぶC言語のマクロ - 覚書
  • Linuxコマンドの代替コマンド「ncdu」「htop」「tldr」「jq」「fd」とは?

    Opensource.comは6月25日(米国時間)、「5 modern alternatives to essential Linux command-line tools|Opensource.com」において、古くから使われているUNIX系コマンドの代替ツールを紹介した。代替ツールは古くから使われているコマンドと比べて、見た目が良かったり使いやすさが向上したりしているといった特徴があるという。 取り上げられている代替ツールは次のとおり。

    Linuxコマンドの代替コマンド「ncdu」「htop」「tldr」「jq」「fd」とは?
  • ふつうのLinuxプログラミング-プロセスとハードウェア

    研究会の輪講でやったやつ.多少がんばった&評価も高めだったし使いまわせそうなので上げておく.

    ふつうのLinuxプログラミング-プロセスとハードウェア
  • Linux containers in a few lines of code

    This post is meant to be a counterpart to the previous KVM post, but about containers instead. The idea is to show how exactly containers work by running a busybox Docker image in our own small container runner. Unlike a VM, container is very vague term. Normally, we call containers a self-contained bundle of code and its dependencies, that can be shipped together and run in an isolated environmen

  • Linuxのかな漢字変換の興亡 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? タイトルは「Linuxの「かな漢字変換」」です。ひらがなの文字列を普通の漢字かな混じり文にするソフトウェアの話です。 はじめに この記事ではLinux日本語入力歴史の中で特にかな漢字変換の部分の歴史についての概要です。その時代に広く使われていたと筆者が独断で思う物のみに触れます(触れてない物の中には筆者の友人知人の作品も含まれていて心苦しい点もありますが…)。 Linux以前 - 国産ワークステーションの時代 80年代後半から90年代前半にかけて国内の複数の会社がワークステーションを製造販売していました。各社ではそれぞれのアーキテク

    Linuxのかな漢字変換の興亡 - Qiita
    MonMonMon
    MonMonMon 2020/05/10
    skk何度か断念してるんだよな..
  • BPF Performance Toolsを読んだ感想 - go_vargoのブログ

    BPF Performance Toolsを読んだので、感想ブログです。 先に感想を言っておくと「最高」でした。 BPF Performance Toolsとは? NetflixでKernel・パフォーマンスにかかわるチューニング・アーキテクチャを専門にしているBrendan Greggさんが書いたです。BPFのiovisorというTracing分野の第一人者でもあります。 www.brendangregg.com 2019年12月に発売したばかりなので、BPFの分野では最新のでしょう。他の著書に有名なとして(日語版の)「詳解システム・パフォーマンス」があります。 BPF Performance Toolsは「詳解システム・パフォーマンス」第二弾と言えるかもしれません。ちなみにページ数は880Pあり、Kindleで表示される読み終わるための平均的な時間は「27時間30分」で、大作R

    BPF Performance Toolsを読んだ感想 - go_vargoのブログ
  • AWS、コンテナに最適化したLinuxベースのOS「Bottlerocket」をオープンソースで公開

    Amazon Web Servicesは、コンテナ実行専用に開発されたLinuxベースのOS「Bottlerocket」をオープンソースで公開したことを明らかにしました。 Running containers on Amazon EC2? Try the new Bottlerocket OS purpose built to run containers. https://t.co/0tnx2nk1HB pic.twitter.com/GPuWWB9N90 — Amazon Web Services (@awscloud) March 10, 2020 一般的なLinuxディストリビューションで提供されているOSはコンテナ環境に最適化されているわけではないので、コンテナの実行には不要なソフトウェアが含まれていることなどによるストレージやメモリのオーバーヘッドや、不要なネットワークポートが

    AWS、コンテナに最適化したLinuxベースのOS「Bottlerocket」をオープンソースで公開
  • マイクロソフト、Linux用のマルウェア対策ソフト「Microsoft Defender ATP for Linux」パブリックプレビュー

    マイクロソフト、Linux用のマルウェア対策ソフト「Microsoft Defender ATP for Linux」パブリックプレビュー マイクロソフトは、Linuxに対応したマルウェア対策ソフトウェア「Microsoft Defender ATP for Linux」のパブリックプレビューを発表しました。 同社はWindows用のMicrosoft Defender ATPに加え、Microsoft Defender ATP for Macもすでに提供しています。新たにLinux対応を行うことで、WindowsMacLinuxという主要なデスクトップOSのエンドポイントセキュリティをカバーすることになります。 下記はLinux対応の発表文からの引用です。 Today, we’re announcing another step in our journey to offer sec

    マイクロソフト、Linux用のマルウェア対策ソフト「Microsoft Defender ATP for Linux」パブリックプレビュー
  • flatpak - mrwk update

    flatpak, OSTree, flathubをちょっと紹介します。 Red Hat Tech Night 2019.11 のボツネタです。 flatpak もりわか 令和元年 ですね 2 元年 といえば 3 Linux デスクトップ 元年 4 Red Hat Enterprise Linux 8 ● サーバOSとしては超強い ● 一方デスクトップとしては貧弱 ● 5 ● ソフトウェアなくてつらい ● Fedoraなら山ほどソフトウェアがあるのに…… 事情はわかる ● どんどん新しくしたいのとライフサイクルがあわない ● codecのライセンス等の問題 ● 儲からない…… RHEL8のデモブースを準備する ● ビデオ流そ…… H.264のcodecないやん! なんとかデスクトップアプリいれたい 6 ● 自前ビルド ← GentooかArchへ行こう ● EPELやrpmfusionとか

    flatpak - mrwk update