2038年問題検出ツールの紹介
crosvmがどういうアーキテクチャでChromiumでどのように使われていて、普通のVMMと何が違っているか Firecrackerはcrosvmから着想を得ているが、どのような違いがあり、どのような要件から実装に至り、AWSの中でどのように使われているか を調べると師匠に寿司を奢ってもらえるので調べる 追記 まとめました Book of crosvm を読む。 Introduction hosted VMM (Hyper Visor の下にホストOSがあるタイプ) QEMU-KVM や Virtual Box と同じ Rustで書かれている Runtime Sandbox システム が特徴 仮想デバイスは minijail サンドボックス の中で動き、隔離されている syscall security policy に基づき、侵害されたデバイスが不必要なシステムコールを行うことを防ぐ 動
はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2
2020-03-31 論文紹介:Firecracker: Lightweight Virtualization for Serverless Applications 元論文:https://www.usenix.org/conference/nsdi20/presentation/agache 2018年末、AWS Lambdaを提供するためのシステムとしてFirecrackerという仮想マシンモニター(VMM)がオープンソースとして公開されて注目を集めました。 この論文は、その中身を解説・評価する論文です。 論文概要 タイトル:Firecracker: Lightweight Virtualization for Serverless Applications 著者: Alexandru Agache, Marc Brooker et al. 会議:17th USENIX Sympos
『Macで日本語ファイルをgitにコミットするのやめて><』とりあずMacとLinuxで互換性のない日本語ファイルを探すスクリプト書いたPythonPHPMacGitUnicode 最近携わっているPHPのプロジェクトでは、プログラムを日本語で書いています。クラス名・変数名はもちろんファイル名も日本語です。(なぜ日本語で書くことにしたのか、そこらへんのモチベーションについては別記事にまとめたい) このプロジェクトは開発環境がMac、プロダクション環境がLinuxなのですが、日本語ファイル名のPHPがオートロードされないなどの問題が発生しました。しらべたところ、MacのファイルシステムとLinuxのファイルシステムでUnicodeの規格が違うのが原因でした。詳しくは、「紹介マニアどらふと版: Mac OS X におけるファイル名に関するメモ(NFC, NFD等)」の記事が参考になります。 簡
Linuxの生みの親であるLinus Torvalds氏は、ここしばらく表舞台に顔を見せていなかった。しかし、Linux Foundationのが開催したOpen Source Summit Japanでは、久々に多くの聴衆がいる場に姿を見せ、同氏の友人であり、Verizonのオープンソース責任者を務めるDirk Hohndel氏を相手に対談を行い、Linuxの現状について語った。 2人はまず、次のLinuxカーネルリリースである「Linux 6.7」について話した。Torvalds氏は、日本に向かう直前に、Linux 6.7の4番目のリリース候補版をリリースしたところだった。順調に行けば、クリスマス頃にLinuxカーネルの次のバージョンがリリースされても不思議ではないペースだ。 このようなスケジュールになったのは、Torvalds氏が「マージウィンドウをクリスマスの時期に持ってきて、クリ
Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte
Warning: This document is old & has moved. Please update any links: https://chromium.googlesource.com/chromiumos/docs/+/HEAD/constants/syscalls.md These are the system call numbers (NR) and their corresponding symbolic names. These vary significantly across architectures/ABIs, both in mappings and in actual name. This is a quick reference for people debugging things (e.g. seccomp failures). For mo
Linux Foundationは、edXプラットフォームを通じて、オープンソースやその他のソフトウェアの安全な使用・開発についての無料オンラインコース「セキュア ソフトウェア開発」を提供している。今回発表されたのは、第2部の「セキュア ソフトウェア開発:実装(LFD105-JPx)」。 本トレーニングは3部から構成されており、6月から第1部「セキュア ソフトウェア開発:要件、設計、再利用(LFD104-JPx)」が提供されていた。 同トレーニングの対象は、ソフトウェア開発者、DevOpsプロフェッショナル、ソフトウェアエンジニア、Webアプリケーション開発者、および安全なソフトウェアの開発方法の学習に関心のある人々。限られたリソースで、情報セキュリティを向上させるための実践的な手順に焦点を当てている。攻撃に強いソフトウェアを開発するためのセキュリティの基本、脆弱性が悪用された場合の実践的
2023-04-25 逆引きUNIXコマンド 逆引きUNIXコマンド/ターミナルで動作するビジュアルなストレージ使用容量確認コマンド 2022-12-12 Ubuntu/GUI操作のWakeOnLAN・gWakeOnLan Ubuntu 2022-12-05 Ubuntu/Ubuntu22.04でデスクトップのアイコンのサイズを変更する手順 2022-08-25 Xubuntu/画面が勝手にオフされる場合の対処方法 2022-08-11 Xubuntu 2022-07-26 Linux環境設定/Windowsネットワークの名前解決と共有フォルダアクセス方法 2022-07-25 Xubuntu/Thunarでssh(sftp)接続しファイルブラウズする手順 2022-07-20 ソフトウェア/デスクトップ/Plankの設定画面を表示する ソフトウェア/デスクトップ ソフトウェア 2022-
はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyやPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「
Linux Advent Calender 2018の18日目です。 元々の予定はボツになった!?ので ちょっと古い話になります。 7日目のsystemd理解のヒント - systemdの概念と歴史と相反するような記事です。 古い情報も必要としている組込もんもいるので、その助けとなりましたら幸いです。 initとは PID=1として、カーネルの初期化が終わって初めて生成されるプロセスです。 ユーザランドで必要なファイルシステムのマウント・システム設定・サービス(デーモン)やプロセス起動を行います。 kernel parameterに init=でinitコマンドを指定することができます。省略すると /sbin/initなどが参照されます。 init=/etc/preinit ここでは 組込装置を前提として、busyboxのinitを想定します 設定ファイル initが起動すると、以下のファ
Ubuntu 16.04 LTSを使った場合のビルド方法を説明します。 必要なパッケージのインストール Terminalアプリを開き、以下を実行します。ビルドに必要なパッケージが全てインストールされますが、ビルド設定によっては不要なパッケージも大量に含まれています。(行頭の$はプロンプトを示しており、実際には入力不要です。) ※もしも、E: You must put some 'source' URIs in your sources.list というエラーが表示された場合は、/etc/apt/sources.list を編集して deb-src エントリーを有効化する必要があります。 build-dep コマンドを使わずに、パッケージを個別にインストールするには以下を実行します。
Linus、今までの行いを謝罪し一時的にカーネルメンテナーの立場を退いて人の気持ちを勉強してくると発言 完全に背景事情を調べ上げたわけではないのだが、どうもLinusが毎年参加しているLinuxカーネルの会議に、Linusがスケジュールを間違えて参加できなくなるという事態が発生した。当のLinus本人はもう20年も続いている会議だし自分がいなくてもやっていけるだろうと楽観視していたが、会議自体がLinusの都合にあわせてリスケジュールされた。 LinuxにおいてLinus Torvaldsといえば第一人者であり極めて重要な存在で、そのLinusが毎年参加している重要な会議にLinusが参加できないとあれば、その他のあらゆるコストを度外視して根回し調整を行い、Linusが参加できるようにイベント全体のリスケジュールを行うのは人間の感情から考えて当然である。しかし当のLinus本人は他人の感情
はじめに こんにちは、技術顧問のsatです。 サイボウズでは、ファイルシステムサイズ拡張時にデータベースアクセスがスローダウンするという問題に長年悩まされてきました。本記事では運用本部の藤田と深谷がこの問題を解決した流れについて報告いたします。問題を解決するために2人はLinuxカーネルを修正しました。修正は社内に閉じたものではなく、執筆当時の最新 Linuxカーネルであるv4.17にマージされています。 問題 以下の操作の後にデータベースへのアクセスが一時的にスローダウンする ブロックデバイスのサイズを拡張する 上記デバイス上にあるファイルシステムのサイズを拡張する 原因 linuxカーネルはブロックデバイスのサイズ変更(縮小および拡張)時に、当該デバイス上にあるファイルシステムのページキャッシュ(後述)を無効化する*1 解決方法 ブロックデバイスのサイズ拡張時にはページキャッシュを無効
テストのために、AWSのAmazon Linuxのインスタンスをカーネルレベルでハングアップさせたかったので、テスト用のカーネルモジュールを作ってみました。 できること カーネルのハングアップ(ping応答もできないレベル。プリエンプションをdisableにして実現) 中途半端なハングアップ(ping応答は帰るレベル。リエンプションはenable) カーネルパニック(echo c > /proc/sysrq-triggerと同じ) 使い方 カーネルモジュールのビルド コードはGitHubにあります。 github.com (1) 必要なパッケージのインストール カーネルモジュールのビルドに、gccとkernel-develが必要になります。(Amazon Linuxの場合) sudo yum -y install git gcc kernel-devel(2) ソースコードをローカルに持っ
Red Hat Enterprise Linux 7.5 がリリースされ、そのリリースノートで "Python 2 has been deprecated" とアナウンスされました。 Chapter 54. Deprecated Functionality - Red Hat Customer Portal Python 2 has been deprecated Python 2 will be replaced with Python 3 in the next Red Hat Enterprise Linux (RHEL) major release. 次のメジャーバージョンでは Python 2 が Python 3 に置き換えられるから、 RHEL 7.5 から Python 2.7 が deprecated 扱いになるということです。 Ubuntu 18.04 LTS では m
Tweet お知らせ - 2018.02.22 Linux カーネルはメモリが枯渇した際の挙動を十分に考慮しておらず、メモリの枯渇が原因でLinux システムがハングアップしてしまうことがあるという問題があります。 この問題に当社ソリューション事業部 半田 哲夫が4年半取り組み続けた結果、メモリの枯渇時にハングアップしてしまう処理の多くが修正されました。現時点までの道のりは、以下の資料/動画でご覧いただけます。 資料:https://elinux.org/images/7/73/CELFJP-Jamboree63-handa-ja.pdf(社外サイト) 動画:https://youtu.be/ZznEyf1PN0Q(社外サイト)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く