並び順

ブックマーク数

期間指定

  • から
  • まで

401 - 440 件 / 978件

新着順 人気順

linuxの検索結果401 - 440 件 / 978件

  • ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか

    新しい高性能で汎用的なシステムコールフックの仕組みを作ってみました。 モチベーションとして、システムコールをフックしてユーザー空間でエミュレートしたくなったのですが、現状、性能と汎用性を両立する仕組みがなさそうだったので、新しい方法を考えました。 今回のシステムコールフックの仕組みは以下のような特徴があります。 ptrace より 100 倍以上高速 LD_PRELOAD や既存のバイナリ書き換えツールより確実 カーネルへの変更なし、かつカーネルモジュールを使わない プログラムのソースコード、プログラムの再コンパイル不要 eBPF でトレーシングをしているけれど、できれば制約が少ないユーザー空間でトレーシングツールを作りたい。もしくは、gVisor のようなサンドボックスを作りたいけれど、ptrace による性能劣化が大きいので、他の高速なシステムコールフックの仕組みが使いたい、というよう

      ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか
    • Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ

      たとえば、かつてiptablesで設定していたIPv4に関連するパケットフィルタリング設定は、nftablesにおいては「ip」というアドレスファミリに紐付けたテーブルを作成することで設定できる。同様に、ip6tablesやarptables、ebtablesで設定していたものはそれぞれ「ip6」や「arp」、「bridge」というアドレスファミリに紐付けたテーブルで設定する。 「inet」「および「netdev」アドレスファミリはnftablesで新たに導入されたもので、まず「inet」はIPv4およびIPv6の両方を対象にした設定を行えるアドレスファミリだ。従来IPv4とIPv6の両方にまたがったフィルタリングルールを設定したい場合はiptablesとip6tablesの両方で同じようなルールを追加する必要があったが、nftablesではinetアドレスファミリで指定することで単一の設

        Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ
      • Dockerでデバッグ対象のコンテナにツールを入れずにtcpdump/straceなどを使うワンライナー - Qiita

        はじめに Dockerであんなコンテナやこんなコンテナを動かしてると、なんかうまく動かなくて、デバッグのためにtcpdumpとかstraceなどのツールが使いたくなることが稀によくあります。 そんな時、デバッグ対象のコンテナ内にツールを一時的にインストールしちゃうというのが、まぁ簡単で分かりやすいんですが、デバッグ対象のコンテナを汚すのはできれば避けたいところです。 Dockerのコンテナの分離というのは、結局のところLinuxのリソースの名前空間の分離であるので、逆に同じ名前空間を共有すれば、デバッグ用に立てた隣のコンテナから、デバッグ対象のコンテナのネットワークやプロセスの状態を観察することも可能です。 また、docker buildはDockerfileを標準入力から受け取ることもできるので、ワンライナーにしてデバッグ用のコンテナをシュッと呼び出せるようにしてみました。 TL;DR

          Dockerでデバッグ対象のコンテナにツールを入れずにtcpdump/straceなどを使うワンライナー - Qiita
        • Ubuntu を業務PCで使いつづけて3年が経ちました。 〜Web開発にmacOSじゃなくて大丈夫なのか気になる方へ〜 - MNTSQ Techブログ

          MNTSQ(モンテスキュー)株式会社 ソフトウェアエンジニアの沼井です。 普段はRailsでのバックエンド開発をしつつ、Elasticsearchによる全文検索処理やインデクシングまわりの開発にも取り組んでいます。 私は現在、 Thinkpad X1 Carbon (2021年版)にUbuntu 20.04をインストールして開発を行なっています。MNTSQ社以前の経験も含めると、業務でのUbuntu使用経験は3年以上あります。 テック系スタートアップの、とりわけWebサービス・スマホアプリの開発シーンでは、macOSユーザーが99%(※個人の感想です)ということもあり、macOS以外の環境を(使いたくても)使うことが難しいと思っている人も多いと思います。 本記事では、業務でのUbuntu利用の実情・課題・メリットなどを共有したいと思います。 TL; DR テック系スタートアップにおけるソフ

            Ubuntu を業務PCで使いつづけて3年が経ちました。 〜Web開発にmacOSじゃなくて大丈夫なのか気になる方へ〜 - MNTSQ Techブログ
          • Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita

            はじめに Dockerfile、サッと書こうと思ったのに、書き始めたら意外と時間かかったりしますよね。 突き詰めるとすごく奥が深いなと思います。 公式のドキュメントでも、Dockerfileのベスト・プラクティスという形で公開してくれていますが、 これを毎回意識するのは大変です。 また、意識できていたとしても、複数人で管理していると、各個人のスキルレベルによって差が出てしまいます。 そんなときにおすすめのツールを見つけたので紹介します。 hadolintというツールです。 Haskell Dockerfile Linterの略だそうで、Dockerfileの静的解析を行ってくれるlintツールです。 hadolintを使うとこんな利点があります。 build前にシンタックスエラーなどに気付ける (地味にトライアンドエラーしてると時間食うんですよね...) 自然とベストプラクティスに則ったD

              Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita
            • サーバ作業を安全に行うための工夫

              こんにちは。 2021年7月にハートビーツに入社後、エンジニアリンググループに所属している北岡です。 以前は同じMSP企業で10年以上勤務しておりましたが、自身のスキル向上などを目的としてハートビーツへ入社しました。 私の転職の経緯やハートビーツへ入社して感じたことなどは今後お話するとして、今回はお客様のLinuxサーバ上で作業する際、私がオペレーション中に意識していることやミスを防ぐために行っていることについて紹介します。 コピー、ペーストのショートカットキーを変更する コピー「Ctrl + c」とペースト「Ctrl + v」はキーが隣り合っており、タイピングミスによってコピーしようとしたつもりがペーストしてしまったということが起こりえます。 メモ帳などで起きた場合は特に問題にはなりませんが、サーバ上で起きると不要なコマンド実行に繋がります。小さなことではありますが防止策をとるべきです。

                サーバ作業を安全に行うための工夫
              • ほぼすべてのLinuxのブートローダーに脆弱性

                  ほぼすべてのLinuxのブートローダーに脆弱性
                • えっちな grep をつくった - はやくプログラムになりたい

                  H(uman-friendly) な grep コマンド hgrep をつくりました. github.com '\w+ で検索した時の出力 ファイルを特定のパターンで検索し,マッチした箇所を構文ハイライトしたコード片で表示します.超ざっくり言うと,ripgrep で検索して bat でマッチ箇所付近を表示するような感じです. grep -C によるコンテキスト表示に似ていますが,マッチ行が近い時は1つのコード片にまとめる,周囲何行を表示するかをヒューリスティックに少し賢く決めているなど,ちょっと出力は工夫しています. 動機 手元のリポジトリでコードを検索する時は 単純に grep で検索してマッチ結果を眺める grep | fzf のように検索結果を fzf で絞り込んだりプレビューする vim $(grep -l ...) のように検索結果をエディタで開く あたりを使い分けているのですが

                    えっちな grep をつくった - はやくプログラムになりたい
                  • 無から始める自作CPU

                    クレイジーピエロ 著 無から始める自作CPU CPUは作れる!!!!!!!!ご存知でしたか!!!?????? CPU、それは我々が暮らす情報社会の基盤となる魔法の石です。 世に存在する全てのソフトウェア、例えばゲーム、AI、Webサーバ、OS、これらは全てCPUが無ければ動きませんし、今や車や飛行機、家電にも全てCPUが入っている時代です。 そんな誰もがCPUに依存している時代にも関わらず、CPUについて理解を持っている人間は余りにも僅か、というのが現状です。 そんな今こそCPUを作りましょう。 CPUを作り、完全に理解する事で、CPUによって成り立つ技術を学ぶ上での、揺るぎない自信と確証を身につける事が出来るでしょう。 本記事ではCPUという究極のブラックボックスに光を当て、半導体やプログラミングの知識が無の状態から、CPUを作る事を目標としています。 必要な物 本記事の内容の99%はW

                      無から始める自作CPU
                    • めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita

                      EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind

                        めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita
                      • また make の話してる(2020年9月14日) - なにもわからない

                        私の大好きな Makefile の話が盛り上がっていたのでまとめました。 「やめてね。」って方はお声がけください。 同じ会社にいるけど、真逆の感想を持っている。Makefile読まないと副作用が分からないし、Rakefile/package.jsonだけで済むのに無駄に1つレイヤ増えていて、Makefileできたときからいる人は楽だけど、途中から入った人にとっては学習コストが高い。 https://t.co/EXtmI3xl72— 神速 (@sinsoku_listy) 2020年9月13日 golangでMakefileを使うのは分かる。 ただ、RubyやNode.jsのリポジトリなら $ git clone xxx $ cd xxx $ bundle install && rake もしくは npm install && npm test で環境構築ができることを期待する。— 神速 (

                          また make の話してる(2020年9月14日) - なにもわからない
                        • 電源を切っても消えないメモリとの付き合い方

                          メモリのように書けて永続化される次世代ストレージデバイスNVDIMMの扱い方を解説します これは2019年10月19日に行われる予定だった カーネル/VM探検隊@北陸 5回目(台風の影響で中止) での発表資料です サンプルコード: https://github.com/Fadis/kernelvm_20191019_samples

                            電源を切っても消えないメモリとの付き合い方
                          • LinuxカーネルにNTFSドライバーが追加、トーバルズ氏はGitHub経由のマージに苦言

                            印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Linuxの生みの親であるLinus Torvalds氏は、LinuxカーネルにParagon SoftwareのNTFS3カーネルドライバーを導入することに同意し、Linuxカーネル5.15ではNTFSファイルシステムのサポートが強化されることになった。ただし同氏は、カーネルにコードをサブミットする際の手順とセキュリティに関する対応に苦言を呈した。 Paragon SoftwareのNTFSドライバーは、LinuxでWindowsのNTFSドライブを簡単に扱えるようにするものだ。NTFSはFATの後継にあたるMicrosoft独自のファイルシステムで、これによって数十年にわたって続いたNTFSがらみの困難が解消されることになる。 To

                              LinuxカーネルにNTFSドライバーが追加、トーバルズ氏はGitHub経由のマージに苦言
                            • n8n.io 入門 : IFTTT のようなワークフローを構築しよう - kakakakakku blog

                              「n8n.io」を使うと GitHub / Slack / Google Sheets など多くのサービス(ドキュメントを見ると 240 以上もインテグレーションできる!)を組み合わせて自由に「ワークフロー」を構築できる.関連サービスで言えば IFTTT のような感じ!例えば IFTTT Pro に課金せずにセルフホスティングできたりする.今回は「n8n.io 入門」を目的として Mac で Docker を使って「n8n.io」を試す.現状だと Docker と npm (npx) で試せる.なお,SaaS として使える「n8n.cloud」もある(最近まで coming soon になっていた). n8n.io n8n.io 入門 : 完成形 今回は「GitHub リポジトリに対する Star⭐/ Unstar⭐をトリガーに Slack 通知とコマンド実行に条件分岐をするワークフロー」

                                n8n.io 入門 : IFTTT のようなワークフローを構築しよう - kakakakakku blog
                              • 「バニラ」の起源について

                                IBMのBookMasterでは、デフォルトを"vanilla"、特別な設定を"mocha"と呼んでいたらしい。 http://web.archive.org/web/20211224091337/ftp://public.dhe.ibm.com/printers/products/dcf/samples/B2H.HTM 「Chapter 6. Caveats and restrictions (what's supported and what's not!)」に以下の記述がある。 Conditional sections (.cs) and BookMaster's "vanilla" DVCF macros (.CONFIG and .WHEN) are supported, but not BookMaster's "mocha" DVCF macros (e.g. .USING,

                                  「バニラ」の起源について
                                • エンジニアのための十徳ナイフ「DevToys」がバージョン2になってクロスプラットフォームやCLI対応しさらに便利すぎる - Qiita

                                  はじめに 以前紹介させていただき、2022年Qiitaのいいねランキング18位、ストックランキング20位を記録したこちらの記事の続編です! DevToysはリリース後しばらく定期的なバージョンアップが続けられていましたが、去年の7月からぱったりとアップデートが止まっている状態でした。 リポジトリや作者のXを見るとバージョン2の開発を行っているようで、今か今かと待ち続けていましたが数日前リリース予告のポストを見つけて、今日ついにプレリリースされました! ということで早速紹介していきます! DevToysとは DevToysは「開発者のためのスイスアーミーナイフ」の紹介文の通り、開発時によく使うツールを十徳ナイフのようにまとめたアプリとなっています。 JSONの整形とかエンコードデコードetc... プログラミングや保守運用の調査でやりがちな作業をいちいち変換サイトを探したり、エディター拡張機

                                    エンジニアのための十徳ナイフ「DevToys」がバージョン2になってクロスプラットフォームやCLI対応しさらに便利すぎる - Qiita
                                  • 「Windows Subsystem for Linux」が「systemd」に対応へ/「systemd」に依存するLinuxアプリケーションを「WSL」で利用可能に

                                      「Windows Subsystem for Linux」が「systemd」に対応へ/「systemd」に依存するLinuxアプリケーションを「WSL」で利用可能に
                                    • grepを忘れただけなのに - Qiita

                                      去年も『本番環境でやらかしちゃった人のアドベントカレンダー』は盛り上がりましたね。 知見が多く、関心しながら拝見しています。 人は必ず何かしらミスを起こすもの。 明日は我が身と思いながら、業務をこなす日々です。 そんな私も業界に入って1年目(前々職)に、本番環境の洗礼にあったことがございます。 当時は苦々しい思いをしましたが、その経験を供養するためにもここに残そうと思います。 発生当時の状況 事件当時、私はサーバのリプレイス案件にアサインしていました。 その業務の中で上司に日常的に運用されているスクリプトの調査を依頼されました。 私はまだ経験が浅かったため理解が合っているかは怪しいですが、関わっていたシステムは設計の段階で大分やっつけだったらしく、 格納場所が間違っているスクリプトやログが散見されました。 リプレイスを切っ掛けに整理をする予定だったと記憶しています。 入ったばかりのペーペー

                                        grepを忘れただけなのに - Qiita
                                      • 「圧倒的に速い」──ラズパイにOSをインストールする新ツール「Raspberry Pi Imager」

                                        「圧倒的に速い」──ラズパイにOSをインストールする新ツール「Raspberry Pi Imager」:名刺サイズの超小型PC「ラズパイ」で遊ぶ(第21回)(1/2 ページ) これまでは「NOOBS」というツールを使って、ラズパイにさまざまなOSをインストールしてきましたが、2020年3月に「Raspberry Pi Imager」という新しいツールが公開され、今後はこれを使ってOSをインストールすることが推奨されるようになりました。今回はこのRaspberry Pi Imagerについて解説します。 インストール時にOSを指定する これまで使っていたNOOBSでは、ラズパイにmicroSDメモリカードを差して起動した後に、OSを指定してインストールしてきました。新しいRaspberry Pi Imagerでは、microSDメモリカードへの書き込み時にOSを指定してインストールすることに

                                          「圧倒的に速い」──ラズパイにOSをインストールする新ツール「Raspberry Pi Imager」
                                        • SSHログインの失敗が大量に記録されているとSSHログインが極端に遅くなる - Repro Tech Blog

                                          Development Division/Platform Team/Sys-Infra Unitの伊豆です。Sys-Infra Unitはインフラエンジニア・SRE 的な役割を担っています。 今回は、ある日突然SSHログインが遅くなったときに調査した内容を共有します。 SSHログインに数分かかる ある日、AWS EC2上で動いている開発環境のSSHゲートウェイにSSHログインすると30秒以上かかると報告がありました。-vvvオプションを指定してSSHログインしてみるとpledge: filesystemというログが出力された後、数十秒から数分程度かかってSSHログインが成功する状況でした。 pledge: filesystemやssh slowなどで検索してみると、主に以下のような対処法が挙げられていましたがどれを試しても状況は改善されませんでした。 systemd-logindを再起動

                                            SSHログインの失敗が大量に記録されているとSSHログインが極端に遅くなる - Repro Tech Blog
                                          • レガシーとの向き合い方 〜cron から Rundeck へ〜 - DMM inside

                                            |DMM inside

                                              レガシーとの向き合い方 〜cron から Rundeck へ〜 - DMM inside
                                            • 風になりたい奴だけがEmacsを使えばいい 2020

                                              先日、Emacsに一生入門できねえ2020という記事を目にした。 確かにEmacsは難しい。まったくもって増田の言う通りだ。うんうんと頷きながら、過去に自分が書いた「風になりたい奴だけが Emacs を使えばいい。」という記事が脳裏に浮かんだ。 10年間の出来事 # 僕が「風になりたい奴だけがEmacsを使えばいい」と言った記事は2010年9月4日に投稿されていて、あれから実に10年の月日が経過していた。とても懐しい。 振り返ればこの10年間でエディタの世界は大きく変わった。次世代エディタを銘打ったAtomが誕生し、エディタにおける表現の限界をぶち壊した。そして後続で登場したVSCodeが一気にシェアを奪い、一瞬でトップシェアの座に立ってしまった。予想しなかった未来があった。 一方、Emacsはどうなったかと言えば、メジャーバージョンが23から27になった。しかし、起動したてのEmacsは

                                                風になりたい奴だけがEmacsを使えばいい 2020
                                              • CentOS終了にコミュニティからは非難の嵐、CentOSの設立者が新プロジェクトの発足を発表する事態に

                                                by gustawho 2020年12月8日に発表されたCentOSの開発中止に対し、コミュニティのメンバーからは不満の声が上がっていると報じられています。また同時に、CentOSの後継プロジェクトであるRocky Linuxの発足も発表されました。 CentOS Linux is dead—and Red Hat says Stream is “not a replacement” | Ars Technica https://arstechnica.com/gadgets/2020/12/centos-shifts-from-red-hat-unbranded-to-red-hat-beta/ 2020年12月8日に、Linuxディストリビューションの1つ「CentOS」を開発しているThe CentOS Projectが、軸足を「CentOS 8」から「CentOS Stream」に

                                                  CentOS終了にコミュニティからは非難の嵐、CentOSの設立者が新プロジェクトの発足を発表する事態に
                                                • PowerShellのスクリプトを書く時の諸注意

                                                  先日Windows向けの作業のちょっとした自動化のためにPowerShellのスクリプトを書いたので、少し躓いたポイントを書きます。 大人しくLinux版のPowerShellもインストールします WSL2のEmacsから快適に編集するためにシンタックスなどのエラーレポートなどがやはり欲しいですね。 Powershell - LSP Mode - LSP support for Emacs を使えば普通にLSPが利用可能ですが、インストールするためにpwshが実行ファイルとしてPATHに認識されている必要があります。 しかしWSL2上で作業しているのですから、 Windows上のpwsh.exeを使えば多重にインストールする必要がなくなるのではと考えました。 そこでlsp-pwsh-exeにpwsh.exeを追加してみたのですが、 Windows上のPowerShellをWSL2上で動かす

                                                    PowerShellのスクリプトを書く時の諸注意
                                                  • 最近linuxを触るようになったのですが、なぜvimはこんなに使いづらいのですか?

                                                    回答 (19件中の1件目) モーダルだからというのを、UIの授業で聞いたことがあります。 つまり、書き込みモード、上書きモード、コマンドモードなど、状態を常に意識し、それぞれある意味違うプログラムとして覚えなければならないということです。 ただ、他の回答者も仰る通り、「覚えやすいもの」と「便利なもの」は必ずしも同じではないので、毎日使うような道具は覚えやすさより便利さが重視されるのも間違いではないと思います。 僕自身はvimやvimプラグインをそこらじゅうで使っています。殆どの機能が英文字キーだけでこなせるので、疲れない気がします。気分の問題だとも思いますが。

                                                      最近linuxを触るようになったのですが、なぜvimはこんなに使いづらいのですか?
                                                    • ソフトウェア開発者人生に影響を与えてきた本

                                                      はじめに なんとなく書きたくなったので書きます。詳しいレビューなどは書きません。書いても一言程度。実は昔似たようなエントリを書いたことがあるんですが、そちらは初心者+αくらいの人に勧める本についてのもので、こちらはあくまで私に刺さった本です。 達人プログラマー ソフトウェア技術者としての考え方のいくつかはこの本の影響によって身に着けました。この手の本は抽象的でスカスカなことが多いのですが、この本は著者の文書作成技術が高いこと、例が具体的なこともあって、ずいぶん納得できることが多かったです。わたしが読んだのは第一版ですが、あえて第二版へのリンクを張っています。 プログラミング作法 よいプログラムをどう組めばいいかということを学べました。いろいろな言語を題材にしていますが、どういうものを使っていても役に立つ実践的なことが書いています。 珠玉のプログラミング アルゴリズムについて、具体的にどう役

                                                        ソフトウェア開発者人生に影響を与えてきた本
                                                      • Goでツールを量産する僕の方法

                                                        Profile id: Songmu (ソンムー) Masayuki Matsuki / 松木雅幸 Nature Japan 株式会社 取締役CTO おそらくはそれさえも平凡な日々 http://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU 好きな言語は、PerlとGoと中国語 200+ GitHub Public Repositories 60+ CPAN Modules 50+ Go modules/tools 3 Times ISUCON Winner Using Perl YAPC::Tokyo 2019 ベストスピーカー

                                                        • ようこそdotfilesの世界へ - Qiita

                                                          はじめに 少し前から話題になっているが、日本の労働生産性はG7で最も低いらしい。 日本生産性本部資料より https://www.jpc-net.jp/intl_comparison/intl_comparison_2018_press.pdf 日本は人口減少に突入していることもあって、「作業の効率化」や「自動化・省力化」をいうフレーズをあらゆる業種で聞くようになった。 ITエンジニアは、あらゆる職業の中でも最も効率化、自動化をして生産性を高められるといっても過言ではないだろう。プログラマの三大美徳(「怠惰」「短気」「傲慢」)にもあるように、同じことを何度もやらない、楽をするためにがんばるという生産性を意識した感性が重要視されているからだ。 生産性を高めることで、勉強する時間が作れたり、新しいことを経験したりするなどしてさらにスキルアップができ、さらに生産性が上がるという好循環を作り出すこ

                                                            ようこそdotfilesの世界へ - Qiita
                                                          • おなじみ「ping」コマンドの生みの親が20年以上前に開発秘話を記したブログ

                                                            ネットワークレベルでサーバーと通信ができるか確認できる「ping」コマンドは、1983年にUNIXコマンドとして開発されて以来、サーバーの死活監視や通信速度の測定など、あらゆる場所で使われているコマンドです。そんなpingコマンドを開発したマイク・ムース氏は、2000年11月20日にレストランからの帰宅途中、高速道路で玉突き事故に巻き込まれて亡くなっていますが、ムース氏により「ping」コマンド開発秘話が綴られたブログ「The Story of the PING Program」はムース氏の没後20年となる2020年現在も閲覧することができます。 The Story of the PING Program https://ftp.arl.army.mil/~mike/ping.html ムース氏がpingコマンドについて語っているブログはアメリカ陸軍研究所のFTPサーバー「ftp.arl.

                                                              おなじみ「ping」コマンドの生みの親が20年以上前に開発秘話を記したブログ
                                                            • 最新のRHEL9.3系に対応した「Linuxサーバー構築標準教科書(Ver.4.0.0)」LPI-Japanが無料公開。独習で仮想マシンやLinuxの導入、WebサーバやDNSサーバなど構築

                                                              Linux技術者認定「LinuC(リナック)」などを実施する特定非営利活動法人エルピーアイジャパンは、実習を通してLinuxサーバー構築の知識を学べる学習用教材「Linuxサーバー構築標準教科書」バージョン4.0.0の公開を発表しました。 「Linuxサーバー構築標準教科書」はクリエイティブ・コモンズ・パブリック・ライセンス「表示 - 非営利 - 改変禁止 4.0 国際 (CC BY-NC-ND 4.0)」の下で公開されており、PDF版とEPUB版は無料でダウンロード可能です(Kindle版と製本版は有料で提供されています)。 独学で読み進められサーバの動作原理やプロトコルを理解 Linuxサーバー構築標準教科書の内容は現時点(2024年2月)で最新のLinuxディストリビューションであるAlmaLinux 9.3、すなわちRed Hat Enterprise Linux 9.3系を前提と

                                                                最新のRHEL9.3系に対応した「Linuxサーバー構築標準教科書(Ver.4.0.0)」LPI-Japanが無料公開。独習で仮想マシンやLinuxの導入、WebサーバやDNSサーバなど構築
                                                              • 「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言

                                                                LinuxにRustを導入するかどうかという議論は終わりを迎えた。Rustの実装は既に始まっている。Linuxの父であるLinus Torvalds氏は電子メールによる筆者との対話の中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べた。 Linuxカーネルの記述言語としてプログラミング言語Rustを導入するという議論は、かなり前から存在していた。Linuxカーネルの開発者らは、年次カンファレンス「Linux Plumbers Conference(LPC)2020」の場で、Linuxの新たなインラインコードでのRustの使用について検討を開始していた。また、「Android」(それ自体がLinuxのディストリビューションだ)の開発言語としてRustを支持しているGoogleは、2021年4月にLinuxカーネルへのRust導入の動きを後押しし始めていた。

                                                                  「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言
                                                                • ひさしぶりにzshに戻りました - ちなみに

                                                                  仕事用のマシンをM1 MacBook Proに交換してもらったので、開発環境を整え直しました。 2年ほど fish を使ってきたのだけれど、普段は良いのだけれど、ちょっと自動化したくなったときに、やはりPOSIX準拠じゃないシェルはなかなか難しかった。macOSの標準も zsh になったことだし、久しぶりに戻ってみることにした。 導入 現代なので XDG Base Directory Specification に乗っかっておくことにする。 Arch Linux の Wiki がよくまとまっていて助かるのでこれを参考にして進めた。 zshの場合は ZDOTDIR を指定するといいのだけれど、これをどこで指定するのかという問題がある。zshの起動時に最初に読み込まれるユーザー設定は ~/.zshenv なのだけれど、ここに ZDOTDIR を書くということは .zshenv だけホームディレ

                                                                    ひさしぶりにzshに戻りました - ちなみに
                                                                  • いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita

                                                                    いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくったPythonOpenAIChatGPTlangchain はじめに ChatGPT APIが出たので早速さわってみました。せっかくなので何か便利なものをということで自分向けに使えそうなツールをつくっていたら 良いかんじに動作したのでご紹介します。 つくったものは、「ChatGPTを用いた自然言語によるシェルコマンドランチャー」です。百聞は一見にしかずと言うことでまずは動作するところをみてください。 概要 wannaコマンドは、ChatGPTを用いた自然言語によるシェルコマンドランチャーです。自然言語によって、bash scriptを生成し、名付けし、管理できます。 コマンドライン上での操作は簡単に多くのことを行うことができるため、非常に便利です。しかし、多くのコマンドやオプションの組み合わ

                                                                      いちいちシェルコマンド思い出せないので、ChatGPTで自然言語からスクリプトを生成するツールつくった - Qiita
                                                                    • WSL2+Docker+VSCodeの開発環境構築とPythonでWebアプリを試すまで

                                                                      Windowsユーザーの皆さん、手軽にLinux環境で開発したいですよね!そんなときWSL2やコンテナが選択肢に上がるでしょう。VSCodeのRemote Development機能を使い、どちらも試してみました。Windows・WSL・コンテナを使い分けつつ、VSCodeで快適に開発ができるようになります! おおまかな流れ 【準備編】WSL2の有効化と拡張機能のインストール 【WSL編】VSCodeからWSL2にリモート接続する 【コンテナ編】Dockerのインストール 【コンテナ編】VSCodeからDockerコンテナにリモート接続する 【コンテナ編】コンテナでWebサーバーを立て、ブラウザからアクセスする ※ 筆者の環境は Windows10 Home 21H1 です。Windows10 Pro/Enterpriseとは手順が異なるかもしれません。

                                                                        WSL2+Docker+VSCodeの開発環境構築とPythonでWebアプリを試すまで
                                                                      • コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2

                                                                        Docker MeetupとかCloud Native Daysの運営をしながら、無限にスケールするインフラはないかなって、日々もやもやと考えています。 さっそく本題に入っていきましょう。 コンテナってそもそも何ですかっていうと、まず「chroot」というLinuxの機能があって、これはrootディレクトリを特定のディレクトリに切り替えて、そこから下を別のファイルシステムとして確立する、といった技術です。 そこに対して「namespace」という機能で、ユーザー、プロセス、ネットワークを個別に割り当てて、さらにリソースにも制限をかけると、まるでVM(仮想マシン)のように動いて面白いね、というのがコンテナですよ、という説明はよくされると思います。 これを図にしました。 まず、対象のディレクトリに対して「pivot_root」という機能を使ってファイルシステムのルートを作ります。 そのうえで「

                                                                          コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2
                                                                        • Qemuのしくみ (の一部) - VA Linux エンジニアブログ

                                                                          1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション 1.2 QemuのCPUエミュレーション 1.3 Qemuのスレッド 2. 追加のI/OスレッドとAioContext 2.1 追加のI/Oスレッド 2.2 AioContext 2.3 Big Qemu Lock 3. AioContextの各種イベント処理 3.1 AioHandler 3.2 event_notifier 3.3 タイマー、Bottom half 3.5 スレッドプール 執筆者 : 箕浦 真 こういう 仕事をしていると、ときどきQemuの仕組みや内部動作をお客様に説明する必要があることがあるが、そういう時に「Qemuの〜についてはここを見てね」と言えるような文書があるといいなぁと思って自分で作ってみることにした。 1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション Qemuはコンピ

                                                                            Qemuのしくみ (の一部) - VA Linux エンジニアブログ
                                                                          • 低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書

                                                                            はじめに ITの世界で「低レイヤ技術」と呼ばれるものがあります。明確に定義されているわけではありませんが、アプリケーションのような直接エンドユーザに触れる部分ではなく、しかもなるべく生のコンピュータに近い部分、たとえばOSカーネルやコンパイラ、CPUを開発する技術などがあります。これらの技術に明るい人はそうそういないのですが、「やってみたい」という根強い人気があります。 学生のかたでもセキュリティキャンプなどで実際にある程度身につけてしまうような人もいます。そしてますますこの手の技術に趣味としてのめり込んでいって楽しくなる…というところまではいいのですが、「ではこの技術を会得した先に何があるのか」と不安になる人も多いようです。とくに学生さんの場合は「低レイヤ技術を使って今後なんらかの仕事をして生きていけるのか?」といったことが気になるようです。今日もそのような話を少し耳にしたので、自分の経

                                                                              低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
                                                                            • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                                                              jq(https://stedolan.github.io/jq/)の紹介では、「JSON処理のワンライナー〈一行野郎〉としてめちゃくちゃ便利!」とアピールするのが定番です。もちろんそれは本当で、「めちゃくちゃ便利!」です。が、実は jq は、ワンライナー記述にとどまらない、かなり本格的なプログラミング言語です。 JSON処理のためのDSL〈Domain Specific Language | 領域特化言語〉なので、汎用言語ではありません。しかし、汎用言語が備えている言語機能の一部(関数定義、モジュールシステムなど)を jq も持っています。また jq は、独特で楽しいプログラミング・パラダイム -- “パイプライン指向”に基づいて設計されています。 この記事では、ワンライナーを超えた jq の使い方と、プログラミング言語としての jq の特徴を紹介します。長い記事になってしまったので、一

                                                                                パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                                                              • Docker Desktopと代替ソフトウェア大集合 - とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

                                                                                Docker Desktopは普段使いのマシンでコンテナーでアプリケーションを実行することができるソフトウェアで、Dockerのサイトからダウンロードして使うことができます。 開発中のアプリケーションのテストとか、手元の環境でソフトウェアを動かしてみたい時に便利です。VSCodeとの連携もバッチリで、VSCodeコードでコーディングしたアプリケーションをDockerコンテナーで実行するDevContainerにも対応しています。最近のバージョンでLinux Desktop版も提供されるようになったので、もちろんパソコンは必要ですが、Linux DesktopにDocker Desktopをインストールすれば、ほぼ無料でコンテナーベースのアプリケーション開発が可能になります。 良い世の中になりました。 そんな便利なDocker Desktopですが、Dockerの方針変更で次の条件に当てはま

                                                                                  Docker Desktopと代替ソフトウェア大集合 - とことんDevOps | 日本仮想化技術のDevOps技術情報メディア
                                                                                • GoogleのShell Style Guideの邦訳 - Qiita

                                                                                  背景 (Background) どのシェルを使うか (Which Shell to Use) Bash は実行が許可された唯一のシェルスクリプト言語である。 実行可能ファイルは #!/bin/bash と最小限のフラグで始めなければならない。シェルオプションの設定に set を利用することで、 スクリプトを bash script_name として呼び出してもその機能を損なわないようにせよ。 全ての実行可能シェルスクリプトを bash に制限することで、全てのマシンにインストールされた一貫したシェル言語を得る。 これに対する唯一の例外は、コーディング対象によって強制される場合である。この1つの例として、Solaris SVR4 パッケージは、どんなスクリプトにも plain Bourne shell であることを要求する。 いつシェルを使うか (When to use Shell) シェル

                                                                                    GoogleのShell Style Guideの邦訳 - Qiita