|
发表于 2004-4-27 19:52:53
|
显示全部楼层
apt for Fedora Linux
稍微写一下在Fedora(我用FC1)下 如何使用apt实现升级的一种方法 希望对大家有所帮助
我基本不用FC自己带的那个up2date 因为连接到fedora老家去升级 实在太慢!!
推崇yum或apt
但是yum好像检测package dependency的时间要比apt长许多
用apt来升级软件包最大的好处就是如果你指定想生计哪个软件 那么apt会自己动检测到和这个软件包有关的所有其他packages
然后会自动下载那些包 询问用户是否安装。
http://freshrpms.net/
这个网站上面许多软件包都十分有用
可以先下载 apt for Fedora Cor 1 (当然 上面也有为RH8,9 YD升级用的apt和yum)
http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/1/apt/
然后随便可以在console下或者是X下安装(root)
如果是.rpm包的话 在X下 直接点击运行安装就可以了
或者在terminal下打 rpm -ivh 文件名
成功安装好之后 就会在/etc下多出一个/apt文件夹
打开/etc/apt 里面会有一个sources.list文件
下载 freshrpms.net 提供的sources.list文件
http://freshrpms.net/packages/builds/apt/sources.list.i386
保存为 sources.list 覆盖/etc/apt下原来的那个sources.list
打开sources.list 就可以看到
# Fedora Linux 1
rpm http://ayo.freshrpms.net fedora/linux/1/i386 core updates freshrpms
#rpm http://ayo.freshrpms.net fedora/linux/1/i386 tupdates
#rpm http://ayo.freshrpms.net fedora/linux/1/i386 extras alternatives
#rpm-src http://ayo.freshrpms.net fedora/linux/1/i386 core updates freshrpms
#rpm-src http://ayo.freshrpms.net fedora/linux/1/i386 tupdates
#rpm-src http://ayo.freshrpms.net fedora/linux/1/i386 extras alternatives
# Red Hat Linux 9
#rpm http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms
# Red Hat Linux 8.0
#rpm http://ayo.freshrpms.net redhat/8.0/i386 os updates freshrpms
#rpm-src http://ayo.freshrpms.net redhat/8.0/i386 os updates freshrpms
这个设置了当你运行apt来升级时候 自动会连接到 freshrpms.net 上的服务器 去搜寻那里最新的软件包
可以看到因为OS是FC1 所以用 # 来屏蔽了 RH8,9的。
当然可以加其他FC1网站服务器名 比如ftp://linux.stanford.edu的。
不过这样可能会产生一个软件包冲突的问题 因为那些软件来自不同的服务器 虽然可能版本都一样 但是这些都是自由软件 有世界上不同的独立软件包开发者写出来的 众口难调 就有可能导致了软件包之件的冲突。 不可避免。
这个也大概就是linux太难统一的地方(linux拥护者千万别向我扔鸡蛋啊...)
上面几步弄完之后 下面需要加入freshrpms.net的GPG-KEY了。
下载
http://freshrpms.net/packages/builds/apt/RPM-GPG-KEY.freshrpms
然后随便保存在哪 (最好在/etc/apt下建立一个/gpg 保存在哪里 以便日后管理)
在terminal下输入
rpm --import /path/to/RPM-GPG-KEY.freshrpms
注: 后缀.freshrpms和GPGkey的文件名无所谓 不需要改
加如了GPG-KEY之后 那么当检测freshrpms.net上头那些软件包的时候 就不会弹出比如 GPG-KEY或者(钥匙检测)没有通过 询问你是否继续这样的烦人提示了
用apt从不同的服务器上面升级的话 基本上都应该带有他们自己的GPG-KEY 可以import一个以上的钥匙
然后在terminal下打 #apt-get update
那个是先下载服务器上面那些package的header信息 这一步并不开始任何升级
结束后 下面有几种选择
#apt-get install XXXX
这个XXX是你想安装某个特定的软件包名 比如升级xine (当然 要这个软件包在服务器上面是存在的 而且你输入的软件包名正确 版本号不是必须的。 如果发现服务器上面有比你现在存在的xine更新的版本 那么就会自动更换旧的版本)
例子(转自 freshrpms.net)
[root@psyche root]# apt-get install xine
Reading Package Lists... Done
Collecting File Provides... Done
Building Dependency Tree... Done
The following extra packages will be installed:
aalib flac libfame xine-lib xvidcore
The following NEW packages will be installed:
aalib flac libfame xine xine-lib xvidcore
0 packages upgraded, 6 newly installed, 0 removed and 0 not upgraded.
Need to get 0B/5460kB of archives. After unpacking 15.8MB will be used.
Do you want to continue? [Y/n]
Executing RPM (-Uvh)...
Preparing... ########################################### [100%]
1:aalib ########################################### [ 17%]
2:flac ########################################### [ 33%]
3:libfame ########################################### [ 50%]
4:xvidcore ########################################### [ 67%]
5:xine-lib ########################################### [ 83%]
6:xine ########################################### [100%]
[root@psyche root]#
apt棒的地方就是会检测到你想升级的软件包的那些依赖软件包
就像如果你直接下载了xine最新版.rpm的话 当你准备安装 可能会提示你 flac aalib 等需要先安装。 用apt的话就免去了那些麻烦了。
如果想要统统升级的话 就是把所有必须的 一下子完全升级 可以用这个命令
#apt-get dist-upgrade
这样就会检测所有的系统必须软件 找到新版本后 就会完全替代旧的软件包了
#apt-get clean 好像是把下载后的那些软件包 完全清理掉
为什么我们用up2date来升级的话 会那么慢!!
因为up2date默认的升级服务器是
http://fedora.redhat.com/releases/fedora-core-$releasever
你想一下 那么多人同时用默认的这个服务器来升级 能不慢嘛。。
所以如果想快点的话 就可以用其他fedora的软件包提供服务器 来代替官方的。
在apt下 就通过修改 sources.list 在yum下 就通过用yum.conf
许多国外大学的校园服务器都可以用 比如hawaii, stanford, duke等。
小弟也刚接触linux不久 匆忙写了以上这些东西 肯定有错误的地方 希望大家指教! |
|