我想使用 Yum 安装所有可用于 Fedora 的 TexLive 软件包。它们都有格式texlive-package
。有没有一种方法可以完成这一切,而无需一次安装一个软件包(有超过 5000 个!)?
答案1
如果所有软件包都遵循模式,textlive-<package>
您可以使用正则表达式来安装它们,如下所示:
$ sudo yum install texlive-\*
您还可以像这样指定模式:
$ sudo yum install 'texlive-*'
笔记:无论哪种情况,我们都会保护上面的模式不被 shell 解释为 glob。
例子
$ sudo yum install texlive-\*
...
...
texlive-zxjafbfont noarch 3:svn28539.0-0.1.fc19 updates 16 k
texlive-zxjafbfont-doc noarch 3:svn28539.0-0.1.fc19 updates 16 k
texlive-zxjafont noarch 3:svn30105.0.2-0.1.fc19 updates 18 k
texlive-zxjafont-doc noarch 3:svn30105.0.2-0.1.fc19 updates 131 k
texlive-zxjatype noarch 3:svn28541.0.6-0.1.fc19 updates 24 k
texlive-zxjatype-doc noarch 3:svn28541.0.6-0.1.fc19 updates 149 k
Installing for dependencies:
python-pygments noarch 1.6-1.fc19 updates 965 k
t1utils x86_64 1.37-4.fc19 fedora 70 k
teckit x86_64 2.5.1-9.fc19 fedora 282 k
zziplib x86_64 0.13.62-2.fc19 fedora 80 k
Transaction Summary
===============================================================================
Install 4867 Packages (+4 Dependent packages)
Total download size: 1.6 G
Installed size: 2.9 G
Is this ok [y/d/N]:·
指定包模式
我强烈鼓励任何与之合作的人yum
仔细阅读标题为“指定包名称”的部分。
指定包名称
可以使用以下任何一项以及以下任何一项的全局引用包来进行安装、更新、删除、列表、信息等:
name name.arch name-ver name-ver-rel name-ver-rel.arch name-epoch:ver-rel.arch epoch:name-ver-rel.arch For example: yum remove kernel-2.4.1-10.i686 this will remove this specific kernel-ver-rel.arch. Or: yum list available 'foo*' will list all available packages that match 'foo*'. (The single quotes will keep your shell from expanding the globs.)
答案2
yum search texlive | grep '^texlive' | awk -p '{print $1}' > packages.txt
yum install $(cat packages.txt)
这将安装每个可用的 TexLive 软件包。