cygwin 包管理相关命令

命令的安装

cygwin 提供 一个 图形界面安装工具 setup-x86_64_3.0.7.exe ,但是不提供命令行工具
github上 提供了  很多种shell语言版的 命令行工具(在github 上搜索 apt-cyg)
我们 用 https://github.com/transcode-open/apt-cyg 提供的 apt-cyg文件充当 包管理工具

下载下来,将 apt-cyg 文件放到 /bin 目录中 然后将其权限改为 可执行就行了

从仓库出发的命令

  • 查询仓库
查看仓库地址
$ apt-cyg mirror
http://mirrors.163.com/cygwin/

设置仓库地址
$ apt-cyg mirror http://mirrors.163.com/cygwin/

原理为读写 /etc/setup/setup.rc 中的 last-mirror 字段中的值

  • 查询所有软件包
查询已经安装的所有软件包
apt-cyg list
查询仓库中的所有软件包
无
查询仓库中的已经安装的所有包
无
查询仓库中的可安装还没安装的所有包
无
查询仓库中的可安装还没安装的更新包
无

从软件包出发的命令

  • 从软件包名出发查询其他信息
查询对应的安装包(acl)有什么文件
apt-cyg listfiles bzip2
查询对应的安装包(acl)的信息
apt-cyg show targets // 查询已安装的
查询对应的安装包(acl)的依赖
apt-cyg depends targets
查询对应的安装包(acl)的反向依赖
apt-cyg rdepends targets
查询软件包是否在仓库中存在
apt-cyg  listall bzip2
查询未安装且在仓库中的包有什么文件
apt-cyg listfiles bzip2
下载软件包
apt-cyg download [targets]
https://cygwin.com/cgi-bin2/package-grep.cgi

从文件出发相关的命令

查询已经安装的文件属于什么包
$ apt-cyg search /usr/bin/bzip2
Searching downloaded packages...
bzip2


查询一个未安装的文件属于什么包 // 用网页搜索更加准确
apt-cyg searchall targets

在https://cygwin.com/cgi-bin2/package-grep.cgi查找内容与targets匹配的软件包

从包组出发相关的命令

查询 类别Base 下的所有软件包 // 还有 Archive
apt-cyg category Base

本地数据库相关

  • 安装卸载包
为安装包时安装包/ 已安装包时升级包
apt-cyg install [targets]
卸载包
apt-cyg remove [targets]
更新包
无
  • 缓存
查看本地缓存的保存位置
$ apt-cyg cache
设置本地缓存的保存位置
$ apt-cyg cache "D:\ProgramFiles\ProgramFilesForSW\cygwin\package"

原理 
读写/etc/setup/setup.rc文件中last-cache字段

更新软件源的软件包清单
apt-cyg update

原理
根据/etc/setup/setup.rc中配置的last-mirror项和本地Cygwin的指令集架构版本(x86或者x86_64),调用wget去镜像站点下载最新的setup.ini文件至本地缓存。

  • 本地数据库文件
/etc/setup/installed.db

APT仓库配置

  • 客户端配置
/etc/setup/setup.rc 中的 last-mirror 字段中的值

猜你喜欢

转载自blog.csdn.net/u011011827/article/details/112060470