比 rpm 强大得多的 urpmi 常见问题!
monpython
|
1#
monpython 发表于 2003-06-01 17:36
比 rpm 强大得多的 urpmi 常见问题!
比 rpm 强大得多的 urpmi 常见问题!
说明: 很多从Redhat转移到Mandrake的使用者都不知道MDK提供的 urpmi 命令. 其实这个命令比 rpm要强大的多, 最大的优点就是可以自己解决安装rpm包时烦人的依赖关系. 只要你 预先指定了要搜索的文件源(本地或者网络上的), 只要一个urpmi <package> 就自动为你安 装rpm包, 解决依赖关系. 下面是经常出没于 irc/Freenode 频道的garrick写的 urpmi 常见问题. 觉得翻译出来对大 家有帮助. 他的网页:http://speculation.org/garrick 上还有其它有用的东东. ------------------------------------------ upmi 常见问题 ------------------------------------------ 作者: garrick 翻译: monpython Q: 什么是urpmi? A: 'urpmi' 是Mandrake处理rpm文件来源的工具. 它是一个rpm的打包程序,可以让使用着更容易的进行安装. Q: 它有什么样的文件来源? A: 'urpmi' 能够处理像你的mandrake CD这种可拆卸媒体上的文件源,也可以是硬盘上rpm文件,或者是ftp,http服务器上的文件源. 缺省状态下,'urpmi' 已经知道mandrake CD上的文件源的位置. Q: 怎么用'urpmi'安装文件包? A: 让我们拿BitchX这个文件举个例子: 'urpmi BitchX' 'urpmi' 将会搜索文件源的索引,查找名为"BitchX"的文件包. 如果找到该包,它会进一步寻找"BitchX"所需要的其它包 (这就时urpmi一个很酷的功能,自动解决相依性问题).还有, 如果需要,它会要求你插入光盘. Q: 提示"command not found", 是不是'urpmi'有问题? A: 不是,用'su -'命令再试试. Q: 有哪些文件来源? A: Mandrake有三种文件源: main(一般分别放在三个CD上),contrib目录,和updates.如果你的系统是从CD上安装的, 那么urpmi将会预先根据三个CD设置好main和contrib目录.(所以看起来就好像是四个安装来源,因为三片光盘 上既有main又有contrib目录).如果你的系统是从ftp上安装的,那么它会预先根据ftp服务器设置好main和contrib. 不管是以上哪种情况,你都要用一个ftp镜像站点配置一个update安装源. Q: 到哪里去找urpmi的安装源? A: 去http://plf.zarb.org/~nanardon/ 这个叫"Easy Urpmi"的网页. 首先选择你mandrake版本和你的体系结构(如果你不知道你的 机器体系,就选i586),点下一步.然后为main,contrib和updates选择地理位置接近的镜像. 如果你要的软件包没有到侵权和其它 法律问题, 可以选择一个plf镜像. 如果你自己可以处理一些情况,还可以选择一个texstar镜像.接下来点击下一步.在网页的底部 把得出的 urpmi.addmedia 命令拷贝粘贴到有root执行权的shell中. Q: 什么是PLF(Penguin Liberation Front)? A: http://plf.zarb.org, 该站上有因为法律原因无法通过mandrake发行的mandrake文件包. 像DVD解码,mp3编码等软件可以在那里找到. PLF很方便的组织成一个urpmi的文件源,你可以访问该站获得更多的信息. Q: 我如何加入新的文件源? A: 用 'urpmi.addmedia' 命令. 用法是这样的: urpmi.addmedia [--update] <name> <location> with <hdlist> 下面是加入我的mandrake ftp镜像的例子: (要整行输入): Mandrake 9.1: urpmi.addmedia usc-main ftp://mirrors.usc.edu/pub/linux/dis...6/Mandrake/RPMS with ../base/hdlist.cz urpmi.addmedia usc-contrib ftp://mirrors.usc.edu/pub/linux/dis....1/contrib/RPMS with ../../i586/Mandrake/base/hdlist2.cz urpmi.addmedia --update usc-update ftp://mirrors.usc.edu/pub/linux/dis...pdates/9.1/RPMS with ../base/hdlist.cz Mandrake 9.0: urpmi.addmedia usc-main ftp://mirrors.usc.edu/pub/linux/dis...6/Mandrake/RPMS with ../base/hdlist.cz urpmi.addmedia usc-contrib ftp://mirrors.usc.edu/pub/linux/dis....0/contrib/RPMS with ../../i586/Mandrake/base/hdlist2.cz urpmi.addmedia --update usc-update ftp://mirrors.usc.edu/pub/linux/dis...pdates/9.0/RPMS with ../base/hdlist.cz Mandrake 8.2: urpmi.addmedia usc-main ftp://mirrors.usc.edu/pub/linux/dis...6/Mandrake/RPMS with ../base/hdlist.cz urpmi.addmedia usc-contrib ftp://mirrors.usc.edu/pub/linux/dis....2/contrib/i586 with ../../i586/Mandrake/base/hdlist2.cz urpmi.addmedia --update usc-update ftp://mirrors.usc.edu/pub/linux/dis...pdates/8.2/RPMS with ../base/hdlist.cz Mandrake 8.1 (mdk8.1 has been End-of-Lifed): urpmi.addmedia usc-main ftp://mirrors.usc.edu/pub/linux/dis...6/Mandrake/RPMS with ../base/hdlist.cz urpmi.addmedia usc-contrib ftp://mirrors.usc.edu/pub/linux/dis....1/contrib/RPMS with ../../i586/Mandrake/base/hdlist2.cz urpmi.addmedia --update usc-update ftp://mirrors.usc.edu/pub/linux/dis...pdates/8.1/RPMS with ../base/hdlist.cz 对于 mdk 8.2, 我自己有一些更新的软件包,你也许会兴趣.你在那里总可以找到最新的 Mozilla, Galeon 和 Fluxbox: urpmi.addmedia --update garrick.update ftp://polop.usc.edu/pub/rpms with hdlist.cz 你可以用 --update 参数, 把文件源标记为 "updates" (稍后再讨论) ** mandrake 9.0 的新功能! 你现在可以更方便的从任何 ftp 镜像加入整个安装和contrib文件源: urpmi.addmedia --distrib ftp://ftp-linux.cc.gatech.edu/pub/l...ndrake/8.2/i586 ** 注意, 这个功能在 8.2上就有, 但是不起作用 =/ Q: 我能不能把我喜欢的任何本地目录加入为文件源? A: 可以, 很简单: urpmi.addmedia --update 自己取个名字 file://some/directory/path Q: 我能否把我喜欢的网络目录(ftp或http地址)加入为文件源? A: 不行. 文件源目录还需要一些特殊的文件. 除了用mandrake镜像作为文件源, Penguin Liberation Front网站 (http://plf.zarb.org/) 拥有最大的 网上文件源. 你可以访问 "Easy Urpmi" 以获得最有名的完整文件源列表. 你可以加入任何你要的本地目录, urpmi.addmedia 命令将会立刻创建所需的文件. Q: 如何删除文件源? A: 'urpmi.removemedia <name>' (只键入 'urpmi.removemedia' 将会列出所有可以删除的预设名称.) Q: 能否用 urpmi 安装 rpm ? A: 当然! 'urpmi foobar-<version>.i586.rpm' (或其它软件包) 将会自动安装任何所需的相关软件包. 但是记住并不保证非mandrake rpms能够 运行. 实际上, 我很不愿意推荐第三方的rpm安装包. 相反, 应该找一个 src.rpm 自己从源代码编译一个新的rpm包. 参考 rpm 常见问题. Q: 如何升级软件? A: 第一, 你需要标记为 "updates" 的 rpm 安装源. 注意, 这是镜像上的一个不同的目录. 下面是一个和上面类似的升级软件的例子: urpmi.addmedia --update update_gatech ftp://ftp-linux.cc.gatech.edu/pub/l...dates/8.2/RPMS/ with ../base/hdlist.cz 注意: 这个例子用了 --update 参数和一个略微不同的地址 现在我们已经为 urpmi 加入了合适的升级文件源. 只要打入: 'urpmi --update <package>' urpmi 就会只在文件源搜索标记为 "update" 的包. Q: 如何自动升级所有需要升级的包? A: 'urpmi --update --auto-select' Q: 哪个包里有某某文件? A: 'urpmf' 程序可以用来在 urpmi 数据库中查找某个文件. 只需键入'urpmf foobar.something' 就可能会显示 "foobar:/usr/bin/foobar.something". 说明你要的文件在 "foobar" 这个包中. 技巧一: 如果你找的是程序或命令名称, 那么在所查找的名称前面加入 bin/ 比如: bin/ls'. 技巧二: 如果你找的是库文件, 那么在库文件的前面加入 lib/ 比如: 'urpmf lib/libssl'. Q: ftp上的文件源已经改变, 如何升级我的本地索引? A: 'urpmi.update <name>' 注意: main 和 contrib 从来不会改变. 但是 升级和 PLF 安装源经常更新. Q: 非 root 权限的人可以用 urpmi 安装软件吗? A: 根据文档, 是可以的. 但是这个功能不起作用. Q: 我不喜欢 urpmi, 有没有其它选择? A: 当然, 有很多. 可以到 http://rpm.org/software/updaters/ 看到很长的列表. 我喜欢 'yum' 网址是 http://www.linux.duke.edu/projects/yum/. yum 的一个好处是你从来不需要去升级一个文件源 (用 yum 术语叫做文件仓库)! yum 已经打包在 9.1 的 contrib 中, 键入 'urpmi yum' 修改你的 /etc/yum.conf . 到下面的地址参照我的样本: http://speculation.org/garrick/yum.conf 用法: yum list updates - 列出任何升级 yum update - 进行升级 yum info <package> - 就像 'rpm -qi', 但是是你的文件仓库的任何包 yum list <file> - 就像 'urpmf <file>', 但是你必须用完整路径 yum install <package> - 就像 'urpmi <package>' |