[问题]请问apt-get的原理是什么?
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 18
- 注册时间: 2008-05-30 23:15
[问题]请问apt-get的原理是什么?
最近一直苦恼于ubuntu的软件安装,主要问题在于我的本本不能上网啊
有网络,用apt-get什么都可以轻松安装,可是我不明白apt-get背后原理是什么啊?
如果由自己来设计这样一个命令,不知道该怎么实现呢?
有网络,用apt-get什么都可以轻松安装,可是我不明白apt-get背后原理是什么啊?
如果由自己来设计这样一个命令,不知道该怎么实现呢?
- yaoms
- 帖子: 4952
- 注册时间: 2007-10-19 14:51
- 来自: 深圳
- kofshower
- 帖子: 1343
- 注册时间: 2007-03-13 11:23
- 联系:
关键不在apt-get本身,其实就是一个软件下载 安装脚本,这个稍微高级些有签名,变更记录,版本控制,冲突比较这四个特性
变更记录在:changelog.Debian.gz
依赖记录在:*.defs
签名证书是:MD5sum: 419fa3e6f9a0743dc2dd51eee0d90e55
SHA1: 2d86bd09b0ae83d68002983c8bcb2fc712584554
SHA256: ba9c899be742e7f6cef6fa9657fba70afc86e382643a5387035b332af328fddf
之类。这个用的是deb自带的咯。
现在这个个东西还不是很强大
关键是现在的冲突比对做得很差,而且~~
变更记录在:changelog.Debian.gz
依赖记录在:*.defs
签名证书是:MD5sum: 419fa3e6f9a0743dc2dd51eee0d90e55
SHA1: 2d86bd09b0ae83d68002983c8bcb2fc712584554
SHA256: ba9c899be742e7f6cef6fa9657fba70afc86e382643a5387035b332af328fddf
之类。这个用的是deb自带的咯。
现在这个个东西还不是很强大
关键是现在的冲突比对做得很差,而且~~
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
- greco
- 帖子: 2487
- 注册时间: 2007-04-06 10:24
- 来自: ~/Shanghai
apt-get的更新过程:
执行apt-get update
程序分析/etc/apt/sources.list
自动连网寻找list中对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录
然后 apt-get install 相应的包
下载并安装
执行apt-get update
程序分析/etc/apt/sources.list
自动连网寻找list中对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录
然后 apt-get install 相应的包
下载并安装
http://silenceisdefeat.com/~greco
代码: 全选
''.join([chr(ord(c)-2) for c in 'O{"G/ockn"ku<"itgeq0ujkBiockn0eqo'])
echo -n "Z3JlY28uc2hpQGdtYWlsLmNvbQ==" | base64 -d
-
- 帖子: 178
- 注册时间: 2007-12-12 1:56
- 联系:
- xc1427
- 帖子: 276
- 注册时间: 2008-10-11 4:11
- 来自: 瑞金无线电学校
- 联系:
Re: [问题]请问apt-get的原理是什么?
感谢4楼,我还在想能不能把不同源的地址分批次粘贴到source.list里,然后分批次更新。
比如:
先在source.list里单独粘贴cn99的那些源,保存,在终端执行apt-get update。
然后在source.list里删除cn99的源,粘贴Archive.ubuntu.com的源,保存,在终端再次执行apt-get update。
现在看来是不可行的。这样的结果只能是丢失了cn99的更新信息。
因为在 /var/lib/apt/lists/ 看不到cn99源的信息了。
比如:
先在source.list里单独粘贴cn99的那些源,保存,在终端执行apt-get update。
然后在source.list里删除cn99的源,粘贴Archive.ubuntu.com的源,保存,在终端再次执行apt-get update。
现在看来是不可行的。这样的结果只能是丢失了cn99的更新信息。
因为在 /var/lib/apt/lists/ 看不到cn99源的信息了。
You never know if you don't try
-
- 帖子: 14
- 注册时间: 2009-04-10 10:29
Re: [问题]请问apt-get的原理是什么?
我们自己编译软件的时候有很多麻烦的依赖关系,apt-get是怎么解决的?
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: [问题]请问apt-get的原理是什么?
复杂嘛。就一个网址,带几个目录地址,在里面的列表文件包含deb包名等说明。--print-uris 就可以显示真实地址。
☎ cat aai
#!/bin/bash
cd /var/cache/apt/archives/
for i in `apt-get -y --print-uris install $*|grep -o "http[^']*\.deb"|tr '\n' ' '`; do sudo axel -n 10 $i; done
sudo aptitude install $*
☎ cat aai
#!/bin/bash
cd /var/cache/apt/archives/
for i in `apt-get -y --print-uris install $*|grep -o "http[^']*\.deb"|tr '\n' ' '`; do sudo axel -n 10 $i; done
sudo aptitude install $*
● 鸣学
-
- 帖子: 4
- 注册时间: 2012-06-06 15:58