- blogs:
- cles::blog
Ubuntu が contains a file system with errors で起動しなくなった場合の対処法
ubuntu
linux 使っている Ubuntu の VM が以下のようなファイルシステムエラーを吐いて通常起動しなくなってしまったので、対処方法をメモ。
勝手にシングルユーザーモードになっているようなので、以下のように fsck による /dev/sda1 の修復をかけて無事に修復することができました。
実際にサーバのトラブルーシューティングができる練習環境 SadServers
systemmanagemant
networking
linux SadServers という実際に Linux サーバのトラブルーシューティングを体験できる演習環境を見つけたのでメモ。
実際にサーバ運用をしたことがあれば、Easy や Medium あたりは楽しんで挑戦できると思いますが、Hard はかなり難しいです。
SadServers - Troubleshooting Linux Servers
Troubleshoot and make a sad server happy!
"Like LeetCode for Linux"
Capture The Flag challenges. Train and prove your debugging skills.
Practice for your next SRE/DevOps interview.
Get a full remote Linux server with a problem and fix it.
この演習環境のアーキテクチャについては GitHub - fduran/sadservers: SadServers.com Public で解説されていますが、1 回ごとに EC2 でインスタンスが立ち上がるようになっているようです。
HFS Explorer を使って Windows から HFS+ のディスクを読み取る
mac
java
hfs 先日、発掘した HFS+ のディスクの内容を読み取るために HFSExplorer というソフトウェアを試してみました。
この手のソフトウェアにしては珍しく Java で書かれた OSS で GitHub でソースコードも公開(unsound/hfsexplorer)されています。ライセンスは GPLv3 。ディスクをローレベルに扱う処理が Java でどのように実装されているのか気になるので、あとでコードをちょっと覗いてみようと思います。
インストーラーを使えばセットアップは簡単ですが、Java 8 以降の JRE については別途インストールすることが必要です。
HFSExplorer is an application that can read Mac-formatted hard disks and disk images.It can read the file systems HFS (Mac OS Standard), HFS+ (Mac OS Extended) and HFSX (Mac OS Extended with case sensitive file names).
HFSExplorer allows you to browse your Mac volumes with a graphical file system browser, extract files (copy to hard disk), view detailed information about the volume and create disk images from the volume.
基本的な使い方はFile メニューから Load file system from deviceを選択し、表示されたダイアログにある Autodetect ボタンを押すと HDD 上の HFS+ のパーティションを選択することができます。選択すると右側のツリービューに HFS+ のパーティションの中身が表示されます。
そのままファイルを個別に操作することもできますが、Tools メニューの Create disk image... を使うとディスクを丸ごと .dmg ファイルに変換できるので、古いディスクからのデータをサルベージする場合にはイメージ化を行ってからファイル操作を行う方が、速度的にもディスクの負担的にも良いと思います。
Java SE の脆弱性に注意(CVE-2022-21449)
java
cve
jpcertcc Java SE の脆弱性 CVE-2022-21449 について JPCERT/CC のアドバイザリが更新されていたのでメモ。
問題になっているのは ECDSA の署名のアルゴリズムでゼロのチェックが抜けていた*1というもので、これによってどんな場合でも署名検証が成功するようになってしまうみたいですね。
いずれにせよ、Java 使っている場合には早めにパッチ適用が必要そうです。
2022年4月Oracle製品のクリティカルパッチアップデートに関する注意喚起
脆弱性が悪用されると、細工したデジタル署名を用いた第三者が、ECDSA署名方式による署名検証を成功させ、不正にデータにアクセスするなどの可能性が指摘されています。詳細および最新の情報については、Oracle Corporationや脆弱性の発見者などが提供する情報を参照いただき、対策実施を検討してください。
† 参考
Core Utilities 9.1 がリリースに
linux
cli Linux などの mv や cp などの基本的なコマンドの実装である GNU Coreutils のバージョン 9.1 がリリースされていたのでメモ。
こんなツール、まだバージョンアップする余地があるの?という感じもしますが、現在でもアップデートされ続けているんですよね。
基本コマンドをカバーするGNU Core Utilitiesがバージョンアップ | TECH+
ddがFreeBSDと同じ動作するエイリアスのサポートや、dircolorsが環境変数LS_COLORSのカラーコードに従って表示するオプション、環境変数COLORTERMを参照するようになった。改良点はcpやmv、installを使用してディレクトリをコピーする際は、競合状態を回避するためにopenat()システムコールを使用。printfによるマルチバイト文字の数値表示をサポートした点が目立つ。
Oracle のクリティカルパッチアップデートに注意(2022 年 1 月)
oracle
java Oracle のクリティカルパッチアップデートが出ていました。
Java 関連だと JDK 17.0.2, JDK 11.0.14, JDK 8u321 あたりが問題になるところでしょうか。
MySQL や VirtualBox を利用している場合にこれのアップデート確認しておきましょう。
- 2022年1月Oracle製品のクリティカルパッチアップデートに関する注意喚起
- January 2022 Critical Patch Update Released
- Oracle Critical Patch Update Advisory - January 2022
Oracle、2022年1月「Critical Patch Update」を実施 ~497件のセキュリティパッチをリリース - 窓の杜
米Oracleは1月18日(現地時間、以下同)、四半期ごとに実施される定例セキュリティアップデート(Critical Patch Update:CPU)の内容を発表した。「Oracle Java SE」や「MySQL」、「Oracle VM VirtualBox」などの製品で497件の脆弱性が修正されている。
3 年ぶりの LTS となる Java 17 が登場
oracle
java Java 11 のリリース以来、3 年ぶりの LTS となる Java 17 がリリース*1されていたのでメモ。
ライセンス問題で Oracle の JDK を使っている人はかなり減っていると思われるので、Oracle の JDK の新しい LTS がリリースされたと言ってもあまり関係がない人が多いかもしれません。基本的には OpenJDK をベースとしたEclipse Adoptium や Microsoft Build of OpenJDK、Amazon Corretto など自分が使っているディストリビューションの対応にあわせていくことになると思います。
Oracle、「Java 17」を発表 ~3年ぶりの長期サポートリリース(LTS) - 窓の杜
米Oracleは9月14日(現地時間)、プログラミング言語「Java」の最新版「Java 17」を発表した。Java開発キット「Oracle JDK 17」の提供も開始されている。「Java 17」は3年前にリリースされた「Java 11」に続く長期サポートリリース(LTS)で、「Oracle JDK 17」には2029年9月までセキュリティやパフォーマンス、不具合修正のためのアップデートが提供される。
任意のタイミングで Java アプリケーションの HeapDump を取る
java Java 11 からは hprof がなくなってしまったので、OOM の時以外の任意のタイミングで*1ヒープの内容を簡単にするダンプ方法を調べてみました。
どうやら、HotSpotDiagnosticMXBean*2を直接呼出すしかないようです。
メソッドとして実装するとこんな感じでしょうか。
† 参考
- *1: OOM の時のダンプは起動時に
-XX:+HeapDumpOnOutOfMemoryErrorオプションをつければできる。 - *2: HotSpotDiagnosticMXBean (Java SE 11 & JDK 11 )
OpenJDK 11 の GitHub リポジトリ
java
github OpenJDK のソースを確認したい場合には GitHub の OpenJDK のリポジトリを確認すれば良いと安直に考えていたのですが、覗いてみると Java 11 関連だけでも jdk11, jdk11u, jdk11u-dev と 3 つもあって困ってしまいました。
jdk11 は最終更新が 2018/8 なので Java 11 リリース当初のままのようです。jdk11u-dev には日々、アップデートが入っているようなのでこれは開発用ですね。というわけで、残った jdk11u が最新のリリースが格納されているリポジトリのようなので、一般に使われている Java のコードを確認するためにはこれを見るのが良さそうです。
今回は ArrayList と LinkedList が見たかったので、以下の2つでした。
こういうクラスって最近はあまり更新されていないと思っていたのですが、ちょいちょいアップデートはされているんですね。
意図的にバグコミットして、大学がプロジェクトから ban される
dishonesty
linux
softwareengineering ミネソタ大学の博士課程の学生が脆弱性に関する実践的な研究をするために、Linux カーネルに Use After Free のバグを埋め込んだパッチを送って論文を書いた件が、大きな問題になっていたのでメモ。
ソフトウェア関連の研究に携わっている者として、人ごとではない深刻な事態だと受け止めています。研究をしていると、やってみたいという衝動に駆られるけれども倫理上の理由で実行できないということはよくあります。
問題の論文(On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits)についてはすでにwithdraw(取り下げ)になっているようです。
大学においてはヒト対象実験については倫理指針が定められていて、事前審査を受けなければ実施することができませんが、ソフトウェアの世界にも倫理審査が必要な時代が来てしまうのかもしれません。以下のメールで述べられている Linux コミュニティの意見は厳しいですが至極真っ当な意見だと思います。
Re: [PATCH] SUNRPC: Add a check for gss_release_msg - Greg KH
Our community welcomes developers who wish to help and enhance Linux. That is NOT what you are attempting to do here, so please do not try to frame it that way.
Our community does not appreciate being experimented on, and being"tested" by submitting known patches that are either do nothing on purpose, or introduce bugs on purpose.
If you wish to do work like this, I suggest you find a different community to run your experiments on, you are not welcome here.
Because of this, I will now have to ban all future contributions from your University and rip out your previous contributions, as they were obviously submitted in bad-faith with the intent to cause problems.
† 参考
- Linuxカーネルに意図的にバグを混入したとして大学にコミュニティ出禁措置 - GIGAZINE
- Linux bans University of Minnesota for sending buggy patches in the name of research [Update] - Neowin
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5019)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4162)
4 . 年次の人間ドックへ(4089)
5 . 2023 年分の確定申告完了!(1つめ)(3945)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]

