nixストレージでソースアーカイブを無効にする方法

nixストレージでソースアーカイブを無効にする方法

結局私のnixストアで間違ったパッケージソースが見つかりました。これはしばらく前に起こったので、ログファイルを追跡してどのように起こったのかわかりません。同じバージョンのパッケージを再構築しようとすると、すべて同じエラーソースが使用されます。ソースアーカイブを無効にするか、強制的に再インポートする方法はありますか?

ストアをインストールしてアーカイブを削除することもできますが、 nixos デザインを転覆しないソリューションがrw必要です。ro

ベストアンサー1

nix-store --delete /nix/store/pathいくつかの参照を介してパスをアクティブに保たない限り、いつでも実行できますが、注意すべきいくつかの詳細があります。あなたのソースがfetchurl同様の固定出力派生を通じて得られたと仮定します。これは出力のハッシュを指定し、nixリポジトリのパスがそのハッシュと一致するため、実際には正しいソースです(nixの要件を考慮)。

一般的な単純パスは、ハッシュをfetchurlいくつかの無効な値(たとえば、一部の文字をゼロに置き換えるなど)で上書きすることです。その後、nixは結果(一致しない)ハッシュを再インポートして印刷して更新できます。また、nix-prefetch-url二重抽出などを避けてください。

おすすめ記事