mirror of
https://github.com/ryan4yin/nixos-and-flakes-book.git
synced 2024-11-21 23:53:12 +01: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
|
||||
```
|
||||
|
||||
Another command that returns all packages installed in the system is:
|
||||
|
||||
```shell
|
||||
nix-env -qa
|
||||
```
|
||||
## Why some packages are installed?
|
||||
|
||||
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
|
||||
|
||||
|
@ -68,11 +68,15 @@ sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/sy
|
||||
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…
Reference in New Issue
Block a user