1.怎么安装repo?
2.CentOS7如何手工创建自己的源码YUM仓库?
3.深入学习Repo
4.有repo是什么意思?
5.Linux软件管理-YUM工具及源码包
怎么安装repo?
安装repo(用来更新Android源码)
创建~/bin目录,用来存放repo程序,源码如下:
。源码$ cd ~
。源码$ mkdir bin
并加到环境变量PATH中,源码在第2步中已经加入
下载repo脚本并使其可执行:
。源码咨询公司 源码$ curl /bbs/pub/cupcake。源码tar。源码gz。源码而且解压出来的源码 cupcake下也有。repo文件夹,源码可以通过repo sync来更新cupcake代码:
。源码tar -xvf
cupcake。源码tar。源码gz
repo sync(更新很慢,源码用了3个小时)
5、编译Android源码,并得到~/project/Android/cupcake/out 目录
进入Android源码目录:
make
这一过程很久(2个多小时)
6、在模拟器上运行编译好Android
Android SDK的emulator程序在Android-sdk-linux_x-1。
0_r2/tools/下,emulator是需要加载一些image的,默认加载Android-sdk-linux_x-1。0_r2/tools/lib/images下的kernel-qemu(内核) ramdisk。img
system。电脑php源码
img
userdata。img
编译好Android之后,emulator在~/project/Android/cupcake/out/host/linux-x/bin下, ramdisk。img
system。img
userdata。
img则在~/project/Android/cupcake/out/target/product/generic下
cd ~/project/Android/cupcake/out/host/linux-x/bin
增加环境变量
。
vim ~/。bashrc
在。bashrc中新增环境变量,如下
。#java 程序开发/运行的一些环境变量
。export Android_PRODUCT_OUT=~/project/Android/cupcake2/out/target/product/generic
。
Android_PRODUCT_OUT_BIN=~/project/Android/cupcake2/out/host/linux-x/bin
。export PATH=${ PATH}:${ Android_PRODUCT_OUT_BIN};
最后,同步这些变化:
。
source ~/。bashrc
。emulator -image system。img -data userdata。img -ramdisk ramdisk。img
最后进入Android桌面,死筹源码就说明成功了。
out/host/linux-x/bin下生成许多有用工具(包括Android SDK/tools的所有工具),因此,可以把eclipse中Android SDK的路径指定到out/host/linux-x/bin进行开发。
CentOS7如何手工创建自己的YUM仓库?
一、简介在linux系统上安装软件有三种方式,一、源代码形式,绝大多数开源软件都是直接以源代码的形式发布,一般被打包成tar.gz的归档压缩文件,这种源代码形式的程序需要编译成二进制形式之后才能够运行使用,这种形式虽然兼容性、可控性较好,但使用起来较为麻烦,有大量的依赖关系需要解决;二、RPM安装包,RPM通过将源代码基于特定平台系统编译成可执行文件,并保存依赖关系,简化了开源软件的安装,但依然需要手工解决依赖关系;三、YUM软件管理,YUM设计的ingress 源码部署主要目的就是自动解决RPM的依赖关系,可以对RPM进行分组,引入仓库(repo)概念并支持多个仓库,配置比较简单。
YUM使用仓库保存管理RPM软件包,仓库的配置文件保存在/etc/yum.repos.d/目录下,CentOS自带的配置文件如下:
[root@localhost~]#cd/etc/yum.repos.d/
[root@localhostyum.repos.d]#ll
total
-rw-r--r--.1rootrootMar:CentOS-Base.repo
-rw-r--r--.1rootrootMar:CentOS-CR.repo
-rw-r--r--.1rootrootMar:CentOS-Debuginfo.repo
-rw-r--r--.1rootrootMar:CentOS-fasttrack.repo
-rw-r--r--.1rootrootMar:CentOS-Sources.repo
-rw-r--r--.1rootrootMar:CentOS-Vault.repo
将这几个文件删除,rm -rf CentOS* 或则移除该文件夹 mv CentOS* /yum。
二、手工配置YUM仓库
1、将所有rpm软件包拷贝到一个文件夹下,这里我们使用CentOS 7自带的rpm软件包,在VMware物理机无法联网的情况下可以使用。将CentOS7安装镜像挂载在CentOS下,文件默认路径在/run/media/centostest/下,CentOS6保存在/media/下,这里centostest为自己的用户名,rpm软件包保存在镜像文件Packages文件夹下。
建立一个文件夹并拷贝,拷贝时间会比较长,虚拟光盘的话会快一点。
[root@localhost~]#cd/
[root@localhost/]#mkdiryum-packages
[root@localhost/]#cp-rv/run/media/centostest/CentOS\7\x_/Packages/*/yum-packages/
2、通过rpm命令安装createrepo软件,cacheable源码解读createrepo软件包就包含在前面拷贝的rpm文件内。
安装createrepo软件,软件名称通过Tab键可以自动补全。
[root@localhost/]#cdyum-packages/
[root@localhostyum-packages]#rpm-ivhcreaterepo-0.9.9-.el7.noarch.rpm
warning:createrepo-0.9.9-.el7.noarch.rpm:HeaderV3RSA/SHASignature,keyIDf4aeb5:NOKEY
Preparing...#################################[%]
packagecreaterepo-0.9.9-.el7.noarchisalreadyinstalled
3、运行createrepo命令建立索引
createrepo/yum-packages/
完成后会在yum-packages文件夹下建立一个repodata的文件夹,里面保存索引信息。
4、添加配置文件
在/etc/yum.repos.d/文件夹下添加配置文件。
[root@localhostyum-packages]#cd/etc/yum.repos.d/
[root@localhostyum.repos.d]#vimownyum.repo
[root@localhostyum.repos.d]#catownyum.repo
[centos]
name=centosyum
baseurl=file:///yum-packages/
[root@localhostyum.repos.d]#
这里进行了最简单的配置,[centos]、name 任意取名字就行,enabled、gpgcheck可配置也可不配置。
5、清空YUM Cache
使用yum clean all命令清空,并用yum list命令查看yum库
[root@localhostyum.repos.d]#yumcleanall
Loadedplugins:fastestmirror,langpacks
Cleaningrepos:centos
Cleaningupeverything
Cleaninguplistoffastestmirrors
[root@localhostyum.repos.d]#yumlist
可以看到自己建立的yum仓库信息
xorg-x-xbitmaps.noarch1.1.1-6.el7centos
xpp3.noarch1.1.3.8-.el7centos
xrestop.x_.4-.el7centos
xsane-common.x_.-9.el7centos
xsane-gimp.x_.-9.el7centos
xsettings-kde.x_..3-7.el7centos
xsom.noarch0-.svn.el7centos
xterm.x_-3.el7centos
xulrunner.x_.4.0-1.el7.centoscentos
xz-devel.x_.1.2-9alpha.el7centos
yp-tools.x_.-3.el7centos
ypbind.x_:1..1-7.el7centos
ypserv.x_.-8.el7centos
yum-plugin-aliases.noarch1.1.-.el7centos
yum-plugin-changelog.noarch1.1.-.el7centos
yum-plugin-tmprepo.noarch1.1.-.el7centos
yum-plugin-verify.noarch1.1.-.el7centos
yum-plugin-versionlock.noarch1.1.-.el7centos
zlib-devel.x_.2.7-.el7centos
zsh.x_.0.2-7.el7centos
zziplib.x_..-5.el7centos
这里的centos为[centos]里面的名字。
深入学习Repo
深入理解Repo工具:简化Android源码管理与操作
Repo是AOSP(Android Open Source Project)开发过程中,为处理庞大源码仓库而设计的工具,它通过git管理各个仓库,并提供了一套命令行操作来简化管理和同步。以下是Repo的关键特性和使用场景:
1. 基础配置:Repo的shell脚本包括众多命令,如`checkout.py`、`sync.py`等,可以根据需要自定义和扩展。在Linux环境下推荐使用,Windows环境下虽然可运行,但稳定性较差。
2. 环境配置:使用时,需要在系统的PATH环境变量中添加必要的路径,如Git目录、Python安装路径等。
3. 配置细节:`--worktree`参数至关重要,不指定可能导致初始化错误。另外,可以通过环境变量设置仓库地址和分支,如使用`--repo-url`命令。
4. 仓库管理:Repo支持通过自定义URL托管在GitHub,只需在使用时更新对应的仓库地址。官方文档提供了Windows下的使用指南。
5. Manifest配置:Repo的Manifest定义了仓库的结构,包括远程获取设置、项目列表和子清单等,清单服务器需要实现特定的RPC方法。
6. 实际应用:比如,如果你需要管理私有仓库,避免ODM/客户/合作伙伴的访问,可以将这些仓库从默认清单中排除,只在内部使用。使用`repo forall`时,可以通过`project.list`文件指定特定操作的仓库,或者利用`annotation`元素标记长期不需要同步的仓库。
通过这些配置和技巧,Repo可以帮助开发者更灵活、高效地管理Android源码,提高开发效率。在实际操作中,需要根据项目需求和团队协作方式进行定制和调整。
有repo是什么意思?
在计算机领域,Repo是指Repository的缩写,即代码管理仓库,也称为源代码仓库。在软件开发过程中,开发者将代码存储在Repo中,便于代码的管理、版本控制以及代码共享,Repo可以是本地仓库也可以是远程仓库。
Repo分为本地仓库和远程仓库两种类型。本地仓库储存在客户端本地计算机上,通常用于个人开发或测试。远程仓库储存在服务器上,可供多个开发者协作使用。常见的Repo包括Git Repo和SVN Repo,其中Git Repo更加流行,因为Git具有更好的分支管理能力和更高的效率。
Repo在软件开发和管理中扮演着极其重要的角色。它可以跟踪代码的版本管理,协助开发者控制代码的改变,让开发更加高效、便捷。此外,Repo还能够保持开发平台的稳定性,减少出错概率和解决问题的时间。通过Repo,开发者不仅能够控制代码的完成度,还能够将代码与团队成员共享,实现多人协作开发。
Linux软件管理-YUM工具及源码包
Linux软件管理中的YUM工具是Red Hat和CentOS系统中的重要组件,它简化了软件包管理,特别是通过互联网下载并自动处理依赖性。其主要功能包括联网获取软件、基于RPM管理、自动解决依赖、命令操作简便以及在生产环境中广泛使用。YUM工具的核心是yum源,即软件仓库,本地或网络皆可,如阿里云、清华大学源等。
配置yum源时,可以添加像EPEL这样的额外软件源,如nginx、zabbix和saltstack的官网下载的repo仓库。实践案例中,yum支持查询、安装、重装、更新和删除软件包,以及相关的仓库管理、缓存操作和包组指令。全局配置文件如yum.conf和.repo文件,影响了yum的行为,而rpm签名检查机制确保了软件包的完整性。
在无法联网的情况下,可以制作本地YUM仓库,涉及挂载镜像、备份和创建新的仓库文件等步骤。对于企业级环境,可能需要搭建一个提供基础和第三方软件的yum服务器。源码包则是未编译的程序代码,学习源码包有助于自定义软件、满足特定需求或在新版本发布初期安装。
源码包安装相对复杂,通常包括解压、配置、编译和安装四个步骤。通过实际编译Nginx,可以深入理解这个过程。至于自定义RPM包和制作YUM仓库,这涉及对软件包的定制和仓库的管理,以满足特定环境的需求。