とりとめない話ですが、今どきのLinuxのパッケージングの種類とSteamDeckから一気に改善されたDirectX 周りの話です。社内の勉強会で共有した資料
こんにちは、カナダに来て1年弱ですが、いまだに"how are you?"にアイムファインセンキューと返してしまう全然英語が上達してない聖賢です。 インフラエンジニアならみんな大好きtopコマンド、おそらくビヨンドの中ではサーバ運用の中で最初に覚えるコマンドじゃないでしょうか。 実は結構奥が深いコマンドでいろんなことができるので、これまでドヤ顔で「こんなこともできるんやで」と上司の威厳、、、もとい先輩としての経験を後進に伝えていたのですが私も最近になって初めて知った超便利な使い方を紹介したいと思います。 ちょっと長いですがお付き合いください。 普通にtopコマンドを実行すると以下のような画面が表示されます 結構これだけでもサーバ運用には重要な情報が詰まっているのですが、topコマンドの見方などは他でも色々と紹介されていると思うので今回は割愛します 今回はこのtopコマンドの表示を最終的にこ
はじめに curl とは対話シェルやシェルスクリプトから HTTP 通信を行うのによく使われるコマンドです。あらゆる環境(100 種類の OS)で動作し、macOS や Windows には標準でインストールされています。商用サポートもあり、互換性は非常に重視され、何年経っても同じ書き方で動きます。非常に長く使われており(1998 年生まれの 27 歳1)、そして古い情報もたくさんあります。この記事ではそういった古い情報を、より簡単で新しい curl コマンドの使い方にアップデートします。最初に結論を書いておくと、 もう -X POST -H "Content-Type: applicatoin/json" なんて書かなくていいですよ。 (記事を読まない人のためのリンク) この記事を書くにあたって以下の記事を参考にしています。この記事が書かれたのは 2015 年、現在はそれから 10 年後
はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている
この時代において cron は、軽量・シンプル・依存関係なしという 非常に優れた設計でした。 cron の「通知」はログではなくメール cron は「ログを溜める」より「異常を通知する」発想でした。典型的には stdout/stderr をメールで送るのが当時の設計です。 2. crontab の何が問題だったか? cron は長年使われてきましたが、現代のサーバ運用では次の問題が顕在化しました。 問題① 実行されたか分からない(状態がない) cron には「実行履歴」という概念がありません。 成功したか? 実行されたか? 何秒かかったか? これらを OS 側で追跡しません。 問題② ログが自動で残らない(可観測性が低い) cron は標準でログを「保存」しません。 そのため実務ではよく次のようになります。 出力先は人力 ローテーションも自前 失敗検知も自作 運用が属人化しやすいのが問題で
この記事は、本番環境などでやらかしちゃった人 Advent Calendar 2023 の4日目です。年末進行、いかがお過ごしでしょうか?みなさま無事に仕事が納まることを願っております… 新人インフラエンジニアが、本番ウェブサーバー60台のホスト名を全部 cat にしてしまった話について、ここに供養させていただきたいと思います 背景 おそらく今から7年くらい前、インフラエンジニアとして転職してきて1年ほどが経ち、本番環境での作業もこなれてきたなというバッチリのタイミングで事を起こしてしまいました。サーバーは CentOS 6 だったと思います。 職場としてはまだまだベンチャー感にあふれ大きな裁量が与えられスピード感のある環境ながら、サービスの登録ユーザー数は1,000万を超え、本番環境の規模としては既になかなかの大きさがあり、ウェブサーバーだけでも60台くらいあったと思います。ひと山につき
はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、本当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?
めちゃくちゃ良い記事でした。 「OSS は使っていることを公言するだけでも貢献になる」と songmu さんが言っていたので、私も貢献したいと思います。 僕も貢献したいのでよく使うコマンドラインツールを紹介していきます。 特定のプログラミング言語等に依存するツールは省いています。 actionlint - GitHub Actions の Workflow ファイルの静的解析 GitHub Actions の Workflow ファイルの静的解析ツールです。 かなり精度が高く、色々な設定ミスを検知してくれます。 エラーメッセージも見やすくて助かります。 aicommits - コミットメッセージを自動生成 変更内容を元に自動でコミットメッセージを AI が生成してくれるツールです。 コミットをする前にちゃんと確認してくれるのも安心感があって良いです。 cLive - ターミナル操作を自動化
[速報]マイクロソフト、「Windows 365 Boot」発表。起動するとクラウドPCが即利用可能、「Windows 365 Offline」によりオフラインでも利用可能に マイクロソフトは日本時間4月6日未明にオンラインイベント「Windows Powers the Future of Hybrid Work」を開催。オフィスでのローカルワーク、自宅でのリモートワークなどを組み合わせたハイブリッドな働き方を支援する新しい製品群を発表しました。 「Windows 365 Boot」を始めとする4つの製品です。 マイクロソフトは昨年2021年7月、デスクトップ仮想化の技術を用いてクラウド上の仮想マシンからWindows環境をリモート配信する「Windows 365 クラウドPC」(以下、クラウドPC)を発表しています。 参考:[速報]マイクロソフト「Windows 365 Cloud PC
UnixPornとは? 「UnixPorn」というワードを見かけた事はありますか? もし、初耳だという方は「UnixPorn」をgoogleで画像検索してみましょう。 大雑っぱに言えば、「UnixPorn」とは、 PC-UNIXのカスタマイズされたデスクトップスクリーンショットのことや、 そのスクリーンショットが沢山投稿されているredditの板のことを指しています。 r/unixporn Submit screenshots of all your *NIX desktops, themes, and nifty configurations, or submit anything else that will make ricers happy. https://www.reddit.com/ そして、「UnixPorn」は、このちょっといかがわしげなPornという文字と、 ダークでハ
Red Hatの森若です。 自分でsystemdのservice unitを作るときに、起動用のいくつかのコマンドを記述したシェルスクリプトを呼ぶ事は(理想的ではないですが)あるかと思います。 今回はこの場合に、sudoを利用するとまずい理由を説明して、かわりにsetprivを使うほうがよいという話です。 例題用のservice 実行してみる 別のcgroupだと何がまずいのか? 対策はsetprivコマンド 例題用のservice sudoによるまずい動作を確認するためのできるだけ単純な例として、hoge.service を用意します。 /opt/hoge/hoge.sh #!/bin/bash sudo -u moriwaka sleep 5000 /etc/systemd/system/hoge.service [Unit] Description=hoge [Service] Ty
こんにちは、AWS版kintoneのDevOpsエンジニアをしている@ueokandeです。 AWS版kintoneは2019年9月のローンチから現在まで、幾度となく機能改善をしてきました。 ローンチ当時よりも利用者が増え、スケーラビリティのために内部設計を大きく変更することもあります。 先日公開したメール送信の設計変更もその1つです。 blog.cybozu.io 安定運用のために必要なリリースではありますが、実装を大きく変えることで不具合混入のリスクもあります。 それだけではなく、パフォーマンス改善のつもりが、本番環境に投入して逆にパフォーマンス低下が発覚するというケースもあります。 この記事では、大きな変更を安全にリリースするためのTipsを紹介します。 記事の最後ではSpring Bootの実装例と、Kubernetesでの実現方法も紹介します。 切り戻し戦略 大きな変更を安全にリ
Lorca+SvelteKitでやってみる! https://github.com/zserge/lorca https://github.com/sveltejs/kit あらかじめ必要なもの go(version 1.17.2以降) nodejs(16.9.0以降),npm(7.21.1以降) Chrome/Chromium/Edgeのいずれか プロジェクトの開始 mkdir sample-gui cd sample-gui go mod init sample-gui npm init svelte@next frontend // Choice "Svelte app template" is "Skelton Project". // Choice "Use TypeScript" is No. // Choice "ESLint" is No. // Choice "Prett
スタンドアロンのWebAssemblyランタイム「Wasmer」の最新版「Wasmer 3.0」が正式リリースされました。 Announcing Wasmer 3.0https://t.co/Nay8Po9FXk — Wasmer (@wasmerio) November 23, 2022 Wasmerはオープンソースで開発されているWebAssemblyランタイムです。 WebAssemblyの動向を調査しているThe State of WebAssembly 2022によると、WasmerはWebAssemblyランタイムとして事実上の参照実装であるWasmtimeに続いて2番目に人気のあるランタイムとなっています。 参考:WebAssemblyアプリ開発ではRustが一番人気、用途ではサーバレスが急上昇、ランタイムはWasmtime。The State of WebAssembly
はじめに この記事ではLinuxの新しいsandbox機構であるLandlockのサンプルの使い方を概説します。 詳細で正確な情報は公式のページ https://landlock.io/ やLinux kernelのソースコード中にありますので、必要な場合はそちらを参照してください。 サンドボックスが欲しいわけ 一般的なLinuxディストリビューションとスマートフォンOSの両方を使い、それぞれで様々なアプリを使っている方は大きな違いに気付くと思いますが、前者はユーザーのデータはホームディレクトリと呼ばれる共通のディレクトリに格納され、他のアプリのためのデータを自由に参照できます。それに対し、スマートフォンの場合は各アプリが独自のデータ領域を持ち、他のアプリのデータを参照するには手間のかかるプログラミングとユーザーの同意が必要になります(バイパスできてしまう場合は脆弱性とみなされます)。 L
米AT&TのセキュリティラボAlien Labsは9月6日(現地時間)、Linux搭載のサーバやIoTを標的とする新たなマルウェア「Shikitega」を発見したと発表した。脆弱性を悪用して権限を昇格させ、感染した端末で暗号資産マイニングを実行したり、システムを完全に制御したりする。 Shikitegaは強力なMetasploitである「Mettle」をダウンロードして実行することで、Webカメラ制御やシェルコマンドの実行など、様々な攻撃を可能にする。 攻撃のプロセスは、「Shikata Ga Nai」(仕方がない)と名付けられたポリモーフィックXOR加法的フィードバックエンコーダを使ってデコードループを実行し、最終的なシェルコードペイロードがデコードされて実行されるまで、デコードを続ける。 デコードが完了すると、シェルコードが実行されてマルウェアのサーバに接続し、追加のコマンドを受信する
Linuxカーネル内部をフックするeBPFを用いてセキュリティの可観測性を実現する「Tetragon」がオープンソースで公開 Linuxカーネルを書き換えることなくその内部の機能をフックし、フック先でサンドボックス化されたプログラムを実行することにより、カーネルをプログラマブルに機能拡張できる「eBPF」(Extended Berkeley Packet Filter)は、クラウドネイティブ関連で最も注目されている技術の1つです。 eBPFを用いたソフトウェアとしては、CNI(Container Networking Interface)を用いてコンテナ間のセキュアな接続やロードバランシングなどさまざまな機能拡張を実現する「Cilium」がCloud Native Computing Foundationのプロジェクトとしてよく知られています。 今回、そのCiliumを開発するIsoval
Last week, I built a tiny Linux system from scratch, and booted it on my laptop! Here’s what it looked like: Let me tell you how I got there. I wanted to learn more about how the Linux kernel works, and what’s involved in booting it. So I set myself the goal to cobble together the bare neccessities required to boot into a working shell. In the end, I had a tiny Linux system with a size of 2.5 MB,
*: Ubuntu の再起動が必要となる設定です。 **: "言語" に日本語を指定して Ubuntu をインストールした場合のみ有効な設定です。 1. ソフトウェアのダウンロード元を変更してシステムをアップデートする (*) Super キー(= Windows キー)を押して、update と入力し、「ソフトウェアの更新」を選択します。 「設定...」ボタンを押して、「Ubuntu のソフトウェア」タブの「ダウンロード元:」から ftp.jaist.ac.jp などの国内ミラーサーバーを選択します。 アップデートが存在する場合は、表示されるウィンドウの指示にしたがってパッケージを更新し、Ubuntu を再起動します。 2. キーボードの CapsLock キーを Control へ置き換える /etc/default/keyboard を編集します。
Ubuntuは、標準のブートローダーとしてGRUBを採用しています。ほとんどの利用者は、インストール時に自動設定されるGRUBをそのまま利用し続けていることでしょう。今回は初心者向けに、このGRUBがどう動いているのか、そしてどのように設定可能なのかを紹介します。 図1 Ubuntuインストール時の無骨なGRUB セキュアブート時代のGRUB GNU GRUB(GRand Unified Bootloader)は、言わずとしれたLinuxをはじめとする各種OSを起動するための「ブートローダー」です。一般的なコンピューターは電源が入ると、CPUを含む最低限のデバイスのリセットが解除され、ROM上にある小さなプログラムが実行されることによりRAM上に大きなプログラムがロードされ、さらにいくつかのデバイスのリセットが解除されて最終的に必要なプログラムが実行されるという、「ブートストラップ」な方
アメリカ合衆国の名門校であるパデュー大学でコンピューターサイエンスを学んでいる「Ersei」氏が、GoogleドライブからLinuxを起動することに成功したとブログに投稿しました。 Booting Linux off of Google Drive | Ersei 'n Stuff https://ersei.net/en/blog/fuse-root Ersei氏は競争心が強く、友人がNetwork File System(NFS)からLinuxを起動するのに成功したと聞いた時「もっと難しくて、もっと良くて、もっと速くて、もっと強いものを作れると証明しなければ」と考えたとのこと。さまざまなアイデアを検討した結果、「GoogleドライブからLinuxを起動する」というプロジェクトにチャレンジすることに決めました。 Linuxの起動時には次の処理が行われています。 1:UEFIかBIOSが起
新大学生のPCは何を選んだらいいの? Macじゃダメなの? 記者たちがいっしょに考えてみた:ヤマーとマツの、ねえこれ知ってる?(1/4 ページ) 経歴だけは長いベテラン記者・編集者の松尾(マツ)と、幾つものテック系編集部を渡り歩いてきた山川(ヤマー)が、ネット用語、テクノロジー用語で知らないことをお互い聞きあったり調べたりしながら成長していくコーナー。交代で執筆します。 今回は編集部Slack内の雑談スレで、キーチ副編集長の問いかけから……。 キーチ ここ数日(というかこの季節になると毎年ですけど)「大学生PCはWindowsかMacか」が話題になってますね。 ヤマー 「WindowsとかMacとか不自由なOSは選ぶな」という過激なツイートをどこかで見かけましたけど、話題の震源地が分かりませんな。 キーチ 明確な震源地はなくて、だいたい季節性のものじゃないかなと思ってますが、こんなのもあり
この記事は言語実装のカレンダー | Advent Calendar 2021 - Qiita https://qiita.com/advent-calendar/2021/lang_dev の4日目の記事です。 はじめに 昔、アセンブリ言語のみから出発し、GC・継続・オブジェクトシステムなどを持つ比較的高級な言語までブートストラップするということをやりました。いつか再挑戦してみたいと思っていて、正月休みにやりましたら思いのほか動くものになりましたが、死蔵させたまま1年経ってしまいました。勿体無いのでこの機会に紹介して供養します。 前回作ったAmberという処理系はこちら リポジトリ: https://github.com/nineties/amber 今回はアセンブリ言語じゃなく ELFファイルの手書き から出発してみたいと思います。ただのお遊びで、そんなことしても役には立ちません。が、計
はじめに こんにちは。ソフトウェアエンジニアの生産効率は、高性能なマシンや質の良いキーボード、さらには日々の運動や栄養バランスの取れた食事などに支えられていますが、中でもポータブルな設定ファイル集である dotfiles にはそれぞれのエンジニアが持つ計算機環境へのこだわりが凝縮されているのではないでしょうか。 この記事では、まず dotfiles とそれを取り巻くシステムの変遷について説明して、その後に今年2025年に筆者が整備した config(dotfiles、Terraform、Kubernetes 設定のモノレポ)について紹介します。 ドットファイルとは、ファイル名が.で始まるファイルのことを指します。 多くのシステムでは隠しファイルに設定されていることが多く、ソフトウェアやOS等の設定ファイルは一般的なユーザから目につかないようにドットファイルとして作成されます。 たとえば、以
Spring Boot 2系のOSS版サポート終了を、モダンなアプリ開発環境を手に入れる“絶好のチャンス”とするための選択肢とは:「最高の開発者体験」の実現に向けて JavaとSpring Bootの進化は止まらない。Spring Boot 2系のOSS版サポート終了を、モダンなアプリケーション開発・運用を加速する“絶好のチャンス”として生かすにはどうすればよいのか。その決断をするのは今だ。 人気開発フレームワークのOSS版サポートが終了、その後はどうする? Javaアプリケーションの開発フレームワークである「Spring Boot」の2.7.x(2系の最終マイナーバージョン)が、2023年11月24日にOSS(オープンソースソフトウェア)版サポートを終了する。ユーザーは、3.1.xあるいは(2023年11月23日リリース予定の)3.2.xにバージョンアップするか、商用サポートサービス「V
WindowsあるいはLinuxを実行するデバイスの起動に関わるUEFIに発見された24個の脆弱(ぜいじゃく)性を攻撃するエクスプロイト「LogoFAIL」を、セキュリティ企業のBinarlyが発表しました。 Finding LogoFAIL: The Dangers of Image Parsing During System Boot | Binarly – AI -Powered Firmware Supply Chain Security Platform https://binarly.io/posts/finding_logofail_the_dangers_of_image_parsing_during_system_boot/index.html Just about every Windows and Linux device vulnerable to new Logo
「今年は『Linux』デスクトップの年になる」と最初に予言したのは、筆者ではない。確かに、筆者はその予言を心から信じてきたが、最初にその予言をした人物として賞賛されるべき(あるいは、非難されるべき)なのは、Linuxカーネルの開発者であり、VerizonのOpen Source Program Office(OSPO)のシニアディレクターも務めるDirk Hohndel氏である。 Hohndel氏は、「『今年はLinuxデスクトップの年になる』と最初に予言したのは1999年のことだった」と告白している。「予言は難しい」と同氏は皮肉っぽい口調で続けた。「未来についての予言は特にそうだ。『今年はLinuxデスクトップの年になる』ではなく、『今から15年後にクライアントコンピューティングはほとんどLinuxになる』という予言をしておけばよかった。それはすでに現実になっているからだ」 筆者が過去に
今年もAdvent Calendarの時期が来ました。Raspberry Pi AC 2025の1日目です。 adventar.org 今年で11回目になりました。うっかり惰性で作りましたが、今回は多忙で無理そうなので、完走はたぶん無理ですな。 今年Raspberry Piでやったこと、Picoで作ったもの、来年やりたいことなど、お気軽にご参加ください。 Raspberry Pi OSにcloud-initとNetplan.ioがやってきた いきなり時事ネタを拾うだけの記事なんですけど、いいネタなので。先週Raspberry Pi OS Trixieにアップデートがあり、cloud-initとNetplan.ioが含まれるようになりました。 www.raspberrypi.com cloud-init cloud-initは、初回起動時のOSに対して初期設定を行うためのツールです。YAML
AI・機械学習チームの北川(@kitagry)です。 最近Neovimの設定ファイルをinit.vimからinit.luaに移動させました。 Lua化したからには何かそれっぽいことをしたいなと思い、機械学習しつつ何かアプリケーションっぽいものを作成することにしました。 タイトルは以下の本のオマージュです。 神本なので、おすすめです。 www.kadokawa.co.jp Neovimで機械学習をする環境を用意する NeovimからLuaファイルを呼び出す仕組み torchをインストールする Neovimでmnistを学習する Neovimで文字を書く 手動のスピードで入力する まとめ おまけ We are hiring!! Neovimで機械学習をする環境を用意する まずはじめにNeovimで機械学習を扱う仕組みを用意する必要があります。 今回はLuaのライブラリであるtorchを利用しま
年明けはまず環境整備から、ということで今年は mise を導入することにした。 去年まで rtx とか rtx-cli という名前でやってた Rust 実装の asdf 代替の多用途バージョン管理ツール。この年明けに急に mise にリネームしたよ、というニュースが流れてきて、気になって見てみたら良さそうだった。 一般的な解説は "rtx" でググると日本語記事も出てくるのでそっちを見て欲しいけど、個人的な asdf に対するメリットはこのあたり。 とにかく速い asdf は Node の最新バージョンの反映が node-build 依存で、更新が数日遅れることがあった 結果的に手動で定義ファイルを更新していたが、処理速度も遅く面倒だった 参考: asdf で node-build の定義ファイルを手動更新する asdf はコマンド体系が謎だった(自分には) 例えば v20 系の最新をイン
AlmaLinux Elections start Aug 31st - More information , and Say Hello to AlmaLinux 9.6 and to AlmaLinux 10.0! Hello Community! The AlmaLinux OS Foundation is proud to announce general availability of AlmaLinux OS 9.0. AlmaLinux 9 supports the following 4 architectures providing full parity with upstream: Intel/AMD (x86_64)ARM64 (aarch64)IBM PowerPC (ppc64le)IBM Z (s390x) ISOs, Live Images, Cloud a
Bu yazıyı Türkçe oku.|Read the post in Turkish. This post tells about my journey of fast-booting a Raspberry Pi 3 (RPI). In addition to that, some optimizations are discussed that can be applied to a Qt (QML) application. In the end, we will have a RPI that boots from power-up to Linux shell in 1.75 seconds, power-up to Qt (QML) application in 2.82 seconds. Edit : There are requests for a demo ima
Rocky Linux リリース状況 本投稿は、さくらインターネットアドベントカレンダー2022の4日目の投稿です。5日目は@naominix@github さんの記事です、楽しみですね。 さて、私からは先日オープンソースカンファレンス2022/Onlineで発表した「忙しい人のための Rocky Linux 入門」を、現状にあわせてご紹介します。 Rocky Linux とは? Rocky Linux(ロッキーリナックス)は CentOS Linux の後継を目指す Linux ディストリビューションの1つです。公式サイト https://rockylinux.org の説明では「Rocky Linux is an open-source enterprise operating system designated to be 100% bug-for-bug compatible wi
はじめに 環境の用意 環境の説明 ソフトウェアでの準備 ハードウェアでの準備 コードを書く test.ld (リンカスクリプト) start.S (ARM64アセンブリ) main.c (C言語プログラム) コンパイル 動かしてみる 最後に 執筆者 : 金沢工業大学 工学部 情報工学科 橘 真吾 (インターン生) 監修者:高橋 浩和 ※ 「ARM64 OSを作ろう」連載記事一覧はこちら ※ 「ARM64 OS」のコードはGitHubにて公開しています。 はじめに ARMはRISC系CPU(固定長命令)を代表する、最も広く普及した命令セットの一つです。 主にモバイル端末やマイコン分野でも利用されてきましたが、近年ではApple社のMシリーズに代表されるPC向けのプロセッサーのアーキテクチャとしても存在感を高めています。 このオペレーティングシステムは「RISC-V OSを作ろう」シリーズの流
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く