参考

Handbook:AMD64/Portage/CustomTree

https://wiki.gentoo.org/wiki/Handbook:AMD64/Portage/CustomTree#Defining_a_custom_repository

Custom repository

https://wiki.gentoo.org/wiki/Custom_repository

/etc/portage/repos.conf

https://wiki.gentoo.org/wiki//etc/portage/repos.conf

首先建立软件库的文件夹

root #mkdir -p /usr/local/portage/{metadata,profiles}
root #chown -R portage:portage /usr/local/portage

然后起个便于识别的软件库名字,比如 localrepo:

root #echo 'localrepo' > /usr/local/portage/profiles/repo_name

然后设定这个软件库的主软件库是 gentoo,并且这个本地软件库不会自动更新。

vim /usr/local/portage/metadata/layout.conf
masters = gentoo
auto-sync = false

最后告诉系统软件库,有这么一个本地软件库。

vim /etc/portage/repos.conf/localrepo.conf
[localrepo]
location = /usr/local/portage

安装 repoman 来处理本地软件库。

emerge -v repoman

建立实际需要的软件的文件夹,并放入相应的 ebuild 文件,然后 使用 repoman 导入 manifest中,导入的时候会自动下载安装包到 /usr/portage/distfiles 里面。

mkdir -p /usr/local/portage/dev-qt/qt-examples
cp /home/用户名/Downloads/qt-examples-5.11.1.ebuild /usr/local/portage/dev-qt/qt-examples/
chown -R portage:portage /usr/local/portage
pushd /usr/local/portage/dev-qt/qt-examples
repoman manifest
popd

这时候就可以使用 emerge -pv qt-examples 来安装软件了。

也可以把刚才的简历文件夹,放入 ebuild 那一步做成脚本:

vim repoAdd.sh
#!/bin/sh
mkdir -p /usr/local/portage/$1/$2
cp $3 /usr/local/portage/$1/$2/
chown -R portage:portage /usr/local/portage
pushd /usr/local/portage/$1/$2
repoman manifest
popd

然后使用 这样的格式 (package_category package_name ebuild)

root #repoAdd app-dicts artha ~larry/artha-1.0.2.ebuild

如果使用 git 来管理软件库的话,可以使用下面的文件来管理:

vim /etc/portage/repos.conf/brother-overlay.conf
[brother-overlay]
location = /usr/local/overlay/brother-overlay
sync-type = git
sync-uri = https://github.com/stefan-langenmaier/brother-overlay.git
auto-sync = yes

Custom repository

https://wiki.gentoo.org/wiki/Custom_repository

这个文档里面还有 如何升级本地仓库和交叉编译仓库 crossdev

gentoo 建立本地软件库并安装软件 Custom repository的更多相关文章

  1. 通过本地yum源安装软件报错[Errno 14] PYCURL ERROR 56 - "Failure when receiving data from the peer"

    通过本地yum源安装软件报错 http://192.168.3.85/centos/6/os/x86_64/Packages/php-pdo-5.3.3-47.el6.x86_64.rpm: [Err ...

  2. Linux在本地使用yum安装软件

    经常遇到有的linux服务器由于特殊原因,不能连接外网,但是经常需要安装一些软件,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,当你找到依存的rpm包去安装的时候,又提示你有 ...

  3. Linux在本地使用yum安装软件(转)

    经常遇到有的linux服务器由于特殊原因,不能连接外网,但是经常需要安装一些软件,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,当你找到依存的rpm包去安装的时候,又提示你有 ...

  4. Debian8 从本地源安装软件

    假如你从Debian官网下载了三个DVD镜像,那么就可以设置从本地源来安装软件,例如这里我从官网下载了 debian-8.6.0-amd64-DVD-1.iso,debian-8.6.0-amd64- ...

  5. centos7使用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法

    由于是本地yum源安装软件,无法联网,因此使用yum安装软件时报了错,解决方法是: 打开vi /etc/resolv.conf文件 新增内容如下: nameserver 8.8.8.8 nameser ...

  6. centos7配置本地yum源 使用安装镜像安装软件

    1. 在cdrom挂载安装镜像.(物理机则插入光盘,虚拟机则在CD/DVD中选择iso镜像.如果虚拟机mount时提示找不到则在选择iso镜像上方勾选“已连接”和“启动时连接”,或者点击 虚拟机下方状 ...

  7. 使用apt-mirror建立本地debian仓库源

    先介绍一下环境: 主机:Win7 虚拟机:VirtualBox + Debian7 由于软件源的体积比较大,所以我又给虚拟机添加了一块50GB的虚拟硬盘(给虚拟机添加虚拟硬盘的方法参见:http:// ...

  8. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari

    一.集群软硬件环境准备: 操作系统:  centos 7 x86_64.1804 Ambari版本:2.7.0 HDP版本:3.0.0 HAWQ版本:2.3.05台PC作为工作站: ep-bd01 e ...

  9. Ubuntu Linux系统三种方法添加本地软件库

    闲着没事教教大家以Ubuntu Linux系统三种方法添加本地软件库,ubuntu Linux使用本地软件包作为安装源——转2007-04-26 19:47新手重新系统的概率很高,每次重装系统后都要经 ...

随机推荐

  1. Flex 布局语法教程

    一.Flex布局是什么? Flex是Flexible Box的缩写,翻译成中文就是“弹性盒子”,用来为盒装模型提供最大的灵活性.任何一个容器都可以指定为Flex布局. .box{ display: - ...

  2. SqlServer查找字段中带空值的项

    select * from  lianxia where sex is null

  3. 阶段01Java基础day24多线程+GUI

    25.01_多线程(多线程方法) 1.yield让出cpu 2.setPriority()设置线程的优先级 25.02_多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何 ...

  4. kafka 分区和副本以及kafaka 执行流程,以及消息的高可用

    1.Kafka概览 Apache下的项目Kafka(卡夫卡)是一个分布式流处理平台,它的流行是因为卡夫卡系统的设计和操作简单,能充分利用磁盘的顺序读写特性.kafka每秒钟能有百万条消息的吞吐量,因此 ...

  5. 支持续传功能的ASP.NET WEB API文件下载服务

    先把原文地址放上来,随后翻译

  6. vue Axios 封装与配置项

    import axios from "axios"; import qs from "qs"; import { Message } from "el ...

  7. Socket网络编程入门

    Socket:专业术语:套接字;通俗的解释:两孔插座(一个孔:IP地址,一个孔:端口号).使用场景:通信,如QQ好友交谈,如浏览器的进程怎么与web服务器通信等. Socket来历: socket起源 ...

  8. 【Keil5 MDK】armar工具的基本用法(armar --help)

    ARM Librarian, 5.03 [Build 76] - archive creation and maintenance tool Command format: armar options ...

  9. [LeetCode&Python] Problem 202. Happy Number

    Write an algorithm to determine if a number is "happy". A happy number is a number defined ...

  10. [LeetCode&Python] Problem 504. Base 7

    Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: "202&q ...