mirror of
https://github.com/ryan4yin/nixos-and-flakes-book.git
synced 2025-06-22 04:51:29 +02:00
feat: Why some packages are installed
This commit is contained in:
parent
29104db102
commit
9e9e34ff7f
@ -71,11 +71,16 @@ sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/sy
|
|||||||
sudo nix store gc --debug
|
sudo nix store gc --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
Another command that returns all packages installed in the system is:
|
|
||||||
|
|
||||||
```shell
|
## Why some packages are installed?
|
||||||
nix-env -qa
|
|
||||||
```
|
To find out why a package is installed, you can use the following command:
|
||||||
|
|
||||||
|
1. Enter a shell with `nix-tree` available: `nix shell nixpkgs#nix-tree`
|
||||||
|
1. ` nix-store --gc --print-roots | rg -v '/proc/' | rg -Po '(?<= -> ).*' | xargs -o nix-tree`
|
||||||
|
1. `/<package-name>` to find the package you want to check.
|
||||||
|
1. `w` to show the package is depended by which packages, and the full dependency chain.
|
||||||
|
|
||||||
|
|
||||||
## Reducing Disk Usage
|
## Reducing Disk Usage
|
||||||
|
|
||||||
|
@ -68,11 +68,15 @@ sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/sy
|
|||||||
sudo nix store gc --debug
|
sudo nix store gc --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
以及查看系统层面安装的所有软件包(这个貌似只能用 `nix-env`):
|
## 查询为什么某个包被安装了 {#why-some-packages-are-installed}
|
||||||
|
|
||||||
|
查询为什么某个包被安装,当前环境中的谁依赖了它:
|
||||||
|
|
||||||
|
1. 进入一个带有 `nix-tree` 的 shell:`nix shell nixpkgs#nix-tree`
|
||||||
|
1. ` nix-store --gc --print-roots | rg -v '/proc/' | rg -Po '(?<= -> ).*' | xargs -o nix-tree`
|
||||||
|
1. `/<package-name>` 以查找到你想查询的包
|
||||||
|
1. 输入 `w`,看看谁依赖了它(`why depends`),以及完整的依赖链。
|
||||||
|
|
||||||
```shell
|
|
||||||
nix-env -qa
|
|
||||||
```
|
|
||||||
|
|
||||||
# 节约存储空间
|
# 节约存储空间
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user