LinuxWave Icon LinuxWave Text LinuxWave Logo

A package manager for Linux software developers.

面向 Linux 软件开发者的包管理器。

Latest Version : 2.6.2 Release on 2026-10-07
最新版本 : 2.6.2 发布于 2026-10-07
View On GitHub 在 GitHub 上查看
macOS? View MacWave → macOS?查看 MacWave →
Explore MacWave Team 浏览 MacWave 团队
(Click to view)
(点击查看)

About LinuxWave

关于LinuxWave

LinuxWave is the official Linux port of MacWave. Starting with MacWave 2.0, the main MacWave project no longer supports Linux, so LinuxWave carries that support forward. It is a package manager that runs on Linux (x86_64 / arm64), designed to host common software packages for Linux software developers.

LinuxWave 是 MacWave 的官方 Linux 移植版。从 MacWave 2.0 起,MacWave 主线不再支持 Linux,LinuxWave 承接了这部分支持。它运行在 Linux(x86_64 / arm64) 上,是一个为 Linux 软件开发者 托管 常用软件包 的 包管理器。

Why LinuxWave

为什么选择 LinuxWave

Supported Platform

支持的平台

Linux (x86_64 / arm64)

Linux(x86_64 / arm64)

Install LinuxWave

安装 LinuxWave

In the terminal, run:

在终端中运行:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/LinuxWaveOrg/LinuxWave/HEAD/lib/install.sh)" && source ~/.bashrc

(If you are using zsh instead of bash, run source ~/.zshrc)

(如果你使用的是 zsh 而非 bash,请运行 source ~/.zshrc)

Requirements: Linux (x86_64 / arm64), Python (3.14 and above), patchelf (for dependency library relocation).

环境要求:Linux(x86_64 / arm64)、Python(3.14 及以上)、patchelf(用于依赖库重定位)。

Unattended install

无人值守安装

For scripts and batch use, the installer takes flags so it never waits for input:

面向脚本与批量场景,安装器提供若干参数,全程不会停下来等待输入:

# script already on disk
$ bash install.sh --silent --dir-option=4

# straight from the repository
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/LinuxWaveOrg/LinuxWave/HEAD/lib/install.sh)" \
  -- --silent --dir-option=4

--silent (-S) answers the directory menu and the agreement automatically. It needs passwordless sudo, or root, when the chosen directory requires privilege. Without --dir-option, it takes menu entry 1 (~/.local/linuxwave) and prints which default it used, instead of reading a terminal that may not exist. --dir-option=N picks menu entry N (1-5); for the custom entry, append the path after =, as in --dir-option=5=/opt/mylw. Run install.sh --help for the list.

--silent(-S)会自动应答目录菜单与许可协议;当选中的目录需要提权时,它要求免密 sudo 或以 root 运行。不带 --dir-option 时,它会选用默认项 1(~/.local/linuxwave)并说明用的是哪个默认值,而不是去读一个可能并不存在的终端。--dir-option=N 免菜单直接选定第 N 项(1-5);自定义项要在 = 之后附上路径,例如 --dir-option=5=/opt/mylw。完整参数列表可运行 install.sh --help 查看。

Fetch with /bin/bash -c, and put options after --. Calling /bin/bash by absolute path means a tampered PATH cannot decide which shell runs the script, and curl runs to completion before bash executes anything, so a download that fails partway is not executed as it arrives. -- ends bash’s own options, so everything after it reaches the installer. Writing … --silent instead makes --silent the script name ($0), so it is silently dropped and the installer stops at a prompt nobody is watching; the installer warns when it sees an option in $0.

用 /bin/bash -c 取脚本,并把参数放在 -- 之后。以绝对路径调用 /bin/bash,意味着被篡改的 PATH 无法决定由哪个 shell 来执行脚本;而 curl 会先跑完,bash 才开始执行,因此下载中途失败的内容不会被一边到达一边执行。-- 会结束 bash 自身的选项,其后的一切都原样传给安装器。若写成 … --silent,--silent 就成了脚本名($0)而被静默丢弃,安装器会停在一个没人看的提示符上;当安装器发现 $0 里是选项时会给出警告。

uninstall.sh is scriptable in the same way: --force skips both confirmations and keeps the linuxwave account, while --remove-user also deletes that account. Add both for a fully unattended removal.

uninstall.sh 同样支持脚本化调用:--force 跳过两次确认并保留 linuxwave 账号;--remove-user 则会连同该账号一并删除。两者同时使用即可完全无人值守地卸载。

Without --force, the uninstaller needs a terminal. It reads the confirmation from /dev/tty and stops when there is none, instead of treating a closed stdin as “yes” - deleting is not reversible. Scripts and CI must say --force explicitly.

不加 --force 时,卸载器需要一个终端。它从 /dev/tty 读取确认,读不到就中止,而不会把已关闭的 stdin 当作「同意」——删除不可逆。脚本与 CI 必须显式写上 --force。

Uninstall LinuxWave

卸载 LinuxWave

To completely remove LinuxWave from your system, run the following command in your terminal:

要从系统中彻底移除 LinuxWave,请在终端中运行以下命令:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/LinuxWaveOrg/LinuxWave/HEAD/lib/uninstall.sh)"

Download Directory

下载目录

Installed binaries are stored in (options):

已安装的二进制文件存储于(可选):

1. ~/.local/linuxwave
2. /opt/linuxwave
3. /usr/local/linuxwave
4. /home/linuxwave/.linuxwave (shared, all users)
5. Custom

Config file is stored in (a system-level install always takes priority):

配置文件存储于(系统级安装始终优先):

1. /etc/linuxwave_config          system-level install (needs sudo)
2. ~/.config/linuxwave_config     user-level install (no sudo)

A shared install (option 4) always uses /etc/linuxwave_config, so that every user on the machine resolves the same install. It needs patchelf, Python 3.14+ and sudo once; the linuxwave account is created automatically if it does not exist.

共享安装(选项 4)始终使用 /etc/linuxwave_config,以保证全机所有用户解析到同一个安装。需要 patchelf、Python 3.14+,以及一次性提供 sudo;若 linuxwave 账号不存在会自动创建。

Installing packages into a shared tree needs sudo with the full path. Only the linuxwave account and root may write there. sudo searches its own PATH, which does not contain ~/.linuxwave/lib, so sudo wave install … fails with command not found; name the entry point instead: sudo /home/linuxwave/.linuxwave/lib/wave install <package>. A user who cannot write to the tree gets that exact command in the error message. To let several users install without sudo, set up the shared-write group described in .templates/SPECIAL/INSTALL_BY_INTERNET.md.

往共享安装树里装软件包,必须用 sudo 加全路径。只有 linuxwave 账号和 root 能写入该目录。sudo 用的是它自己那套 PATH,里面没有 ~/.linuxwave/lib,所以 sudo wave install … 会报「找不到命令」;请直接写出入口:sudo /home/linuxwave/.linuxwave/lib/wave install <package>。写不进安装树的用户,会在报错信息里原样拿到这条命令。想让多个用户免 sudo 装包,请按 .templates/SPECIAL/INSTALL_BY_INTERNET.md 里说明配置共享写组。

Run Packages

运行软件包

To run a package, run the following commands in your terminal:

要运行某个软件包,请在终端中运行以下命令:

{package_name}@{version}

Use the versioned name {package_name}@{version}, or run wave link {package_name} once and then just type {package_name}.

使用带版本号的名称 {package_name}@{version},或先运行一次 wave link {package_name},之后直接输入 {package_name} 即可。

Symlink Management

软链接管理

Once a versionless link exists, LinuxWave keeps it pointing at the right version on its own:

建立不含版本号的软链接后,LinuxWave 会自动维护它指向的版本:

  1. If the highest version is uninstalled, the versionless link moves to the highest version that remains, and the uninstalled version's own link goes with it.
  2. An install re-points the versionless link at the version it just installed; add --unlink to that install to skip this.
  3. If a package has no versions left at all, the versionless link is removed.
  4. A versioned name is always callable, whether or not a versionless link exists.
  1. 最高版本被卸载后,不含版本号的软链接会改指向剩余版本中的最高版本,被卸载版本自己的软链接一并撤销。
  2. 安装会把不含版本号的软链接指向本次安装的版本;本次安装加上 --unlink 可跳过这一步。
  3. 某软件包不再有任何版本时,不含版本号的软链接会被撤销。
  4. 无论何种情况,含版本号的名称始终可以调用,即使存在不含版本号的软链接。

A manual wave unlink {package_name} is remembered: a later uninstall will not re-create the link for that package.

手动 wave unlink {package_name} 过的软件包会被记住,之后的卸载不会重新为它建立链接。

Command Reference

命令参考

Usage:
  wave <command> [package] [flags]

Commands:
  install     Install a package (Latest Version)
  uninstall   Uninstall a package
  list        List installed packages
  search      Search for a package in the index
  info        Display detailed information about a package
  selfupdate  Update LinuxWave itself
  link        Link installed packages without a version number
  unlink      Remove those unversioned links
  linkquery   Show which version an unversioned link points to
            
Flags:
  -h, --help              Show help for any command
  -V, --version           Print version information
  -v, --verbose           Enable verbose output (show detailed logs)

Global Flags (can be used with any command):
  -C, --continue          Resume interrupted downloads (like curl -C -)
      --proxy string      Specify an HTTP/HTTPS proxy (e.g., http://127.0.0.1:8080)
      --skip-ssl          Skip SSL certificate verification (insecure)
      --limit-rate string Limit download speed (e.g., 200K, 1M, 5M)
      --ver string        Install a specific version of the package

Special Flags:
wave install <pkgname>@<version>   Download certain version(s) of a package
    --unlink                       Leave the unversioned link alone (install / uninstall)
    --all, -a                      Apply to every installed package (link / unlink / linkquery)

Unversioned Links:
wave link <name>                   Link a package to its highest installed version
wave linkquery <name>              Show what <name> is linked to (e.g. 🌊 ffmpeg@9.0)
wave unlink <name>                 Remove that link

Uninstalling a version re-points the link to the next highest one, and removes
the link when no version is left. uninstall --unlink keeps the link as-is, and
refuses to run when that would leave the link pointing at the version you are
removing.

Demo Pictures

演示图片

demo1

Supported Packages

支持的软件包

(Listed in alphabetical order)

(按字母顺序排列)

bat           by David Peter
btop          by Aristocratos
dust          by bootandy
eza           by Christina Sørensen and the eza community
fd            by David Peter
ffmpeg        by FFmpeg Team
fzf           by Junegunn Choi
htop          by Hisham Muhammad and the htop team
ipsw          by blacktop
jq            by Stephen Dolan, Nicolas Williams, et al.
ldid          by Jay Freeman (saurik) / Procursus Team
lsd           by Abin Simon
ncdu          by Yoran Heling
palera1n      by palera1n Team
pandoc        by John MacFarlane
rg            by Andrew Gallant
tmux          by Nicholas Marriott and contributors
trollrestore  by JJTech (@JJTech0130)
wget          by GNU Project
zoxide        by Ajeet D'Souza
            

License

许可证

This project is licensed under the MIT License.

本项目基于 MIT 许可证 发布。

Contact Us

联系我们

GitHub @LinuxWaveOrg
Twitter @LinuxWaveOrg
Click the links to open.
点击链接即可打开。

1. Users should carefully read the agreement and possible negative impacts before operation, and bear the consequences themselves. Using LinuxWave means that you have agreed to the above conditions. LinuxWave is not responsible for any losses caused to users by LinuxWave or its software packages.

2. LinuxWave (especially beta versions) may affect users due to code defects, security issues, etc. Users should be aware of and accept this risk, otherwise please do not use it. LinuxWave is not responsible for any losses caused to users' devices, etc.

3. LinuxWave only provides links to software packages, not the software packages themselves. LinuxWave is not responsible for any losses caused to users due to security vulnerabilities, malicious code, etc. of the software packages themselves. If users violate the software package agreement, LinuxWave is not responsible.

4. The software packages distributed by LinuxWave are for legitimate purposes such as learning and research only. They are prohibited for cracking, attacks, or other illegal activities. If losses are caused by improper use, LinuxWave is not responsible.

5. This agreement may be updated. If there is an update and you do not agree to the updated agreement, please delete LinuxWave. For deletion methods, please refer to the official website or official tutorial.

6. Please be sure to download the official software from the LinuxWave official website. If users download LinuxWave software from unofficial sources and suffer losses, LinuxWave is not responsible.

7. Users should read all agreements in full and agree before using LinuxWave and its software packages. Otherwise, please do not use LinuxWave and its software packages.

8. LinuxWave is completely free. Please do not trust any individuals or claims stating that LinuxWave charges a fee. If you suffer losses as a result, LinuxWave is not responsible.

9. LinuxWave does not sell any products. Any messages or posts about paid LinuxWave products are counterfeit. Any individuals or platforms selling LinuxWave are unofficial. LinuxWave is not responsible for any losses caused by this.

10. LinuxWave does not produce any physical products. Any physical products (such as books, comics, etc.) claiming to be related to LinuxWave are counterfeit. LinuxWave is not responsible for any losses caused by this.

11. LinuxWave only produces code, not unrelated products. Any e-books, audio-visual works, etc. claiming to be related to LinuxWave are counterfeit. LinuxWave is not responsible for any losses caused by this.

12. LinuxWave's consultation and feedback channels are completely free, and all feedback is processed equally in order. Any individuals or organizations claiming priority access to consultation or replies, especially those charging fees, are unofficial. LinuxWave is not responsible for any losses caused by this.

13. LinuxWave does not use subscriptions, one-time purchases, or in-app purchases. Any individuals or organizations claiming to help obtain in-app purchases, especially those charging fees, are unofficial. LinuxWave is not responsible for any losses caused by this.

14. LinuxWave's source code is fully open. Any individuals or organizations claiming to provide core code, especially those charging fees, are unofficial. LinuxWave is not responsible for any losses caused by this.

15. LinuxWave does not use a membership system. Any individuals or organizations claiming to offer memberships, especially those charging fees, are unofficial. LinuxWave is not responsible for any losses caused by this.

16. LinuxWave has only one version, and it is publicly available. There are no "Personal Edition", "Enterprise Edition", "Custom Edition", or similar variants. Any such claims are counterfeit. LinuxWave is not responsible for any losses caused by this.

17. The only official website is https://linuxwave.org. Any other websites are not official. LinuxWave is not responsible for any losses caused by this.

18. Using LinuxWave does not require registration, nor does it require activation codes, etc. Any individuals or organizations claiming to help register LinuxWave accounts, provide LinuxWave accounts, activation codes, etc., especially those charging fees, are unofficial. LinuxWave is not responsible for any losses caused by this.

19. Downloading LinuxWave may consume network data. Users should be aware of this and handle it properly. LinuxWave is not responsible for any losses caused by this.

20. Contacting LinuxWave official support or sending emails may consume network data. Users should be aware of this and handle it properly. LinuxWave is not responsible for any losses caused by this.

21. Official accounts are only registered on Twitter (X) and GitHub. Any accounts on other platforms are counterfeit. LinuxWave is not responsible for any losses caused by this.

22. The only official feedback email address is hi@macwave.org, but replies will be sent from trollresignertest1@outlook.com. Please do not send messages directly to trollresignertest1@outlook.com, and do not wait for reply emails from hi@macwave.org. Do not trust other email addresses claimed by others or organizations as official, and do not treat replies from other emails as official replies. LinuxWave is not responsible for any losses caused by this.

23. Users should use LinuxWave and its software packages in accordance with official guidelines. LinuxWave is not responsible for any losses caused by not following the guidelines, not reading the guidelines, or operational errors.

24. Users should download LinuxWave on eligible devices. For specific requirements, please refer to the official website. If losses are caused by violations, LinuxWave is not responsible.

25. Users should confirm their system environment, device model, etc., and verify from reliable sources (such as official documentation of other software) whether there are conflicts. If losses are caused by software conflicts, LinuxWave is not responsible.

26. Users are only permitted to run LinuxWave on their personal devices. LinuxWave is not responsible for any losses caused by running LinuxWave on others' devices, public devices, or devices without the owner's authorization.

27. LinuxWave is not responsible for any losses caused by running LinuxWave due to bugs in the operating system or virtual machine itself.

28. LinuxWave is not responsible for any losses caused by LinuxWave not running as expected due to unauthorized hardware modifications.

29. LinuxWave is not responsible for any losses caused by using it for unofficial purposes.

30. Private redistribution of LinuxWave and its software packages, modified versions, etc., is permitted, but the original author and official website must be credited, and others must be clearly informed that this version is a modified version. Distributing non-official products and software packages under descriptions such as "official version" is prohibited. Non-official versions of LinuxWave may also cause losses. If any of these violations cause losses, LinuxWave is not responsible.

31. Without the permission of the original author, you shall not misuse, reuse, register trademarks, or otherwise occupy the LinuxWave icon and its name, or occupy them in a way that sufficiently associates users with them.

32. LinuxWave is not responsible for any losses caused by incomplete downloads of executable scripts due to network fluctuations, etc.

33. LinuxWave is not responsible for any losses suffered by users due to force majeure.

34. LinuxWave has no cooperation with any company or profit-making organization. Any claims of cooperation with LinuxWave by companies or profit-making organizations are counterfeit. LinuxWave is not responsible for any losses caused by this.

1. 用户在操作前应仔细阅读协议及可能造成的负面影响,并自行承担后果,使用LinuxWave即视为已达成上述条件。LinuxWave及其软件包对使用者造成损失的,LinuxWave不承担责任

2. LinuxWave(尤其是beta版)可能由于自身代码缺陷、安全问题等对用户造成影响,用户应知悉并接受这一风险,否则请勿使用。对用户的设备等造成损失的,LinuxWave不承担责任

3. LinuxWave仅提供指向软件包的链接,不提供软件包本身。软件包因本身的安全漏洞、恶意代码等对用户造成损失的,LinuxWave不承担责任。用户如果违反软件包协议,LinuxWave不承担责任

4. LinuxWave分发的软件包仅供学习、研究等正当用途,禁止用于破解、攻击等行为。如果用于不正当用途造成损失,LinuxWave不承担责任

5. 本协议可能会有更新。如有,且你不同意更新后的协议,请删除LinuxWave,删除方法参见官网或官方教程

6. 请务必从LinuxWave官方网站下载正版软件。如果用户从非官方渠道下载的LinuxWave软件造成损失,LinuxWave不承担责任

7. 用户应完整阅读所有协议并同意后再使用LinuxWave及其软件包,否则请勿使用LinuxWave及其软件包

8. LinuxWave完全免费,请勿相信任何宣称LinuxWave收费的言论、人员等。因此蒙受损失的,LinuxWave不承担责任

9. LinuxWave不出售任何产品。任何有关LinuxWave收费产品的消息、帖子等均属伪造,任何出售LinuxWave的个人、平台等均为非官方,由此造成损失的,LinuxWave不承担责任

10. LinuxWave不产出任何实体产品。任何有关LinuxWave的实体产品(如书籍、漫画等)均属伪造。由此造成损失的,LinuxWave不承担责任

11. LinuxWave仅产出代码,不产出无关产品。任何有关LinuxWave的电子书、音像制品等均属伪造。由此造成损失的,LinuxWave不承担责任

12. LinuxWave的咨询和反馈平台完全免费,且按顺序平等处理所有反馈。任何宣称可以优先获得咨询、回复等,尤其是收取费用的的个人或组织均为非官方。由此造成损失的,LinuxWave不承担责任

13. LinuxWave不使用订阅制、买断制或内购,任何宣称可以帮忙获取内购的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,LinuxWave不承担责任。

14. LinuxWave的源代码全部公开。任何宣称可以提供核心代码的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,LinuxWave不承担责任。

15. LinuxWave不使用会员制。任何宣称可以申请会员的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,LinuxWave不承担责任。

16. LinuxWave只有一个版本,且公开。不存在"个人版""企业版""定制版"或类似内容,如有,均属伪造。由此造成损失的,LinuxWave不承担责任。

17. 官方唯一网址为https://linuxwave.org,其他网址均不是官方网址。因此造成损失的,LinuxWave不承担责任

18. 使用LinuxWave无需注册,也没有激活码等,任何宣称可以帮忙注册LinuxWave账号,提供LinuxWave账号、激活码等的个人、组织等,尤其是收取费用的均为非官方。由此造成损失的,LinuxWave不承担责任。

19. 下载LinuxWave可能会消耗网络流量,下载前须知悉并妥善处理,否则造成损失的,LinuxWave不承担责任

20. 向LinuxWave官方咨询、发送邮件等可能消耗网络流量,下载前须知悉并妥善处理,否则造成损失的,LinuxWave不承担责任

21. 官方账号仅在Twitter(X)、GitHub注册,其他平台如有则均为仿造。因此造成损失的,LinuxWave不承担责任

22. LinuxWave唯一反馈邮箱地址为hi@macwave.org,但回复你的邮箱地址为trollresignertest1@outlook.com。请勿直接向trollresignertest1@outlook.com发送信息,也不要等待hi@macwave.org的回复邮件。不要相信他人或组织等声称的其他邮箱地址,不要向其他邮箱视为官方邮箱发送邮件,也不要将其他邮箱的回复视为官方回复。由此造成损失的,LinuxWave不承担责任

23. 用户应按照官方指导使用LinuxWave及其软件包。对于不按照指导、不阅读指导、操作失误等原因导致损失的,LinuxWave不承担责任

24. 用户应在符合条件的设备下载LinuxWave,具体要求参见官网。如有违反导致损失,LinuxWave不承担责任

25. 用户应确认自己的系统环境、设备型号等信息,并从可信来源(如其他软件的官方说明等)确认是否冲突。如果由于软件冲突导致损失,LinuxWave不承担责任

26. 用户仅可在个人设备运行LinuxWave,在他人、公共设备或未经持有者授权设备运行LinuxWave造成损失的,LinuxWave不承担责任

27. 由于操作系统或虚拟机自身的Bug导致用户运行LinuxWave造成损失的,LinuxWave不承担责任

28. 由于私自改装硬件设备等原因导致LinuxWave未按预期运行并导致损失的,LinuxWave不承担责任

29. 用于非官方用途导致损失的,LinuxWave不承担责任

30. 允许私自分发LinuxWave及其软件包、修改版等,但必须注明原作者及官方网站,并明确告知其他人此版本为改版,禁止以"官方正版"等描述分发非正版产品及软件包。非官方版本可能也会造成损失。如果违反且造成损失,LinuxWave不承担责任

31. 未经原作者允许,不得以滥用、复用、注册商标等方式侵占LinuxWave图标及其名称,或以充分使用户联想、关联的方式侵占

32. 由于网络波动等原因导致软件可执行脚本下载不全并造成损失的,LinuxWave不承担责任

33. 由于不可抗力因素导致用户蒙受损失的,LinuxWave不承担责任

34. LinuxWave未与任何公司或营利组织等产生合作,如有公司或营利组织等声称与LinuxWave合作均属伪造。由此造成损失的,LinuxWave不承担责任