はじめに この仕事を始めた当初(約20年前)はオンプレミスという言葉がありませんでした。いや厳密には私の周りではパブリッククラウドとオンプレミスを分けて話す人はおらず、インフラ構築といえば今でいうオンプレミスが中心でした(世の中的にはパブリッククラウドがサービスとして存在していました)。オンプレミスみたいに新しい概念が出てきた時にそれまでの概念を説明するためにできる言葉をレトロニムというそうです。 私が本格的にパブリッククラウドの仕事をし始めたのは約3年前でAWSでした。研修ではAzureを先に触れていたのと、この本を読んでいたという知識があった程度です。 ここではずっとオンプレミスのインフラ構築をしていた私がAWSに触れて最初に戸惑ったことを記事したいと思います。また、戸惑いましたということだけ書いても学びがないため対応したことも併せて記載します。AWSに慣れている人からすれば常識ですが
いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう!ShellScriptBashLinuxUNIXmacOS はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要なく、実際に当時は使われていませんでした。このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。良い書き方は最短の時間と最小の手間で目的を達成します。 優れたコードとは無駄がないコードです。丁寧なコードとは無駄な処理を書くことではありません。優れた文法を持つシェルは短いコードで正しく動作します。[ $? -eq 0 ] や [ $? -ne
情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア
LinkedInの記事をめぐっているうちに見つけた、マイクロアーキテクチャに関する面白い事例。 CPUのマイクロアーキテクチャのさらに奥深くまで理解が必要な問題を解決するために、どのようなツールをつかってどのように解決したかの話。 netflixtechblog.com Netflix内でのワークロード最適化のため、AWSのインスタンスサイズを移行(16 vCPUから48 vCPU)し、CPUがボトルネックとなるワークロードの性能向上を図った。 このインスタンスの移行により、性能をほぼ直線的に増加させることを想定し、スループットがおよそ3倍になると予想した。 しかし、結果としてこの移行で想定する性能は達成できなかった。 https://netflixtechblog.com/seeing-through-hardware-counters-a-journey-to-threefold-pe
Chrome、FireFox、Safariといった主要ブラウザにおけるIPアドレス「0.0.0.0」の扱い方に問題があり、問題を悪用することで攻撃者が攻撃対象のローカル環境にアクセスできることが明らかになりました。問題を発見したセキュリティ企業のOligo Securityは、この脆弱(ぜいじゃく)性を「0.0.0.0 Day」と名付けて注意喚起しています。 0.0.0.0 Day: Exploiting Localhost APIs From the Browser | Oligo Security https://www.oligo.security/blog/0-0-0-0-day-exploiting-localhost-apis-from-the-browser Oligo Securityによると、主要なブラウザでは「『0.0.0.0』へのアクセスを『localhost (12
Linuxが動作する格安シングルボードコンピュータ「LuckFox Pico」が入荷。価格は1,100円から 2024.07.29 19:00 更新 2024.07.29 取材 Rockchip製SoCやNPU、ISPなどが統合。映像解析にも使用可能 Linuxが動作するLuckFoxのシングルボードコンピュータ「LuckFox Pico」シリーズが千石電商 秋葉原本店に入荷している。価格は税込1,100円から。 スタンダードモデルはRaspberry Pi Picoとほぼ同サイズであり、開発の容易さなどが特徴というLinuxが動作する格安シングルボードコンピュータ。ARM Cortex-A7ベースのシングルコアCPUやRockchip製NPU、ISPなどが統合されており、顔認識のような映像解析などにも使用可能という。 Rockchip RV1103を搭載するスタンダードモデル「Luckf
Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 技術研究所開発室の山本(和)です。私は、同僚の日比野と一緒にDNSのフルリゾルバ(キャッシュサーバ)の実装を進めています。このフルリゾルバの名前は bowline と言います。結びの王様である「もやい結び」から名付けました。 サーバの bowline に加えて、検索コマンドである dug も実装しています。DNSに詳しい方なら分かると思いますが、 dig コマンドに似せた名前を選びました。(もちろん、DIGDUGという名作を意識しています。) 今回は、 DNS検索コマンド dug の使い方について説明します。dugコマンドをインストールする一番簡単な方法は、githubからバイナリをダウンロードすることです。Intel Linux 用
Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 0.目的 インフラ開発者として、必須な性能分析を身につけることを目的としています。 カーネルパラメータをチューニングをする際に性能分析を前提とし、分析結果からチューニングしていきますが、具体的な指標というものが少ないので参考になれば幸いです。 基本的なvmstatの使い方については、ちょっとググればいくらでも出てくるので割愛します。 「Linuxカーネルパラメータのチューニング&設計」でロードアベレージが高い状態にある場合、次のアクションとしてCPU使用率の確認が必要となりますので、vmstatの結果分析および対処法について深堀していきます。 よって、vmstatの結果分析と対処法を理解すると性能試験を実施した際のその対処法とカーネルパラメータによるチューニングする対象が理解できるかと思います。 1.パフォ
オープンソースで開発される「audapolis」は書き起こし機能を備えたメディアエディターで、音声を自動的にテキストに書き起こすだけでなく、書き起こしたテキストを編集することで同時に音声も編集できるツールで、無料で使うことができます。 GitHub - bugbakery/audapolis: an editor for spoken-word audio with automatic transcription https://github.com/bugbakery/audapolis audapolisはオープンソースで開発されるフリーアプリで、AGPL-3.0ライセンスの下で配布されています。GitHubのページにアクセスし、「Release」にある最新バージョンをクリック。記事作成時点での最新バージョンはv0.3.0です。 audapolisはmacOS・Linux・Window
サポート切れのCentOS 6/7から最新Linux OSへの自動アップグレードツール「ELevate」がアップデート。ハードウェア互換性チェック、サードパーティリポジトリ対応など AlmaLinuxを開発提供しているAlmaLinux OS Foundationは、すでにサポートが終了しているCentOS Linux 6/7からAlmaLinuxやRocky Linuxなど、いわゆるRed Hat Enterprise Linuxのクローンや派生Linux OSへ、OSを再インストールすることなく自動的にインプレースアップグレードしてくれるツール「ELevate」のアップデートを発表しました。 ELevate has received the biggest update since 2021 when we first announced the project! See what's
Electron代替を目指す「Tauri 2.0」リリース候補版が公開。Windows/Mac/Linuxに加えてiOS/Androidアプリ開発も可能に Electronの代替を目指すRust製のアプリケーションフレームワーク「Tauri」の開発チームは、「Tauri 2.0」リリース候補版の公開を発表しました。 Everyone assumes your dev environment and network are safe. Tauri doesn't assume that & protects you as a dev. Tauri 2.0 RC for Mobile and Desktop available right now. Read the announcement:https://t.co/SXv1tgNHGm — Tauri (@TauriApps) August
Ubuntu Weekly Recipe 第824回Dockerコンテナをダイレクトに動かせるようになった「Incus 6.3」を、Ubuntu 24.04で試す 世間はDocker一色と言っても過言ではない中、本連載では何度も、LXDとそのフォークであるIncusを紹介してきました。そのIncusのバージョン6.3では、Dockerコンテナを直接起動できるようになりました。今回はUbuntu 24.04 LTSに最新安定板のIncusをインストールして、Incusのシステムコンテナと、Dockerのアプリケーションコンテナを共存させる方法を紹介します。 昨今のコンテナ事情 IT業界にいると、避けては通れない技術トピックというものがいくつか存在します。Linuxやサーバーの分野では、ここ数年はやはりコンテナでしょう。 コンテナについて簡単におさらいしておくと、特定のプロセスを、ホストO
LF Research オープンソース ライセンス コンプライアンス 今後の課題 (日本語版を公開) オープンソース ソフトウェアの広範な採用は、それらのコンポーネントのライセンス要件に準拠しているかどうかにかかっています。急速に進化するソフトウェアとライセンスの分野で最新の情報を入手することは困難であり、ライセンスの多様性と、その契約条件が異なる可能性があることでさらに困難になっています。このホワイト ペーパーでは、これらの課題と、コンプライアンスを効果的に実装するための戦略について詳しく説明します。コンプライアンスは、組織が関連するリスクを軽減し、オープンソースへの参加から継続的に利益を得るためのツールとして機能します。包括的なソフトウェア構成分析ツールから適切な開発文化の促進まで、これらの課題に効果的に対処する方法については、完全なレポートをご覧ください。 著者: Ibrahim H
プログラミング言語AWKが好きなので、この言語のどこが好きかを語ります。主にAWKを知らない、知ってるけど使ったことが無いかた向けの記事ですが、使ったことがあるかたも「こういう思いで使ってる人がいるのか」と遠巻きに眺めてもらえればと考えます。また、後半で最近出たAWKの書籍についても紹介しているので、そちらも役立つかもしれません。 AWKとは AWKは1977年にAT&Tベル研究所で生まれたプログラミング言語です。AT&Tベル研究所といえばUNIXが生まれたところです。著者もUNIXに縁が深い、この世界のレジェンドばかりです。たとえばKernighan先生はプログラミング言語Cをはじめ、たくさんの書籍の著者として有名です。なんだか強そうな言語ではないかという気がしてきました。 AWKは汎用プログラミング言語ですが、「1行1レコードになっているテキストファイルを最小の手間で処理するワンライナ
Microsoftは2024年8月14日に、セキュリティ更新プログラムやバグ修正が配信されるWindows Updateを行いました。このアップデートによりWindowsとLinuxの両方を実行するように構成されたデバイスが起動できなくなっていることが報告されています。 Microsoft breaks some Linux dual-boots in a recent Windows update | GamingOnLinux https://www.gamingonlinux.com/2024/08/microsoft-breaks-some-linux-dual-boots-in-a-recent-windows-update/ An update made to fix a vulnerability broke dual-boot Windows-Linux PCs - Neo
Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部 2024-08-15 07:45 筆者は何十年も前から「Linux」を使っている。GUIが全面的に改善され、コマンドを全く実行しなくても済むようになったにもかかわらず、タスクを迅速に処理したいときは、今でもターミナルとコマンドラインインターフェース(CLI)に頼ることが多い。 ただし、誰もがコマンドラインに精通しているわけではない。威圧感を覚える人もいるだろう。 だが、そうした状況を甘んじて受け入れる必要はない。AIのおかげで、実践しながら学習することを可能にするアプリケーションが新たに登場しているからだ。「AI Shell」もそうしたアプリの1つだ。このアプリケーションについて詳しく説明する前に、1つ注意事項がある。AI ShellはOpenAIに依存するため、無料ではない。このアプリを使用するには
Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2024-08-15 08:13 誰もが知るように、一部の「Windows 10」PCはまだ十分に使えるのに「Windows 11」にアップグレードすることができない。しかし、これはご存じだろうか。Canalys Insightsは、MicrosoftによるWindows 10のサポートが米国時間2025年10月14日に終了した後、Windows 11にアップグレードできないことが原因で廃棄される運命にあるWindows 10 PCの数を2億4000万台と見積もっている。これほど大量のPCが捨てられるとは驚きだ。 実際には、もっとひどくなる可能性がある。IT資産管理会社のLansweeperによると、エンタープライズワークステーションの40%がアップグレード
「Linuxカーネル2.6解読室」(以降、旧版)出版後、Linuxには多くの機能が追加され、エンタープライズ領域をはじめとする様々な場所で使われるようになりました。 それに伴いコードが肥大かつ複雑化し、多くのエンジニアにとって解読不能なブラックボックスとなっています。 世界中のトップエンジニア達の傑作であるLinuxカーネルにメスを入れ、ブラックボックスをこじ開けて、時に好奇心の赴くままにカーネルの世界を解読する「新Linuxカーネル解読室」プロジェクト。 本稿では、旧版第21章で解説されていたソケットインターフェースについて、カーネルv6.8のコードをベースに主にデータ構造を中心に解説します。(前回の続きになります。) はじめに 1. socket構造体とsock構造体の生成 1.1. socket構造体の生成 1.2. プロトコル依存部の処理 1.2.1 プロトコル依存部分のデータ構築
eBPF Foundation & LF Research eBPFの現状 (日本語版を公開) eBPF Foundation は LF Research 社と協力し、eBPF 技術の進化とオープンソース エコシステムへの影響を調査しました。このレポートでは、主要な eBPF メンテナーやコントリビューターへのインタビュー、および公開されているリポジトリから得た洞察をもとに、eBPF の歴史、eBPFが Linux コミュニティに与えた影響、そしてeBPFが今日どのように利用されているかについて説明しています。また、eBPFの主要なユースケース、課題、将来的な可能性についても紹介しています。 読者は、eBPF が提供するものを最大限に活用する方法、およびプロジェクトに参加してその成長と継続的な改善をサポートする方法を学ぶことができます。この技術の歴史、影響、および将来に関する完全な分析につ
このマシンで最終的に Windows と Ubuntu Desktop が使えるように環境構築することを目指します。zenn.dev を購読している人のレベルを考えると、画面キャプチャはそれほど必要がないと考えているため少なめです。また、説明についても明示しないとわかりにくいと思われるものに絞っているので少なめです。 ここでは Linux のディストリビューションのひとつである Ubuntu をインストールしてみましょう。Linux のディストリビューションにはいくつかありますが、WSL でも使ってきた Ubuntu はデスクトップ版があって、日本でも人気があります。そのため、有志が用意した日本語版も提供されていて、情報が入手しやすく、初心者にもお勧めです。 ミニ PC のマシンへ OS の Ubuntu をインストールする手順については、基本的には次のようになります。 OS をインストー
中国M5Stack Technologyの「M5Stack」といえば、中国Espressif Systemsのマイコン「ESP32」を採用したWi-Fi、Bluetooth内蔵のLCD付きマイコン開発キットというイメージを持つのではないだろうか。2024年4月にEspressif SystemsがM5Stack Technologyの株式の過半数を取得し、傘下に収めた。これにより両社の関係はより強固になったといえる。 M5Stack TechnologyはLinuxが動作するSBC(シングルボードコンピューター)も販売している。2023年には「Raspberry Pi CM4」を搭載した開発ボード「M5Stack CM4Stack」の販売を開始して話題となった。 そして2024年5月には「M5Stack CoreMP135」(以下、CoreMP135)というSBCを新たに発売した。筆者もC
前回は、カーネルのお話から一度離れて、LinuxContainersプロジェクトから発表されたIncusというプロダクトを紹介しました。 少し間が空いてしまいましたが、今回からはまたLinuxカーネルの機能紹介に戻りましょう。第53回、第54回で紹介したCPUコントローラの話に続いて、メモリコントローラのお話をします。 メモリコントローラについては、以前、第5回で簡単に説明しています。このときの説明はcgroup v1のメモリコントローラを説明しました。今回は、cgroup v2のメモリコントローラを紹介します。 メモリ回収処理とメモリ負荷 コントローラを説明する前に、メモリコントローラを説明する前提となる、メモリの回収処理とメモリ負荷について簡単に紹介します。さらに詳しい情報については、Linuxカーネルの解説文書などをご参照ください[1]。 OS実行中には、色々とメモリを使う要素が存在
Picus Securityは2024年7月30日(現地時間)、年次セキュリティレポートの最新版「Picus Blue Report 2024」を公開した。 このレポートは、サイバー攻撃に対する脆弱(ぜいじゃく)性や防御策に関する詳細な分析が実施されている。特に「macOS」におけるセキュリティ防御率は「Windows」や「Linux」に比べて大幅に劣ることも明らかになっている。 macOSとWindows、Linuxのセキュリティ防御率には大きな格差がある Picus Blue Report 2024における主なポイントは以下の通りだ。 テストしたIT環境の40%にドメイン管理者アクセスにつながる脆弱性があることが判明している 防御の予防効果が2023年の59%から2024年には69%に向上している 攻撃の検出効果は逆に低下し、アラートスコアは16%から12%に減少している macOSエ
Linux Foundation Japanは、Linux Foundation ResearchがLF AI & Data Foundationと協力して作成したホワイトペーパー「Open Source License Compliance」の日本語版「オープンソース ライセンス コンプライアンス」を、8月7日に公開した。 同ホワイトペーパーでは、オープンソースソフトウェアの広範な採用にあたって発生する、急速に進化するソフトウェアとライセンスの分野における最新情報の入手の困難さや、ライセンスの多様性とその契約条件が異なる可能性があるといった課題と、コンプライアンスを効果的に実装するための戦略について、詳細に説明している。 同ホワイトペーパーを通じて、包括的なソフトウェア構成分析ツールから、適切な開発文化の促進まで、これらの課題への対処方法などを知ることができる。
マイクロソフト製の最新Linuxディストリビューション「Azure Linux 3.0」正式リリース。Azureに最適化され、Kernel 6.6を採用 マイクロソフト製のLinuxディストリビューションである「Azure Linux」の最新版となる「Azure Linux 3.0」が正式リリースされました。 Azure Linuxはマイクロソフトが提供しているサービス、MinecraftやAzure Kubernetes Service(AKS)、Azure Operator Nexus、Xbox、HDInsight, Microsoft Threat Protectionなどの基盤OSとしてマイクロソフト社内で作られていた、セキュリティを重視しMicrosoft Azureに最適化された同社独自のLinuxディストリビューションです。 3月に公開されたブログ「What’s new in
Simple, Immutable, Reproducible SnowflakeOS is a NixOS based Linux distribution focused on beginner friendliness and ease of use.
本記事の要点 「SDesk」は無料で提供されており、必要な台数のコンピューターにインストールできる。 高速で信頼性の高い「Linux」ディストリビューションで、誰もがすぐに使いこなせるユーザーインターフェースを搭載。 セットアップ中に小さな問題がいくつか発生したが、簡単に解決できた。 筆者は通常、初心者には「Arch」ベースの「Linux」ディストリビューションを薦めないが、その認識を改めたくなるものに出会うことが時々ある。その1つが、先頃発見した「SDesk」というArchベースLinuxディストリビューションだ。SDeskの用途は、この上なくはっきりしている。 まず、SDeskは非常に単純明快であり、増加の一途をたどるLinuxディストリビューションの中で独自性を打ち出せるような機能はあまりない。それが良い方向に働くこともある。筆者はSDeskをインストールしてログインした後に何を期待
Linuxは現在、多くの分野で利用されている。その心臓部が「カーネル」だ。Linuxを使いこなすのに必要なカーネルの知識を解説する。 Linuxカーネルを学習する動機や意義は人によってさまざまでしょう。 しかし、自動車のエンジンやトランスミッションの仕組みを理解することで、より効率的な運転が可能になるように、OSの中核部品であるカーネルの動作を理解すれば、アプリケーションやシステム全体を効率的に稼働できるようになるといえます(図3上)。例えば、ある周辺機器を動かすのに必要なデバイスドライバにカーネル空間で動作するものとユーザー空間で動作するものの二つがあった場合、基本的には前者の方が処理は高速です。なぜ高速なのかという理屈を知っておけば、適切なデバイスドライバを選択できます。
さまざまなLinuxディストリビューションの世界 「Windows」「Mac」からの乗り換えを考えているなら--使いやすさを追及した「GeckoLinux」 本記事の要点 「GeckoLinux」は必要な台数のコンピューターに無料でインストールすることができる。 使用開始に必要なものがすべてプリインストールされており、デスクトップの選択肢が複数用意されている。 GeckoLinux向けのもっとユーザーフレンドリーなアプリストアがあればよかった。 「openSUSE」は、筆者が初心者には薦めない「Linux」ディストリビューションだ。その主な理由は「Yet Another Setup Tool」(YaST)にある。ひとまず、YaSTは極めて強力だと言っておこう。簡単に説明すると、YaSTが管理者向けであるのに対し、従来のシステム設定アプリはユーザー向けだ。 それが「GeckoLinux」と何
Valveが手がけるオペレーティングシステムSteamOSについて、同社は他社のPCデバイスにも正式に提供する方針を掲げているが、現時点ではまだ実現していない。ただ開発は今も進められており、最近になってASUSのROG Ally向けの進捗が確認された。海外メディアThe Vergeが報じている。 SteamOSは、Linuxベースのオペレーティングシステムだ。Valveの携帯型ゲーミングPCであるSteam Deckに標準採用されていることで知られる。Steam向けゲームのプレイに特化したOSであり、基本的なUIはSteamのBig Pictureモードと共通。Steam Deckにおいては、Steamのライブラリやストア、各種設定に簡単にアクセスできるほか、互換レイヤーのProtonを介して対応するWindows向けゲームもプレイ可能となっている。 Steam Deck向けに提供されてい
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く