建立本地的repo仓库 查看当前是那个 有多少个仓库

自建repo软件仓库 - 推酷
自建repo软件仓库
近期主要使用的aliyun的源,主要会用到centos6、zabbix、epel和xen等,由于网络质量不佳,考虑到自建软件仓库
第一步,删除系统自导的源,新建ali.repo,将常用的几个源地址加入
# rm /etc/yum.repos.d/*.repo -fr
# vim /etc/yum.repos.d/ali.repo
name=centos6
baseurl=/centos/6/os/x86_64/
gpgcheck=no
name=zabbix
baseurl=/zabbix/2.4/rhel/6/x86_64/
gpgcheck=no
name=Epel6
baseurl=/epel/6/x86_64/
gpgcheck=0
baseurl=/centos/6/xen4/x86_64/
gpgcheck=no
第二步,新建文件夹yumrepo用来存放软件;
# mkdir /yumrepo
使用reposync将ali.repo里配置源对应的软件下载至/yumrepo文件夹
# yum install reposync -y
# reposync -P /yumrepo/
.....................
漫长的等待;下载完毕
# ll /yumrepo/
drwxr-xr-x. 4 root root
3 12:39 centos6
drwxr-xr-x. 4 root root 876544 May
3 22:14 epel
drwxr-xr-x. 3 root root
3 12:30 xen4
drwxr-xr-x. 2 root root
3 19:07 zabbix
第三步,安装createrepo,给对应的源文件夹生产repodata文件夹
# yum install createrepo -y
# mv /etc/yum.repos.d/ali.repo /etc/yum.repos.d/ali.repo.bak
将整个yumrepo做出一个独立的仓库
# createrepo /yumrepo/
.....................
漫长的等待;初始化完毕
建立一个完整仓库文件
# vim /etc/yum.repos.d/local.repo
name=local
baseurl=file:///yumrepo/
或者 将每个独立的源类型做成独立的的仓库
# createrepo /yumrepo/centos6
# createrepo /yumrepo/zabbix
# createrepo /yumrepo/xen4
# createrepo /yumrepo/epel
建立多个分散仓库文件
# vim /etc/yum.repos.d/local.repo
name=centos6
baseurl=file:///yumrepo/centos6
gpgcheck=0
baseurl=file:///yumrepo/epel
gpgcheck=0
baseurl=file:///yumrepo/xen4
gpgcheck=0
name=zabbix
baseurl=file:///yumrepo/zabbix
gpgcheck=0
第四步,后期如果需要增加其它源,例如rpmforce
# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
查看repo id号,选择需要同步的repo id
# yum repolist all
repo idrepo name
all enabled: 16,649
RHEL 6 - RPMforge.net - dag
# reposync --repoid=rpmforce /yumrepo
# ll /yumrepo/
drwxr-xr-x. 4 root root
3 12:39 centos6
drwxr-xr-x. 3 root root 876544 May
4 11:31 epel
drwxr-xr-x. 3 root root
4 11:11 other
drwxr-xr-x. 2 root root
4 12:05 repodata
drwxr-xr-x. 3 root root
4 11:45 rpmforge
drwxr-xr-x. 4 root root
3 22:30 xen4
drwxr-xr-x. 3 root root
3 22:31 zabbix
# createrepo --update /yumrepo
# createrepo --update /yumrepo/rpmforce
第五步,可以通过httpd服务,将yumrepo文件发布httpd,并新建local.repo供大家下载使用
# yum install httpd -y
# ln -sv /yumrepo/ /var/www/html/repo
# service httpd start
生成repo配置文件
# vim /yumrepo/local.repo
name=local
baseurl=http://SERVERIP/repo/
gpgcheck=no
# vim /etc/yum.repos.d/local.repo
name=centos6
baseurl=file:///yumrepo/centos6
gpgcheck=0
baseurl=file:///yumrepo/epel
gpgcheck=0
baseurl=file:///yumrepo/xen4
gpgcheck=0
name=zabbix
baseurl=file:///yumrepo/zabbix
gpgcheck=0
[rpmforce]
name=rpmforce
baseurl=file:///yumrepo/rpmforce
gpgcheck=0
局域网其他机器可以通过此地址(http://SERVERIP/repo/local.repo)下载内网的repo文件。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致Repo和Git 版本管理常用命令
我的图书馆
Repo和Git 版本管理常用命令
博客分类:
转载一则:
Git命令快速参考Git Command Quick
Reference本附录为Git常见命令快速参考。每节介绍一种操作类型。这里会列出很多命令,而相应的解释却不多。对于还不熟悉Git的读者,可回头翻阅第1章“Git的版本控制之道”(第3页)。A.1安装和初始化Setup and
Initialization在使用Git之前,须要先进行配置。在使用一个新的版本库之前,须要先初始化。本节介绍与Git设置和初始化相关的命令。配置全局用户名和电子邮件地址prompt&&git config
--global user.name "Your Name"prompt&&git config
--global user.email ""为特定的版本库配置用户名和电子邮件地址注意:你可以为每个版本库单独设置用户名和邮件地址。这使得用户可在不同项目中使用不同的用户名和/或不同的邮件地址。prompt&&cd
/path/to/repoprompt&&git config
user.name "Your Name"prompt&&git config
user.email 在命令行中使用不同颜色显示不同内容prompt&&git config
--global color.ui "auto"初始化新版本库prompt&&mkdir
/path/to/repo:prompt&&cd
/path/to/repoprompt&&git
initInitialized empty
Git repository in /path/to/repo/.git/prompt&... create file(s)
for first commit ...prompt&&git
add&prompt&&git commit -m
'initial import'Created initial
commit bdebe5c: initial import.&1 files changed, 1
insertions(+), 0 deletions(-)create mode 100644
&some file&克隆版本库prompt&&git clone
&repository urlInitialize
repo/.gitInitialized empty
Git repository in /work/&remote repository&/.git/将目录中的内容纳入Git版本控制prompt&&cd
/path/to/existing/directoryprompt&&git
initInitialized empty
Git repository in /path/to/existing/directory/.gitprompt&&git add
.prompt&&git commit -m
"initial import of some project"在本地版本库中设置远程版本库的别名... from within
the repository directory ...prompt&&git remote add
&remote repository& &repository url&A.2 日常操作Normal
Usage本节列出Git日常操作命令,对应于第4章“添加与提交:Git基础”(第41页)。添加新文件或暂存已有文件上的改动,然后提交prompt&&git add &some
file&prompt&&git commit -m
"&some message&"暂存已有文件上的部分修改注意:[...]表示可选参数。prompt&&git add -p
[&some file& [&some file& [and so on]]]"&选择要提交的文本块……使用交互方式添加文件prompt&&git add
-i暂存已纳入Git版本控制之下的文件的修改prompt&&git add -u
[&some path& [&some path&]]提交已纳入Git版本控制之下的文件的所有修改#
s"prompt&&git commit -m
"&some message&" -a;&清除工作目录树中的修改prompt&&git checkout HEAD
&some file& [&some file&]取消已暂存但尚未提交的修改的暂存标识prompt&&git reset HEAD
&some file& [&some file&]修复上一次提交中的问题改动相关文件,并暂存……prompt&&git commit -m
"&some message&" --amend修复上一次提交中的问题,并复用上次的提交注释prompt&&git commit -C HEAD
--amendA.3 分支Branches分支是Git的强项之一。本节介绍关于分支的各个命令。详细内容见第5章“理解和使用分支”(第55页)。列出本地分支prompt&&git
branch列出远程分支prompt&&git branch
-r列出所有分支prompt&&git branch
-a基于当前分支(的末梢)创建新分支prompt&&git branch &new
branch&检出另一条分支prompt&&git checkout
&some branch&基于当前分支创建新分支,同时检出该分支prompt&&git checkout -b
&new branch基于另一个起点,创建新分支你可以从版本库中的任何一个版本开始创建新分支。这个起始点可以用一条已有的分支名称、一个提交名称,或者一个标签名称来表prompt&&git branch &new
branch& &start point&创建同名新分支,覆盖已有分支prompt&&git branch -f
&some existing branch& [&start point&]移动或重命名分支只有当&new
branch&不存在时prompt&&git checkout -m
&existing branch name& &new branch name&如果&new
branch&已存在,就覆盖它prompt&&git checkout -M
&existing branch name& &new branch name&把另一条分支合并到当前分支prompt&&git merge &some
branch&合并,但不提交prompt&&git merge
--no-commit &some branch&拣选合并,并且提交prompt&&git cherry-pick
&commit name&拣选合并,但不提交prompt&&git cherry-pick -n
&commit name&把一条分支上的内容压合到另一条分支(上的一个提交)prompt&&git merge --squash
&some branch&删除分支仅当欲删除的分支已合并到当前分支时prompt&&git branch -d
&branch to delete&不论欲删除的分支是否已合并到当前分支prompt&&git branch -D
&branch to delete&A.4 历史History这些命令用来显示版本库的历史信息,包括代码曾在哪里、谁在何时做了什么、修改的内容及其统计信息。详见第6章“查询Git历史记录”(第71页)。显示全部历史记录prompt&&git
log显示版本历史,以及版本间的内容差异prompt&&git log
-p只显示最近一个提交prompt&&git log
-1显示最近的20个提交,以及版本间的内容差异prompt&&git log -20
-p显示最近6小时的提交prompt&&git log --since="6
hours"显示两天之前的提交prompt&&git log
--before="2 days"显示比HEAD(当前检出分支的末梢)早3个提交的那个提交prompt&&git log -1
HEAD或者……prompt&&git log -1
HEAD或者……prompt&&git log -1
HEAD显示两个版本之间的提交下面命令中的&start
point&和&end point&可以是一个提交名称、分支名称、标签名称,或者它们的混合。prompt&&git log &start
point&...&end point&显示历史,每个提交显示一行,包括提交注释的第一行prompt&&git log
--pretty=oneline显示改动行数统计prompt&&git log
--stat显示改动文件的名称和状态prompt&&git log
--name-status显示当前工作目录树和暂存区间的差别prompt&&git
diff显示暂存区和版本库间的差别prompt&&git diff
--cached显示工作目录树和版本库间的差别prompt&&git diff
HEAD显示工作目录树与版本库中某次提交版本之间的差别&start
point&可以是一个提交名称、分支名称或标签名称。prompt&&git diff &start
point&显示版本库中两个版本之间的差别prompt&&git diff &start
point& &end point&显示差别的相关统计prompt&&git diff --stat
&start point& [&end point&]显示文件中各个部分的修改者及相关提交信息prompt&&git blame &some
file&显示文件中各个部分的修改者及相关提交信息,包括在该文件中复制、粘贴和移动内容等方面的情况。prompt&&git blame -M
&some file&显示文件中各部分的修改者及相关提交信息,包括在文件间移动内容方面的情况prompt&&git blame -C -C
&some file&显示历史时,显示复制和粘贴信息prompt&&git log -C -C -p
-1 &some point&A.5
远程版本库Remote
Repositories开发人员之间通过远程版本库来共享工作成果,相互协作。本节介绍关于这些操作的命令,详见第7章“与远程版本库协作”(第91页)。克隆远程版本库prompt&&git clone &some
repository&克隆远程版本库,但只下载其中最近200个提交的历史记录prompt&&git clone --depth
200 &some repository&在本地版本库中设置远程版本库的别名prompt&&git remote add
&remote repository& &repository url&显示远程分支prompt&&git branch
-r基于远程分支创建本地分支prompt&&git branch &new
branch& &remote branch&基于远程标签创建本地分支prompt&&git branch &new
branch& &remote tag&从别名为“origin”的远程版本库中取来修改变化,但不合并到本地分支prompt&&git
fetch从任意的远程版本库中取来修改变化,但不合并到本地分支prompt&&git fetch
&remote repository&从任意的远程版本库中取来修改变化,并合并到当前检出的本地分支prompt&&git pull
&remote repository&从别名为“origin”的远程版本库中取来修改变化,并合并到当前检出的本地分支prompt&&git
pull把修改变化从本地分支推入远程版本库prompt&&git push
&remote repository& &local branch&:&remote branch&把修改变化从本地分支推入远程版本库中同名分支prompt&&git push
&remote repository& &local branch&把修改变化从本地新建分支推入远程版本库prompt&&git push
&remote repository& &local branch&把修改变化推入别名为“origin”的远程版本库当远程版本库中已有同名分支时,这个命令会推入本地分支到远程版本库对应的分支中。如果远程版本库中尚无同名分支,则须使用git
push &repository name& &local branch&。prompt&&git
push在远程版本库中删除分支prompt&&git push
&remote repository& :&remote branch&在本地版本库中删除所有远程版本库中已不存在的分支prompt&&git remote prune
&remote repository&在本地版本库中删除某个远程版本库的简称,以及该远程版本库相关的分支prompt&&git remote rm
&remote repository&A.6
连接Git和SVNGit to SVN
BridgeGit可以读取Subversion版本库中的数据,并把本地修改发送回Subversion版本库。这是Git区别于其他版本控制工具的必杀技之一。相关详细介绍请参见第10章“迁移到Git”(第131页)。克隆SVN版本库的全部内容prompt&&git svn clone
&svn repository&克隆具有标准结构的SVN版本库下面命令适用于克隆标准结构的SVN数据库,也就是说,主干命名为trunk,其他分支都存放于branches目录下,标签都存放于tags目录下。prompt&&git svn clone -s
&svn repository&克隆非标准结构的SVN版本库prompt&&git svn clone -T
&trunk path& \2 ]! W9 t7 X4 N)
D; H# n( g4 I/ H-b &branch path& \+ q- e& |5
k& n$ C1 }1 e-t &tag path& \7 v. |9 `& `9
g, _* a& svn repository&克隆具有标准结构的SVN版本库中的某个版本(比如第2321版)prompt&&git svn clone -s
-r 2321克隆具有标准结构的SVN版本库,并对SVN中的分支添加前缀prompt&&git svn clone -s
--prefix svn/ &svn repository&从上游SVN版本库中获得更新的内容,并依此在本地Git版本库中变基本地分支prompt&&git svn
rebase把修改变化推回上游SVN版本库prompt&&git svn
dcommit列出所有将推入上游SVN版本库的提交prompt&&git svn dcommit
-n显示SVN历史记录prompt&&git svn
log显示文件中各个部分的SVN的修改者及相关提交信息prompt&&git svn blame
&some file&
转载二则:
服务器版本下载:
init -u git@192.168.1.11:i700t_/platform/manifest.git -b froyo_almond -m
M76XXTSNCJNLYA.xml
forall -c git checkout --track origin/i700t_ -b [你的本地分支]
clone git@192.168.1.11:6120_gingerbread/Arm9-6120.git
checkout --track origin/arm9_6120 -b [你的本地分支名]
服务器新加仓库同步:
请按如下步骤取得Lanucher_wpon的代码:
cd I700T/.repo/manifest
I700T/.repo/manifest& git pull --rebase
I700T/.repo/manifest& cd ../..
I700T& repo sync platform/packages/apps/Launcher_wpon
cd packages/apps/Launcher_wpon
6:I700T/packages/apps/Launcher_wpon&&
checkout --track origin/froyo_almond -b [你的本地分支]
上传本地修改到服务器
forall -c git pull --rebase & & & &和服务器同步(要上传代码前,一般先进行此操作)
add . & &或git add 文件名 & & & & & &添加当前仓库修改的文件
commit -m "..." & & & & & & & & & & & 在引号中添加你的修改记录
push origin &本地分支名:froyo_almond & & & 上传本地修改的代码
设置一些默认的全局变量,对所有工程代码有效
config --global user.name yourmail
config --global user.email yourmail
config --global push.default tracking & & 这样后续git push 后面不用带参数
5.查看修改记录
log & & & & & & & & & & & 本地仓库修改记录
forall -c git log --since="" --until="" &
按条件查看工程所有仓库修改记录
status & & & & & & & &查看工程中所有仓库的修改状态(包括文件位置)
status & & & & & & & & & 查看仓库修改状态
branch & & & & & & & & 查看本地branch
branch -r & & & & & & &查看远程branch
branch -a & & & & & & &查看所有branch
branch -D &(-d) &(branch name) & &删除branch
.git/config & & &可以查看本地branch一些信息
修改恢复相关
checkout filename1 &filename2 &... & & & & & 取消本地修改,和服务器同步
stash apply & & & & &先stash本地修改,然后执行git pull --rebase同步,最后再APPLY恢复自己的修改
reset --soft head_commit &恢复到最后一次commit,保持代码修改
reset --hard commit & &恢复到指定一次commit,放弃之前所有修改
#回退a.py这个文件的版本到上一个版本
reset HEAD^ a.py&
reset commitNO filename
本地某仓库出问题了,不好闹腾时,删除之,并重新同步跟踪
project_folder/vendor/qcom$
rm -rf proprietary/ & & & & & & & & & & & & 进到相应目录,删除之
project_folde$
repo sync platform/vendor/qcom/proprietary & & & 重新repo sync,后面路径名称可查看:
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & gedit .repo/manifest.xml
branch -a & &----列举所有BRANCH
branch -D 700_arm11_server
branch -D 700_arm11_server_wifi &--删掉所有本地branch
checkout --track origin/froyo_almond -b 700_arm11_server &
然后track远程branch,重新创建本地分支
9.tag的使用
tag [tag_name] [version],在对应版本上(一般用change的SHA1),创建tag&
tag -l 列出当前tag&
tag -d [tag_name] 删除tag&
有了tag以后,可以使用git
checkout [tag_name] -b [branch_name]来检出对应tag时刻的代码。也可以用tag name来实现diff等功能。&
patch的使用
diff filename1 filename2 ... & & & & & & & & &修改位置对比,查看源码
diff & xxx.patch & & & & & & & & & & & & & & & & &将修改的地方打成一个patch
apply xxx.patch & & & & & & & & & & & & & & & & &将patch打上
后续有用到的命令继续添加
revert 是撤销某次提交。git reset –hard,才是退回到以前的版本
reset --soft commitNum & & &保存代码修改的reset,但这个时候无法使用git diff 进行比较修改的文件,必须:
reset filename filename & & 这样就可以git diff查看
diff ffd98b291e0caa6c5eae661ce40c9
b8e7b00c02b95b320f14b625663fdecf2d63e74c 查看某两个版本之间的差异
diff ffd98b291e0caa6c5eae661ce40c9:filename
b8e7b00c02b95b320f14b625663fdecf2d63e74c:filename 查看某两个版本的某个文件之间的差异
git config –global alias.co checkout // co将会成为checkout的别名
git config –global alias.br branch
git config –global alias.ci commit
git config –global alias.st status
git config –global user.name “username”
git config –global user.email
转载三则:
下载 repo 的地址:&http://android.git.kernel.org/repo
,可以用 wgethttp://android.git.kernel.org/repo
或者 curl&http://android.git.kernel.org/repo
&~/bin/repo& 来下载 repo , chmod a+x ~/bin/repo&
用repo sync 在抓去 android source code 的时候,会经常出现一些错误导致 repo sync 中断,每次都要手动开始。
可以用如下的命令,来自动重复:&& $?=1;&& while [ $? -ne 0 ] ; do& done
&repo help [ command ] , 显示command 的详细的帮助信息内容
repo init -u URL ,& 在当前目录安装 repository ,会在当前目录创建一个目录 ".repo"& -u 参数指定一个URL,
从这个URL 中取得repository 的 manifest 文件。&& repo init -u
git://android.git.kernel.org/platform/manifest.git
& & & & && & 可以用 -m 参数来选择 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为默认的
namifest 文件 (default.xml)&&& repo init -u
git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml
& & & & & & 可以用 -b 参数来指定某个manifest 分支。
& & & & && & repo init -u git://android.git.kernel.org/platform/manifest.git -b
release-1.0
& & & & & & 可以用命令: repo help init 来获取 repo init 的其他用法
4. repo sync [project-list]
&&&&&&&&&&&
下载最新本地工作文件,更新成功,这本地文件和repository 中的代码是一样的。 可以指定需要更新的project ,
如果不指定任何参数,会同步整个所有的项目。
&&&&&&&&&&
如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository 中的所有内容都拷贝到本地。 如果不是第一次运行
repo sync , 则相当于& git rebase origin/branch .& repo sync 会更新
.repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行& git& rebase --continue
5. repo update[ project-list ]
上传修改的代码 ,如果你本地的代码有所修改,那么在运行 repo sync 的时候,会提示你上传修改的代码,所有修改的代码分支会上传到 Gerrit
(基于web 的代码review 系统), Gerrit 受到上传的代码,会转换为一个个变更,从而可以让人们来review 修改的代码。
6. repo diff [ project-list ]
显示提交的代码和当前工作目录代码之间的差异。
7. repo download& target revision
下载特定的修改版本到本地, 例如:& repo download pltform/frameworks/base 1241 下载修改版本为 1241
8. repo start newbranchname
创建新的branch分支。 "." 代表当前工作的branch 分支。
9.& repo prune [project list]
删除已经merge 的 project
10. repo foreach [ project-lists] -c command
对每一个 project 运行 command 命令
11. repo status
显示 project 的状态
TA的最新馆藏28184人阅读
CentOS(76)
什么是repo文件?repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装 哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可 以知道所有相关联的软件。所以YUM的基本工作流程如下:服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。vi /etc/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releasever#cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum/$basearch/$releasever。keepcache=1#keepcache:是否保留缓存内容,0:表示安装后删除软件包,1表示安装后保留软件包debuglevel=2#debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录logfile=/var/log/yum.logpkgpolicy=newest#pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。distroverpkg=centos-release#指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。tolerant=1#tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。exactarch=1#exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。retries=20#retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。obsoletes=1gpgcheck=1#gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。reposdir=/etc/yy.rm #默认是 /etc/yum.repos.d/ 低下的 xx.repo后缀文件#默认都会被include 进来 也就是说 /etc/yum.repos.d/xx.repo 无论配置文件有多少个 每个里面有多少个[name] 最后其实都被整合到 一个里面看就是了 重复的[name]后面的覆盖前面的exclude=xxx#exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。keepcache=[1 or 0]#  设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存reposdir=[包含 .repo 文件的目录的绝对路径]#  该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)。第二部分:vi /etc/yum.repo.d/xx.repo这个字段其实也可以在yum.conf里面直接配置[serverid]#其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。 重复了 前面覆盖后面--还是反过来呢???用enabled 测试是后面覆盖前面name=Some name for this server#name,是对repository的描述,支持像$releasever $basearch这样的变量; name=Fedora Core $releasever - $basearch - Released Updatesbaseurl=url://path/to/repository/#baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:baseurl=url://server1/path/to/repository/url://server2/path/to/repository/url://server3/path/to/repository/#其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式:baseurl=url://server1/path/to/repository/baseurl=url://server2/path/to/repository/baseurl=url://server3/path/to/repository/其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:gpgcheck=1exclude=gaim#其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,failovermethod=priority#failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。enabled=[1 or 0]#当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。#通过 yum 的 --enablerepo=[repo_name] 和 --disablerepo=[repo_name] 选项,或者通过 PackageKit 的&添加/删除软件&工具,也能够方便地启用和禁用指定的软件仓库几个变量$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。$arch,cpu体系,如i686,athlon等$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。对yum.conf设定完成,我们就可以好好体验yum带来的方便了。还有一件事没有做。那就是导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6762035次
积分:54938
积分:54938
排名:第48名
原创:742篇
转载:203篇
译文:22篇
评论:1536条
文章:129篇
阅读:1781543
文章:33篇
阅读:193053
文章:16篇
阅读:148499
阅读:13118
文章:29篇
阅读:337386
文章:18篇
阅读:306776
文章:44篇
阅读:349502
(14)(18)(26)(16)(9)(23)(20)(17)(4)(16)(12)(17)(25)(34)(19)(15)(17)(15)(23)(12)(12)(14)(13)(14)(20)(58)(25)(31)(16)(33)(31)(20)(24)(23)(21)(20)(14)(36)(14)(14)(7)(5)(15)(3)(2)(9)(6)(7)(32)(3)(8)(7)(22)(2)(30)(4)
关注我的订阅号“微wx笑”

我要回帖

更多关于 gerrit 导入repo 仓库 的文章

 

随机推荐