タグ

linuxに関するsh19910711のブックマーク (962)

  • 噂のpidfdをRustで試してみた - Qiita

    はじめに Python3.9の新機能 (まとめ)という記事を書く中でpidfdというものを知りました。まだあまり良い解説記事がないのですが、最近の5.x系Linuxカーネルに新たに導入されたプロセスを識別するための仕掛けです。この機能がRust言語でCrate(ライブラリのようなもの)として実装されていたので試してみました。 pidfdとは これまでプロセスはPID(Process ID)によって指し示されていました。PIDはプロセスを一意に指し示すための識別子で、例えばシグナルなどを送ったりするのに使われます。 PIDは32bitの整数で、プロセスが生成される時にカーネルが割り振りますが、システム全体で共有しているので枯渇しちゃいます。32bitならそこそこあるように思いますが、実はPIDの最大値はもっと小さく設定されています。Linuxの場合は cat /proc/sys/kernel

    噂のpidfdをRustで試してみた - Qiita
    sh19910711
    sh19910711 2024/05/24
    "pidfd: 5.x系Linuxカーネルに新たに導入されたプロセスを識別するための仕掛け + Pythonでは asyncioの子プロセスを監視するための仕掛けとして 3.9から導入 / PIDの最大値: Linuxの場合は cat /proc/sys/kernel/pid_max で見ることができ" 2020
  • 「Linux で動かしながら学ぶ TCP/IP ネットワーク入門」感想 - msksgm’s blog

    概要 Linux で動かしながら学ぶ TCP/IP ネットワーク入門を読みました。 感想を書きます。 Linuxで動かしながら学ぶTCP/IPネットワーク入門 作者:もみじあめAmazon 概要 前提 目的 事前知識 読了時間 感想 次に関連で勉強すること まとめ 前提 目的 書を読んだ背景は以下です。 2023年10月〜12月の目標の注力分野の 1 つにネットワーク・Linux を掲げていた SRE に関心があるので、ネットワーク周りの知見を深めたかった ネットワークの知識はほとんど初心者で、学んだ知識も読み物ベースだったので、手を動かしながら学べる内容を優先した 事前知識 ネットワークの知識は以下ぐらいです。普段は Web アプリケーションエンジニアとして勤務しているため、基的な HTTP の知識は持っています。 [改訂新版]3 分間ネットワーク基礎講座を読んだ Real Worl

    「Linux で動かしながら学ぶ TCP/IP ネットワーク入門」感想 - msksgm’s blog
    sh19910711
    sh19910711 2024/05/02
    "読み物ベースで1冊学んだあとに手を動かしながら読む書籍 / Network Namespace を利用しながらネットワークを簡単に構築できて簡単に捨てられます / 大きな準備も不要で基礎的な部分を繰り返し学べて良かった" 2023
  • [Proxmox VE] テンプレートとクローンとCloud-Initを使ってVMをサクサクシュッと生やす (Fedora / Ubuntu) - zaki work log

    Proxmox VEには、VMのテンプレート化とクローン機能があり、さらにCloud-Initを使って初期設定込みで簡単にVMをプロビジョニングできる機能がある。 もうすぐFedora40やUbuntu 24.04がリリースされそうなので、その時にサラサラとテンプレート作成できるように、この機能を使う準備についておさらい。 といっても、ドキュメントの通り順番にコマンド実行していけば作成できる。 pve.proxmox.com ちなみにここではUbuntuの情報はあふれてるので、ここではFedora 40 betaでお試し。 (Ubuntuの場合も参考程度に記載してる) テンプレートの作成 ベースになるCloudイメージの入手 テンプレート元にするVM作成 イメージのセット Cloud-Init CD-ROMドライブの追加 テンプレートへの変換 テンプレートの設定 VM設定 Cloud-In

    [Proxmox VE] テンプレートとクローンとCloud-Initを使ってVMをサクサクシュッと生やす (Fedora / Ubuntu) - zaki work log
    sh19910711
    sh19910711 2024/04/29
    "Proxmox VE: VMのテンプレート化とクローン機能 + Cloud-Initを使って初期設定込みで簡単にVMをプロビジョニング + 使える状態のVMを秒で作成できる / Cloudイメージを使ったVM + Fedora Cloud 40 QEMU (qcow2形式)をダウンロード"
  • サーバ再起動しても cron で Web アプリを雑に立ち上げ

    超楽にRubyで雑に書いたスクリプトをsystemdで管理したい! - 宇宙行きたい で systemd がユーザ権限で使えることを知る。 開発環境用では nohup と cron の @reboot を使っていました。こちらもお手軽なので紹介。 @reboot とは crontab(5) に @reboot があれば使えます。その名の通りリブート時に一回だけ実行。Ubuntu なら利用可能。 $ man 5 crontab (省略) Instead of the first five fields, one of eight special strings may appear: string meaning ------ ------- @reboot Run once, at startup. @yearly Run once a year, "0 0 1 1 *". @annual

    サーバ再起動しても cron で Web アプリを雑に立ち上げ
    sh19910711
    sh19910711 2024/04/29
    "crontab(5) に reboot があれば使えます / その名の通りリブート時に一回だけ実行 + Ubuntu なら利用可能 / これで apt upgrade の OS リブートも気軽に行えるようになり"
  • TH3P4G3(85W版)とTeslaP40をUbuntu22.04でセットアップした【外付けGPU】

    sh19910711
    sh19910711 2024/04/27
    "ローカルLLM: 量子化したモデルでも賢いのを使おうとすると平気で何十ギガも食ってくる / Tesla P40: VRAM24GB + ebayやアリエクでは 2〜3マソで買える(中古) / 多分、データセンターの世代交代による引退品が大量に流れ"
  • 日本でのLinuxの始まり (FM TOWNS用Linux) - 人生に疲れた男のblog

    FM TOWNSエミュレータ「津軽」が最近のソースでFM TOWNS用Linuxに対応し始めた(既存のTOWNSエミュ「うんづ」は動かない)ので動作確認をしてみた。 動作確認に使用したのは1996年に出版された「Linux入門」(ヤフオクでCD未開封品が丁度出ていた)というに収録されていたCD内のSlackware カーネル 2.0.14-rel1.0(1996, 8.22)、津軽の設定はFPUオン・CPU HIGH FIDELITY設定、XF86Configファイルを編集しハイレゾモード(orフルカラー)に切り替えとハードウェアマウスカーソルの有効化(Option "sw_cursor"のコメントアウト)、インストールとX Windows(LinuxGUI環境)の動作まで確認。まあ今更動かしたところで何一つ実用性が無い物ではある。 FM TOWNSユーザーだった当時は標準のTowns

    日本でのLinuxの始まり (FM TOWNS用Linux) - 人生に疲れた男のblog
    sh19910711
    sh19910711 2024/04/25
    "FM TOWNSエミュレータ「津軽」が最近のソースでFM TOWNS用Linuxに対応し始めた / FM TOWNS用Linuxが誕生したのは1992年、Linuxそのものの誕生(1991年)の翌年には移植 / 当時日本では主流機種だったPC-98はLinuxではなくFreeBSDが一般的"
  • eBPFを使ったオレオレカーネル拡張入門

    Kernel/VM探検隊@東京 No16

    eBPFを使ったオレオレカーネル拡張入門
    sh19910711
    sh19910711 2024/04/20
    "eBPF: モニタリング + 高速パケット処理 + システムコールのフィルタ + これだけじゃない / いま、eBPFを使ったカーネルの拡張が熱い + MemcachedのキャッシュをeBPFでカーネルに移植 / XRP: eBPFを用いたストレージ処理高速化" 2023
  • Raspberry Piを買っておうちKubernetesクラスタを作る - PartyIX

    Raspberry Piを買っておうちKubernetesクラスタを作る <- イマココ おうちKubernetesにSealedSecretsを入れる 6月の初頭に興味位でRaspberry Pi4を買ってみた.特に何がしたかったわけではないけど,最近Kubernetesクラスタを作っていなかったのでクラスタが作りたくなった. しかしどうせ作るならControlPlaneは3台ほしい.と思っていた矢先に pc.watch.impress.co.jp こういう記事が出ていたので,これは朗報.とりあえずControlPlane1台で作って,後で2台買い増そう.きっと夏くらいになったら買えるようになるはず. というわけで初手で買ったもの. Raspberry Pi4 Miuzei Raspberry Pi 4 電源 KIOXIA microSDHCカード 32GB マイクロHDMI-HDMI

    Raspberry Piを買っておうちKubernetesクラスタを作る - PartyIX
    sh19910711
    sh19910711 2024/03/28
    "最近Kubernetesクラスタを作っていなかったのでクラスタが作りたくなった / 最近のUbuntu ServerはHDMIケーブルで画面出力しなくてもSSHの設定くらいはオンラインでできてしまう" 2023
  • RustでRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした | MaybeUnInit

    RustRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした #2023-05-23 以前からRISC-Vエミュレータを書いてみようと思っていたのだが、書いては飽きてを繰り返して全然進められずにいた。そんな中、以下のRepositoryで、rv32ima,Zifencei,Zicsr、あとはCLINTを実装すればLinuxが動くと知り、飽きずに進められそうな気がしてきたので今度こそ、と実装してみることにした。 https://github.com/cnlohr/mini-rv32ima目次成果物 #Repositoryは以下。記事では実装の概要の記載もあるが、簡略化していたり抜粋だったりするので適宜参照いただきたい。基的にはcoreというcrateが実装の中枢となっている。appはcoreにcliの皮を被せただけだ。 また以下にPlaygroundも用意した。

    sh19910711
    sh19910711 2024/01/12
    "参考図書: RISC-V 原典 + 私はどのようにして Linux カーネルを学んだか / 記述量は 1000 行くらい / CPUのみではなく、割り込み機構やTimer/UARTがどういうものかも学ぶことができる" / 2023
  • eBPF でパケットを触ってみよう

    eBPF でパケットを触ってみよう nonylene

    eBPF でパケットを触ってみよう
    sh19910711
    sh19910711 2023/12/01
    "IP アドレスベースの Firewall を作るまでの解説 / Linux の tc (traffic control) でパケットフィルタリング / tc: Linux でパケットの制御を行うための機構。 eBPF プログラムをアタッチできる"
  • ぼくのかんがえたさいきょうの /etc/apt/sources.list - (ひ)メモ

    これ # /etc/apt/sources.list deb mirror+file:/etc/apt/mirrors.txt jammy main restricted universe multiverse deb-src mirror+file:/etc/apt/mirrors.txt jammy main restricted universe multiverse deb mirror+file:/etc/apt/mirrors.txt jammy-updates main restricted universe multiverse deb-src mirror+file:/etc/apt/mirrors.txt jammy-updates main restricted universe multiverse deb http://security.ubuntu.com/ub

    ぼくのかんがえたさいきょうの /etc/apt/sources.list - (ひ)メモ
    sh19910711
    sh19910711 2023/09/01
    "/etc/apt/mirrors.txt: priority の値が小さい順に試行して、失敗したら次のを試行 + 値がないのは最後 + 値が同じもの同士、もしくは priority の値がないもの同士はその中からランダム"
  • 書評:ふつうの Linux プログラミング - 入門本のかくあるべき姿 - にょきにょきブログ

    ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道 作者: 青木峰郎出版社/メーカー: ソフトバンククリエイティブ発売日: 2005/07/27メディア: 単行購入: 35人 クリック: 450回この商品を含むブログ (145件) を見る ふと軽い気持ちで手に取った入門であるが、いやはや驚いた。 入門のかくあるべき姿がここにあったのだから。 「ふつうの Linux プログラミング」の内容はタイトルが表している通り、ふつうの Linux プログラミング。 cat コマンドや head コマンドを C で実装しながらプロセスやファイルやパイプの仕組みを学んでいく、というある程度 C 言語を知っている人向けの入門である。一見巷にありふれていそうなふつうのであるが、書はひときわ輝いている。プロセスやファイルやストリーム等々の概念の説明もわかりやすく

    書評:ふつうの Linux プログラミング - 入門本のかくあるべき姿 - にょきにょきブログ
    sh19910711
    sh19910711 2023/05/07
    2012 / "cat コマンドや head コマンドを C で実装しながらプロセスやファイルやパイプの仕組みを学んでいく / 本書はエラー処理を書いても問題ないどころか素晴らしい本になることを示した"
  • 第759回 Ubuntu 23.04の変更点 | gihyo.jp

    今回は明日4月20日にリリースされる予定のUbuntu 23.04の変更点の概要をお知らせします。 Ubuntu 23.04 明日4月20日に、Ubuntu 23.04とそのフレーバーがリリースされる予定です。コードネームはLunar Lobsterで、「⁠月のロブスター」という意味です。 図1はロブスターな背景のUbuntu 23.04のデスクトップです。 図1 Ubuntu 23.04のデスクトップ 大きな変更点は、なんといっても新インストーラーの採用でしょう。GNOMEも最新の44にアップデートされています。 では具体的に見ていきましょう。 リリースノート Ubuntu 23.04を試す前に、必ずリリースノートに目を通してください。リリースノートのドラフトは現在でも読めますが、日語訳などの詳細な情報はリリース後に公開される(予定の)Ubuntu Weekly Topicsに掲載され

    第759回 Ubuntu 23.04の変更点 | gihyo.jp
    sh19910711
    sh19910711 2023/04/19
    "Ubuntu 23.04: 4月20日にリリースされる予定 + 本格的なWireGuardサポート / 「⁠設定」の「ネットワーク」からWireGuardの設定ができるように / Ubuntu CinnamonとEdubuntuがフレーバー(公式派生版)として追加"
  • Intel AMT の Serial over LAN を Linux で使ってみる | blog.monophile.net

    概要 vPro 対応の ThinkPad を持っていたので、 Intel AMT を使って Serial-over-LAN(SOL) をやってみた。 リモートで BIOS の設定も可能。 2017年になって Intel AMT の脆弱性が発見されたので、 Intel AMT のファームウェアのアップデートは必須。 (おそらく、同じセグメントに信頼できるホストしか居ない場合は問題ない。) Intel AMT のファームウェアのアップデートWindows じゃないとできなさそう。 Intel AMT の設定 起動時の ThinkPad ロゴマーク表示しているときにに Enter を押してから Ctrl-P を押してから以下のように設定する。 (今回は SOL のみの設定。) 大文字小文字数字を絡めたパスワードの設定。 (例: P@ssw0rd) IP とマスクの設定 (例: 192.168

    Intel AMT の Serial over LAN を Linux で使ってみる | blog.monophile.net
    sh19910711
    sh19910711 2023/04/07
    2017 / "vPro 対応の ThinkPad を持っていたので、Intel AMT を使って Serial-over-LAN(SOL) をやってみた。 リモートで BIOS の設定も可能 / 2017年になって Intel AMT の脆弱性が発見 + ファームウェアのアップデートは必須 / amtterm 192.168.xx.xx"
  • 特定ホスト名の通信だけVPN経由にするルータ設定(OpenWrt編) - hnwの日記

    自宅のルーターの設定で、普段の通信はデフォルトゲートウェイを使いたいけど、一部のホスト名の通信だけはVPNトンネルインターフェースを使いたい、という状況がまれにあります。一般的なニーズではないと思いますが、少なくとも私にはそういうニーズがありました。 IPアドレスごとに外向きインターフェースを切り替えたいのであればiptablesの設定だけで実現できます。一方で、ホスト名によってインターフェースを切り替えるのは一般的には困難です(ホスト名の解決はアプリケーション層で行われるのに対し、iptablesはネットワーク層・トランスポート層での処理になるため)。このような場合に、IPset経由でdnsmasqとiptablesを連携してルーティングを切り替える方法があります。稿ではこのやり方を説明します。 OpenWrtとは OpenWrtは組み込み用途のLinuxディストリビューションで、家庭

    特定ホスト名の通信だけVPN経由にするルータ設定(OpenWrt編) - hnwの日記
    sh19910711
    sh19910711 2023/03/28
    2021 / "IPset: IPアドレスやその他のネットワーク情報を高速に検索できるLinux上のオンメモリデータベース + iptablesと組み合わせて使う前提の仕組み / IPset経由でdnsmasqとiptablesを連携してルーティングを切り替え"
  • curl で telnet を代替する - 理系学生日記

    TCP レベルの疎通確認のときにはよく telnet を使っていたのですが、最近いろいろな OS で telnet が入っていません。 こういうときに、実は curl で telnet を代替できます。 telnet をプロトコルとして指定するだけです。 以下の例では、google に 80 番ポートで接続して、 HEAD リクエストを送っています。 $ curl -s telnet://www.google.com:80 HEAD / HTTP/1.0 HTTP/1.0 200 OK Date: Sun, 05 Apr 2020 07:15:31 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 P3P: CP="This is not a P3P p

    curl で telnet を代替する - 理系学生日記
    sh19910711
    sh19910711 2023/03/25
    2020 / "TCP レベルの疎通確認のときにはよく telnet を使っていたのですが、最近いろいろな OS で telnet が入っていません / curl で telnet を代替できます。 telnet をプロトコルとして指定するだけ"
  • sudo su とかしてる人はだいたいおっさん - tmtms のメモ

    sudo に -s がついたのは 1995年、-i は 2004年なので、sudo su とかしてる人はだいたいおっさん。— とみたまさひろ🍣🍺 (@tmtms) 2021年5月21日 テキトーに書いたこれが「ややウケ」だった。 そういや自分が sudo 使い始めたのは20年以上前で、うろ覚えなので調べてみた。 まとめ カレントディレクトリ 引き継がれる環境変数 シェル ログインシェル su 変わらない ほぼすべて デフォルトのシェル No su - ユーザーのホーム TERM のみ デフォルトのシェル Yes sudo su 変わらない 一部 デフォルトのシェル No sudo su - ユーザーのホーム TERM のみ デフォルトのシェル Yes sudo -s 変わらない 一部 実行時の $SHELL No sudo -i ユーザーのホーム 一部 デフォルトのシェル Yes su

    sudo su とかしてる人はだいたいおっさん - tmtms のメモ
    sh19910711
    sh19910711 2023/03/19
    2021 / "sudo には -s というオプションがあって、シェルを起動することができる / sudo 実行時の SHELL 環境変数の値が使用 / sudo には -i というオプションもあって、これは su - と同じようにシェルがログインシェルとして起動"
  • cp --parentsでパスごとコピーする - ぱせらんメモ

    デプロイ用のファイルとかをコピーしてるとパス付きでまるっとコピーしたくなることがあると思うんだけど、そういう時は--parentsを使うとよい。 状況としてはこんな感じ。 $ tree hoge hoge └── fuga ├── bar.txt ├── foo.txt └── piyo.txt ←これだけコピーしたい 1 directory, 3 filespiyo.txtが更新されたのでこのファイルだけデプロイ対象として持っていきたい。 hoge以下全部持っていくのならcp -R hoge rel-20110628とかでまるっとコピーすればいいけど、foo.txtとbar.txtは巻き込みたくない。 普通にコピーすると…… $ cp -v hoge/fuga/piyo.txt rel-20110628 `hoge/fuga/piyo.txt' -> `rel-20110628/piyo

    cp --parentsでパスごとコピーする - ぱせらんメモ
    sh19910711
    sh19910711 2023/03/14
    2011 / "デプロイ用のファイルとかをコピーしてるとパス付きでまるっとコピーしたくなることがあると思うんだけど、そういう時は--parentsを使うとよい / ちなみにこのオプションはBSD系にはないので"
  • この便利な時代にファイルウォッチャーを自作した - Zopfcode

    コンピューターにまつわるたくさんの知見が存在する2020年。GoogleGitHubを通じて世界の知見を見渡しても、意外と自分が欲しい道具が見つからないことがある。 今回自作したのは、既に星の数ほどありそうな道具、ファイルウォッチャー。名前から連想できるように、「ファイルの変化を監視して、変化をトリガーにコマンドを実行するソフト」だ。 開発の背景紹介や既存との比較は後の方でするとして、まずは今回作ったファイルウォッチャーその名も "r3build" の特徴をピッチしていく。 github.com r3build紹介ピッチ さて、あなたはいま組み込みLinuxのカーネルをいじっているとしよう(まあ、PythonでもGoでも対象は何でも良い)。試行錯誤のたびに make を手で起こすのは辛いので、makeを自動化したいとする。 ここでr3buildが登場する。r3buildの真髄は r3bu

    この便利な時代にファイルウォッチャーを自作した - Zopfcode
    sh19910711
    sh19910711 2023/03/11
    2020 / "GoogleやGitHubを通じて世界の知見を見渡しても意外と自分が欲しい道具が見つからない / 「Linuxのソースコードをいじったらmakeしてほしい」だけなのになぜお手製Pythonスクリプトをわざわざ書かなければならないのか"
  • Cのプロダクトを作るためにやったこと - Tomohisa Oda

    今年に入って Octopassというプロダクトを公開しました。それは、Linuxのユーザや権限をGithubのTeamと連携して運用を楽にするというツールでした。色んな方々のご協力により、多くのRetweetやはてぶいただいたことで、ある程度、Octopass を必要としそうな人の目に触れたのではないかと思っています。(Githubのスター数が少ないのは今後の課題)その中で「すごく便利」「ぜひ導入したい」というフィードバックは、継続して機能追加していくというモチベーションにつながっていて、非常にありがたいです。 さて、この Octopass は、Linuxユーザ名前解決をするためにの glibc の libnssモジュールをCで実装しています。cgoやその他の言語でShared Objectを吐き出しても良かったのですが、それだと技術的挑戦が足りないとして、触れてこなかったCに挑戦しました

    Cのプロダクトを作るためにやったこと - Tomohisa Oda
    sh19910711
    sh19910711 2023/03/09
    2017 / "Octopass: Linuxのユーザや権限をGithubのTeamと連携して運用を楽にする + Linuxユーザ名前解決をするためにの glibc の libnssモジュールをCで実装"