cache: [k2e喜]: 注意它的发音: 不是: keik
the attribute could not be removed from the cache. 不能从缓存删除属性.
YUM对服务器而言最重要的是稳定+安全, 不一定要最新的软件...
yum创建本地缓存(repodata的缓存), 这样就不用每次安装包时要从远程服务器上去查询了: yum makecache.
yum list可能会产生本地缓存...
mount (或: df -h)查看当前挂载情况,
yum源有三种: 网络地址源; 光盘-自动挂载; iso文件-手动挂载: moun/t -o loop mnt/iso/xxx.iso /mnt/cdrom
:即: 把centos的isos镜像2碟, 从 archive.kernel.org/centos-vault/上下载下来,
: 然后用mount命令, 挂载成光盘/mnt/cdrom, 然后就可以用在 CentOS-Media.repo中了
修改yum本地光盘源:
1. 修改原来的repo文件: 改名_bak, 或者放在/..._bak文件夹中, 目的是让这些文件失效! 也可以更改其中的开关: enable=0/1
2. 创建自己的repo文件: vi myself.repo:
[c6-media] : 本地地址池,这个将显示在yum list文件的后面
name=RedHat
baseurl=file:///mnt/cd1/ (直接就是镜像的根路径, 不要用子目录).
file:///mnt/cd2/
:: 目录后面的斜杠 / 可以不要(实际实验过的)
:: 使用两个file:::///本地镜像地址, yum会依次在这两个镜像中去操作,如list(会把两张碟的包都列出来, search等
如:uuid-c++这个rpm包就在cd2第二张碟中, 但是yum同样会搜索得出来.
:: yum search 是不支持通配符*, ?的 , 搜索时你不需要考虑字串在名字中的顺序, 只要是"包含"字串的包都会被列举出来!
??? 到底file::///哪个路径, 取决与repodata所在的位置, 反正一点: file:///后面要写repodata这个目录的上一级目录就好了!如果报错:找不到gpgkey的话, 就用rpm导入gpgkey: rpm --import /etc/pki/rpm-gpg/*
# .... (这个地方, #注释不能随便乱写乱加. 很多时候, linux的配置文件有严格的格式规定)
#.... ( 不能随便的在前面或后面加#, 甚至加空格都会报错...)
enable=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/..... (cdrom目录下可以查看)
3. 测试:
yum clean all
yum install xxxx....
mount的格式:
mount -t 文件系统类型 -o options 设备device /挂载路径 dir
-o :options: 是用来描述文件或设备挂接的方式:
包括:ro, rw, -o loop : 将文件iso挂载成一个硬盘分区, -o iocharset=字符集
如: 将硬盘上的iso镜像文件挂接成一个光盘使用:
mount [ -t iso9660] -o loop /mnt/iso/xxx.iso /mnt/cdrom
----------------------------------------------------------------
所有的/etc/pki/rpm-gpg/RPM-GPG-KEY-CENTOS-6的文件内容都是一样的( 不管它是从网上的, 还是本地的)
vault: 拱形, 撑杆跳, 金库/保险库. vault.centos.org是centos的代码所在的保险库, 在上面可以下载到它的所有版本的iso和gpg等文件
yum本地源最重要的是: 禁用/改名其他的repo文件, 修改要启用的repo文件中的enable=1就可以了
< 只要是/etc/yum.repos.d/ 下的 *.repo 文件都是可以的, 文件名可以随便, 里面的容器库也是任意随便取的, [ 容器名] 将会出现在 search, list等包的后面>
如
vi /etc/yum.repos.d/ CentOS-Local.repo
[Local]
name=CentOS Local repositoyr
baseurl=file:///mnt/centos6.3-bin-dvd1/
gpgcheck=0
# gpgkey=....
enable=1
使用的时候:
首先,yum clean all -清除yum的仓库源的缓存信息
-每次更换yum后都应该把yum缓存清除掉
其次, yum --disablerepo=base --enablerepo=Local --disableplugin=fastestmirror list/ search等等.
(实际证明: 其实可以不用任何参数的: yum 直接就 list /search, 用不着去禁用/启用插件的...)
::: 只是在其他repo文件都不用修改/不用禁用, 不用disable的情况下, 临时使用CentOS-Media.repo的时候, 才需要用yum的选项, 如:
yum --disablerepo=\* --enablerepo=c6-media list... <media.repo文件中有说明>
---------------------------------------------------------
http://vault.centos.org/下面的isos的意思是: iso-s, 是iso的复数形式,表示很多的iso镜像文件可用,如: livecd livedvd, centos-6.3-bin.dvd1....
penetrate: ['penitreit] v. 刺入,穿透; 跻身, 打入; 看穿,洞悉
the knife penetrated enemy's stomach.
he has penetrated into high society.
i could not penetrate the mystery ['mistri]
armor: n. 装甲, v.为...装装甲 armor plate is im'penetrable by ordinary bullets.
per'turb : v. 使...混乱不堪, 使...混乱,
->imperturbed, imper'turbable : 沉静的, 稳重不慌的.
rpm 导入一个安全的公钥: rpm --import /etc/pki/rpm-gpg/*
centos6.3的iso共有2张碟片, 第一和第二碟除了都包含Packages包外, 第一碟主要是要多:
images, isolinux, repodata... 此外, 两张碟都有同样的rpm-gpg-key....
/第一张碟中de/repodata/repomd.xml的作用?
repodata: 是仓库的数据库文件, 使用的是sqlite数据库, 格式为 .xml.gz
repomd.xml: md:metadata 表示元数据, 是仓库的索引数据库文件.
由于在dvd2第二张碟中没有repodata这个文件夹, 所以单独使用dvd2 是不能作为本地源的
repodata中有四个重要的文件: filelists.xml.gz, primary.xml.gz , repomd.xml , other.xml.gz, 如果没有repodata这个目录, 就要用: createrepo.rpm这个包生成一下即可
#“repomd.xml”作用,提供了“更新.xml.gz”的下载信息和SHA校验值。
#这里“repomd.xml”里包括了3个文件 “other.xml.gz””filelists.xml.gz””primary.xml.gz”
#作用很明显了,“其他更新包列表”“更新文件集中列表”“主要更新包列表"
------------------------------------------
可以将base网络仓库和本地仓库结合起来联合起来使用... (方法是: 修改base, 将file:///mnt/cd 的地址加入到baseurl中去, 或者: yum --enablerepo=c6-media....)
yum仓库的enabled属性如果不写或者写成enabled=1表示生效, 写成enabled=0表示禁用. 即默认的就 是生效的!
base中默认的是使用的mirrorlist, 也可以直接使用centos的站点: baseurl=...
if the mirrorlist= does not work for you, as a fall back you can try the remarked out baseurl= line instead.
::: 关于vi和vim gvim:
vi 和vim都是在命令行下使用的程序, 即: 可以在终端, 和 纯命令行模式下使用的程序
vi: 是系统自带的
vim: 初始时是没有"找不到"这个命令的, 要安装: vim-enhanced这个包. 那么在终端和命令行模式下就可以使用了
gvim: 只有在X system下才有窗口界面, 虽然在命令行模式下也可以使用, 但是它 是跟vi终端不同的另外一个窗口...
使用 yum makecache命令,可以看到也是去下载对应源的"数据库" 主要是: filelists_db, primary_db, other_db, group_gz
如: base/filelists_db, base/primary_db, base/other_db, base/group_gz.
这些仓库源的数据信息, 都是放在 /var/cache/yum/i386/6/....下的....
-------------------------------------------------
yum 的删除命令?
yum的删除命令可以用remove 和 erase. 这两个命令是相同的, 等价的:
yum remove a_package == yum erase a_package;
yum groupremove group_package_name; == yum grouperase group_package_name
删除的依赖关系:
resolve:解决, 解析
假设a<-- b, b包依赖a包, 那么删除a包的时候, b包也会被删除, ( 皮之不存毛将焉附?)
反之, 删除b包的时候, 并不会删除a包, 对a包没有影响.
to remove "A" package, the package "B" would as well as be removed because B depends on A being removed.