在 FreeBSD 上,升级已安装的 ports 可能会引入破坏性的改变,有些步骤还需要进行手动配置,所以在通过 portmaster 更新之前最好阅读下 /usr/ports/UPDATING 的内容。
系统命令说明Debian / Ubuntu sudo apt-get upgrade 只更新已安装的包
sudo apt-get dist-upgrade 可能会增加或删除包以满足新的依赖项
sudo apt upgrade 和 apt-get upgrade 类似
sudo apt full-upgrade 和 apt-get dist-upgrade 类似
CentOS sudo yum update
Fedora sudo dnf upgrade
FreeBSD Packages sudo pkg upgrade
FreeBSD Ports less /usr/ports/UPDATING 使用 less 来查看 ports 的更新提示(使用上下光标键滚动,按 q 退出)。
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a 安装 portmaster 然后使用它更新已安装的 ports
搜索某个包
大多数发行版都提供针对包集合的图形化或菜单驱动的工具,我们可以分类浏览软件,这也是一个发现新软件的好方法。然而,查找包最快和最有效的方法是使用命令行工具进行搜索。
系统命令说明Debian / Ubuntu apt-cache search search_string
apt search search_string
CentOS yum search search_string
yum search all search_string 搜索所有的字段,包括描述
Fedora dnf search search_string
dnf search all search_string 搜索所有的字段,包括描述
FreeBSD Packages pkg search search_string 通过名字进行搜索
pkg search -f search_string 通过名字进行搜索并返回完整的描述
pkg search -D search_string 搜索描述
FreeBSD Ports cd /usr/ports && make search name=package 通过名字进行搜索
cd /usr/ports && make search key=search_string 搜索评论、描述和依赖
查看某个软件包的信息
在安装软件包之前,我们可以通过仔细阅读包的描述来获得很多有用的信息。除了人类可读的文本之外,这些内容通常包括像版本号这样的元数据和包的依赖项列表。
系统命令说明Debian / Ubuntu apt-cache show package 显示有关包的本地缓存信息
apt show package
dpkg -s package 显示包的当前安装状态
CentOS yum info package
yum deplist package 列出包的依赖
Fedora dnf info package
dnf repoquery --requires package 列出包的依赖
FreeBSD Packages pkg info package 显示已安装的包的信息
FreeBSD Ports cd /usr/ports/category/port && cat pkg-descr
从存储库安装包
知道包名后,通常可以用一个命令来安装它及其依赖。你也可以一次性安装多个包,只需将它们全部列出来即可。
系统命令说明Debian / Ubuntu sudo apt-get install package
sudo apt-get install package1 package2 ... 安装所有列出来的包
sudo apt-get install -y package 在 apt 提示是否继续的地方直接默认 yes
sudo apt install package 显示一个彩色的进度条
CentOS sudo yum install package
sudo yum install package1 package2 ... 安装所有列出来的包
sudo yum install -y package 在 yum 提示是否继续的地方直接默认 yes
Fedora sudo dnf install package
sudo dnf install package1 package2 ... 安装所有列出来的包
sudo dnf install -y package 在 dnf 提示是否继续的地方直接默认 yes
FreeBSD Packages sudo pkg install package
sudo pkg install package1 package2 ... 安装所有列出来的包
FreeBSD Ports cd /usr/ports/category/port && sudo make install 从源码构建安装一个 port
从本地文件系统安装一个包