标签 软件仓库 下的文章

apt-add-repository 到“软件及更新”工具,这里有几种从 Ubuntu 移除软件仓库的方法。

你可以 在 Ubuntu 中添加外部仓库 来访问官方仓库中不可用的软件包。

例如,如果你 在 Ubuntu 中安装 Brave 浏览器,则将其仓库添加到你的系统中。如果你添加了一个 PPA,它也会添加为外部仓库。

当你不需要特定软件时,请将其删除。但是,外部仓库仍然存在。你还可以也应该将其删除以保持系统原始状态。

Ubuntu 可以让你轻松删除软件仓库。有不同的方法可以做到这一点:

  • 使用 apt-add-repository 命令删除仓库
  • 使用 GUI 删除仓库(对于桌面用户)
  • 通过修改 /etc/apt/sources.list 文件的文件内容(针对专家)

但在此之前,如果你对这个概念不熟悉,我强烈建议你 熟悉包管理器的概念 和仓库。

方法 1、使用 apt 删除仓库?

你知道你还可以使用 apt 命令 来删除仓库吗? 嗯,从技术上讲,它不是核心 apt 命令的一部分,但它的工作方式类似。

在处理外部仓库时,你可以使用 add-apt-repository 或者 apt-add-repository 命令(两者是同一命令)。

首先,使用以下命令列出添加的仓库:

apt-add-repository --list

list enabled repositories in Ubuntu

完成后,你可以按所示方式使用带有 -r 标志的 apt-add-repository 命令来从列表中删除:

sudo apt-add-repository -r repo_name

例如,如果我想删除 yarn 仓库,我必须使用以下命令:

sudo add-apt-repository -r deb https://dl.yarnpkg.com/debian/ stable main

Remove repository using the apt-add-repository command in Ubuntu

按回车键进行确认。

接下来,使用以下命令更新仓库:

sudo apt update

现在,如果你列出已启用的仓库,你将不会在此处找到已删除的仓库:

apt-add-repository --list

confirm repository removal process by listing enabled repositories in Ubuntu

这就完成了!

方法 2、使用 GUI 删除 Ubuntu 中的软件仓库?️

? 不建议删除你一无所知的仓库,因为它可能会限制你将来安装你最喜欢的软件包,因此请确保你知道自己在做什么。

作为 最适合初学者的发行版之一,你可以使用 GUI 来删除仓库,而无需使用终端。

为此,首先从系统菜单打开“ 软件及更新 software & updates ”应用:

search for software and updates from the system menu

现在,单击“ 其他软件 Other Software ”部分,它将列出系统中的 PPA 和外部仓库。

列出中勾选的 ✅ 是已启用的。

要删除仓库,你必须遵循三个简单的步骤

  • 选择需要删除的仓库
  • 点击“ 删除 Remove ”按钮
  • 最后,点击“ 关闭 Close ”按钮

Disable repository from Ubuntu

单击关闭按钮后,它将打开一个提示,要求你在进行更改时更新信息。

只需单击 “ 重新载入 Reload ” 按钮即可:

Click on reload to after removing repository from Ubuntu and save changes

或者,你可以从命令行更新仓库以使更改生效:

sudo apt update

方法 3、通过目录来删除仓库(对于专家?‍?)

之前,我解释了如何使用工具(GUI 和 CLI)来删除仓库。在这里,你将修改负责管理仓库的系统目录(/etc/apt/sources.list.d)。

首先,将工作目录更改为 sources.list.d 并列出其内容:

cd /etc/apt/sources.list.d/ && ls

list contents of sources.list.d directory

在这里,你将找到所有仓库的列表。

如果你仔细观察,一个仓库将有两个文件。一个带有 .list 扩展名,另一个带有 .save 扩展名。

你必须删除具有 .list 扩展名的文件:

sudo rm Repo_name.list

例如,在这里,我使用以下命令删除了 node 仓库

sudo rm nodesource.list

remove repository by removing the repository directory in Ubuntu

要使更改生效,请使用以下命令更新仓库索引:

sudo apt update

想了解更多有关 sources.list 的信息吗?阅读 这篇文章

附加步骤:删除仓库后删除 GPG 密钥(对于高级用户)

如果你希望在删除仓库后删除 GPG 密钥,请按以下步骤操作。

首先,使用以下命令列出现有的 GPG 密钥:

apt-key list

现在,输出可能会让某些用户感到困惑。

以下是要记住的事情:

  • GPG 密钥名称将放置在虚线(----)上方
  • 公钥在第二行

例如,以下是 Chrome GPG 密钥的相关数据:

list GPG keys in Ubuntu

要删除 GPG 密钥,你可以使用公钥的最后两个字符串(不带任何空格)。

例如,以下是我将如何使用 Chrome 浏览器公钥的最后两个字符串(D38B 4796)删除其 GPG 密钥:

sudo apt-key del D38B4796

remove GPG key in Ubuntu

同样,你也可以使用整个公钥。但这一次,你必须在两个字符串之间包含空格,如下所示:

sudo apt-key del "72EC F46A 56B4 AD39 C907  BBB7 1646 B01B 86E5 0310"

小心添加和删除的内容

特别是当你是 Linux 新用户时,你会遇到许多感兴趣的软件,对仓库添加了又删除。

虽然尝试是件好事,但你应该始终小心添加/删除到系统中的任何内容。你应该记住一些事情,例如:它包含更新的软件包吗? 它是受信任或维护的仓库吗?

保持谨慎将使你的系统免受不必要的仓库和软件包的影响。

我希望本指南可以帮助你删除不需要的仓库!

如果你遇到任何问题请在下面评论。

(题图:MJ/3d436ed6-76fc-47ef-88c3-b5f3e2862c7d)


via: https://itsfoss.com/remove-software-repositories-ubuntu/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在 2021 年 10 月,一个 Fedora Linux 用户 问了一个关于许可的问题。Fedora 项目负责人 Matthew Miller 回复道:“我不能快速地检查(这个问题),因为我们没有一个完整的、庞大的、可搜索的存储库来检索 Fedora 中所有软件包。”

接着他说:“……或许我们可以付钱给 Sourcegraph,让他们帮我们做这个。他们看起来乐于助人。” 他说的没错,我们(Sourcegraph)的确是乐于助人,而且我们还不想要你的钱,相反,我们想与 Fedora 社区合作。

Fedora 社区现在可以在他们的开源代码世界中尽情搜索 —— 目前有超过 34,000 个存储库,而且还在不断增加。

代码搜索简介

如果你还不熟悉 代码搜索 的概念,我现在就来告诉你。代码搜索可以让团队更快地掌握一个新的代码库,在里面找到答案,帮助团队识别安全风险,以及许多其他用例。Sourcegraph 已经在 GitHub 和 GitLab 等多个代码托管服务上,索引了 200 多万个存储库。本文只关注 src.fedoraproject.org 的代码搜索。Sourcegraph 同时提供了一个 Web 应用命令行客户端

使用 Web 应用

在使用 Sourcegraph Web 应用 时,你需要先输入初始字符串 repo:^src.fedoraprojects.org,然后再开始查询。这个 Web 应用 链接中包括了上面的初始字符串,点击这个链接后,搜索界面如下图所示:

Sourcegraph Web 应用界面

下面我将提供几个使用 Web 应用程序进行搜索的例子,大家可能会对它们感兴趣。

查找使用流行的经 OSI 批准的许可证的存储库

下面的查询语句将扫描所有兼容 “ 开源定义 Open Source Definition ”(OSD) 的软件存储库。

repo:^src.fedoraproject.org/ lang:"RPM Spec" License: ^.*apache|bsd|gpl|lgpl|mit|mpl|cddl|epl.*$

许可证搜索

试一下!

查找带有 TODO 的文件

下面的查询语句将在 34,000 多个仓库中找到 TODO 文件。对于那些希望为需要帮助的项目做出贡献的人来说,是一个非常棒的功能。

repo:^src.fedoraproject.org/ "TODO"

搜索 TODO

试一下!

查找 FTP 服务器上的文件

我的一个前同事告诉我 “FTP 是一个死协议”。真的是这样吗?你也可以在这个查询中加入任何其他协议,如 irc、https 等。

repo:^src.fedoraproject.org/ (?:ftp)://[A-Za-z0-9-]{0,63}(.[A-Za-z0-9-]{0,63})+(:d{1,4})?/*(/*[A-Za-z0-9-._]+/*)*(?.*)?(#.*)?

搜索协议

试一下!

查找使用有漏洞的 Log4j 版本的文件

这个查询语句将找到任何可能存在 CVE-2021-44228(也就是 Log4j)漏洞的文件(可能会有误报)。你也可以搜索其他漏洞,然后报告给项目维护者。

repo:^src.fedoraproject.org/ org.apache.logging.log4j 2.((0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)(.[0-9]+)) count:all

搜索 log4j

试一下!

使用命令行

Sourcegraph 还有一个叫做 src 的命令行客户端,它可以让你完成我刚才提到的所有事情。此外,它还有其他一些有用的命令。比如说,它可以把结果用 JSON 格式输出,方便你在编程中使用。

src search -json 'repo:^src.fedoraproject.org/ lang:"RPM Spec" License: ^.*apache|bsd|gpl|lgpl|mit|mpl|cddl|epl.*$'

输出 JSON

输出 JSON

试一下!

搜索语法

就入门而言,上面的例子是很好的起点,但 Sourcegraph 还支持更多的查询语句。你可以 查看所有的搜索查询语法,并根据需要创建你自己的查询语句。

总结

正如你所看到的,有了 Sourcegraph,Fedora Linux 社区现在可以快速搜索托管在 src.fedoraproject.org 上的所有代码,无论是使用普通查询还是复杂的正则查询。

感谢 Fedora Linux 社区的慷慨帮助和热情欢迎。如果你有任何想补充的内容或问题,我和我的团队都会在下面的评论区回复。你也可以 在 Slack 上找到我们

特别感谢 Vanesa Ortiz 促成了这次合作,还有 Ben Venker 帮助修复了我的正则表达式(多次),以及 Rebecca DoddNick Moore 在编辑上的帮助。


via: https://fedoramagazine.org/using-sourcegraph-to-search-34000-fedora-repositories/

作者:Justin Dorfman 选题:lujun9972 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

是不是觉得 AUR 软件库维护太复杂?那么我们来给你介绍一个新工具,可以让你很方便的维护一个你自己的 Arch Linux 软件仓库。

我们在互联网上发现了一个叫做 arch-ppa 的工具,它刚刚发布到 GitHub 上才几周,它作者 Ryan McGuire 说这个工具可以帮助你创建和维护一个安全可靠的个人 Arch Linux 软件仓库。

你可以把 arch-ppa 想象成一个 Arch Linux 下的 PPA( 个人软件包存档 Personal Package Archive ),就像 Ubuntu Linux 中常用的各种 PPA 一样。它存放在你自己的本地设备上,也可以放到远程服务器上以便你可以把你的软件包分发给成千上万的 Arch Linux 用户们。

因为 AUR 不安全,才有了 arch-ppa

arch-ppa 的开发者 Ryan McGuire 说他创建这个工具可以让 Arch Linux 的个人软件包生态系统更加的安全可靠,现在官方支持的 AUR( Arch 用户软件库 Arch User Repository )可以让任何人懂得 AUR 的人都可以上载新软件和维护它。

现在的情况是,如果你从 AUR 安装一个由你我维护这样的用户所维护的软件包,会触发一个大大的警告,是否接受该警告并安装取决于你自己。幸运的是, AUR 是由一群负责任的 Arch Linux 用户所维护的,他们一旦发现了恶意软件就会马上删除。

“这就是我为什么不喜欢类似 yaourt 或 pacaur 这样的 AUR 辅助程序。用这些辅助程序来使用 AUR 需要你经常查看它下载的 PKGBUILD 文件,才能让你可以确保不会安装了类似病毒或木马这样的东西以及从某个不知道来源的 URL 下载东西。” Ryan McGuire 说。

而这就是 arch-ppa 可以发挥用途的地方,AUR 软件包维护者希望开发一个好用的工具来帮助人工创建软件仓库,以便他们可以在一个安全可靠的环境中分发 Arch Linux 软件包。但是,要求就是你需要有一台服务器。

AUR 在 Arch Linux 用户群体里已经使用了很久,如果你想建立一个你自己的 Arch Linux 软件包归档,那么你应该试试 arch-ppa。具体情况请进一步访问该项目的 GitHub 主页

今天,我们将向你展示如何在你的 Ubuntu 个人电脑或 Ubuntu 服务器中,直接通过 Ubuntu 官方软件仓库来配置本地软件仓库。在你的电脑中创建一个本地软件仓库有着许多的好处。假如你有许多电脑需要安装软件 、安全升级和修复补丁,那么配置一个本地软件仓库是一个做这些事情的高效方法。因为,所有需要安装的软件包都可以通过快速的局域网连接从你的本地服务器中下载,这样可以节省你的网络带宽,降低互联网接入的年度开支 ...

你可以使用多种工具在你的本地个人电脑或服务器中配置一个 Ubuntu 的本地软件仓库,但在本教程中,我们将为你介绍 APT-Mirror。这里,我们将把默认的镜像包镜像到我们本地的服务器或个人电脑中,并且在你的本地或外置硬盘中,我们至少需要 120 GB 或更多的可用空间才行。 我们可以通过配置一个 HTTPFTP 服务器来与本地系统客户端共享这个软件仓库。

我们需要安装 Apache 网络服务器和 APT-Mirror 来使得我们的工作得以开始。下面是配置一个可工作的本地软件仓库的步骤:

1. 安装需要的软件包

我们需要从 Ubuntu 的公共软件包仓库中取得所有的软件包,然后在我们本地的 Ubuntu 服务器硬盘中保存它们。

首先我们安装一个Web 服务器来承载我们的本地软件仓库。这里我们将安装 Apache Web 服务器,但你可以安装任何你中意的 Web 服务器。对于 http 协议,Web 服务器是必须的。假如你需要配置 ftp 协议 及 rsync 协议,你还可以再分别额外安装 FTP 服务器,如 proftpd, vsftpd 等等 和 Rsync 。

$ sudo apt-get install apache2

然后我们需要安装 apt-mirror:

$ sudo apt-get install apt-mirror

apt-mirror-installation

注: 正如我先前提到的,我们需要至少 120 GB 的可用空间来使得所有的软件包被镜像或下载。

2. 配置 APT-Mirror

现在,在你的硬盘上创建一个目录来保存所有的软件包。例如,我们创建一个名为 /linoxide的目录,我们将在这个目录中保存所有的软件包:

 $ sudo mkdir /linoxide

现在,打开文件 /etc/apt/mirror.list :

 $ sudo nano /etc/apt/mirror.list

复制下面的命令行配置到 mirror.list文件中并按照你的需求进行修改:

############# config ##################
#
set base_path    /linoxide
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse

clean http://archive.ubuntu.com/ubuntu

注: 你可以将上面的官方镜像服务器网址更改为离你最近的服务器的网址,可以通过访问 Ubuntu Mirror Server来找到这些服务器地址。假如你并不太在意镜像完成的时间,你可以沿用默认的官方镜像服务器网址。

这里,我们将要镜像最新和最大的 Ubuntu LTS 发行版 --- 即 Ubuntu 14.04 LTS (Trusty Tahr) --- 的软件包仓库,所以在上面的配置中发行版本号为 trusty 。假如我们需要镜像 Saucy 或其他的 Ubuntu 发行版本,请修改上面的 trusy 为相应的代号。

现在,我们必须运行 apt-mirror 来下载或镜像官方仓库中的所有软件包。

sudo apt-mirror

从 Ubuntu 服务器中下载所有的软件包所花费的时间取决于你和镜像服务器之间的网络连接速率和性能。这里我中断了下载,因为我已经下载好了 ...

downloading-packages

3.配置网络服务器

为了使得其他的电脑能够访问这个软件仓库,你需要一个Web服务器。你也可以通过 ftp 来完成这件事,但我选择使用一个Web服务器因为在上面的步骤 1 中我提及到使用Web服务器。因此,我们现在要对 Apache 服务器进行配置:

我们将为我们本地的软件仓库目录 建立一个到 Apache 托管目录 --- 即 /var/www/ubuntu --- 的符号链接。

$ sudo ln -s /linoxide /var/www/ubuntu
$ sudo service apache2 start

上面的命令将允许我们从本地主机(localhost) --- 即 http://127.0.0.1(默认情况下)) --- 浏览我们的镜像软件仓库。

4. 配置客户端

最后,我们需要在其他的电脑中添加软件源,来使得它们可以从我们的电脑中取得软件包或软件仓库。为达到此目的,我们需要编辑 /etc/apt/sources.list 文件并添加下面的命令:

$ sudo nano /etc/apt/sources.list

添加下面的一行到/etc/apt/sources.list中并保存。

deb http://192.168.0.100/ubuntu/ trusty main restricted universe

注: 这里的 192.168.0.100 是我们的服务器电脑的局域网 IP 地址,你需要替换为你的服务器电脑的局域网 IP 地址

$ sudo apt-get update

最终,我们完成了任务。现在,你可以使用sudo apt-get install packagename 命令来从你的本地 Ubuntu 软件仓库中安装所需的软件包,这将会是高速的且消耗很少的带宽。


via: http://linoxide.com/ubuntu-how-to/setup-local-repository-ubuntu/

作者:Arun Pyasi 译者:FSSlc 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Reprepro是一款小巧的命令行工具来方便地创建并管理.deb仓库。今天我们会展示给你如何使用reprepro简单地创建一个Debian包仓库,并使用rsync上传到Sourceforge.net。

步骤 1: 安装Reprepro并生成key

首先,安装所有需要的包,使用下面的apt-get命令。

$ sudo apt-get install reprepro gnupg

现在你需要使用gnupg生成一个gpg key,这里使用下面的命令。

$ gpg --gen-key

它会询问你一些问题,比如你想要哪种key、key的有效期、如果你不知道如何回答,只需点击回车 来选择默认选项(建议)

当然,它会询问你用户名和密码,在脑海中记住这些,因为我们会在之后需要它。

gpg (GnuPG) 1.4.14; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 
Key does not expire at all
Is this correct? (y/N) Y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <[email protected]>"

Real name: ravisaive
Email address: [email protected]
Comment: tecmint
You selected this USER-ID:
    "Ravi Saive (tecmint) <[email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

+++++
gpg: key 2EB446DD marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/2EB446DD 2014-06-24
      Key fingerprint = D222 B1C9 342E 5911 02B1  9147 3BD6 7918 2EB4 46DD
uid                  Ravi Saive (tecmint) <[email protected]>
sub   2048R/7EF2F750 2014-06-24

现在你的key已经生成了,要检查一下,用root权限运行这条命令。

$ sudo gpg --list-keys

示例输出

/home/ravisaive/.gnupg/pubring.gpg
----------------------------------
pub   2048R/2EB446DD 2014-06-24
uid                  ravisaive (tecmint) <[email protected]>
sub   2048R/7EF2F750 2014-06-24

步骤 2: 创建一个包仓库并导出key

我们现在要开始创建仓库,首先你需要创建一些文件夹,我们的仓库会放在/var/www/apt目录,让我们先创建这些目录。

$ sudo su
# cd /var/www
# mkdir apt
# mkdir -p ./apt/incoming 
# mkdir -p ./apt/conf
# mkdir -p ./apt/key

你现在需要将key导出到仓库文件夹,运行:

# gpg --armor --export username [email protected] >> /var/www/apt/key/deb.gpg.key

注意:用你之前步骤中输入的用户名代替username,用你的email代替上面的[email protected]

我们需要在/var/www/apt/conf创建一个文件“distributions”。

# touch /var/www/apt/conf/distributions

加入下面这几行到distributions这个文件中并保存。

Origin: (你的名字)
Label: (库的名字)
Suite: (stable 或 unstable)
Codename: (发布的代码名,比如  trusty)
Version: (发布的版本,比如 14.04)
Architectures: (软件包所支持的架构, 比如 i386 或 amd64)
Components: (包含的部件,比如 main restricted universe multiverse)
Description: (描述)
SignWith: yes

接下来我们会创建仓库树,运行这些命令:

# reprepro --ask-passphrase -Vb /var/www/apt export

示例输出

Created directory "/var/www/apt/db"
Exporting Trusty...
Created directory "/var/www/apt/dists"
Created directory "/var/www/apt/dists/Trusty"
Created directory "/var/www/apt/dists/Trusty/universe"
Created directory "/var/www/apt/dists/Trusty/universe/binary-i386"
FF5097B479C8220C ravisaive (tecmint) <[email protected]> needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <[email protected]> needs a passphrase
Please enter passphrase:
Successfully created '/var/www/apt/dists/Trusty/InRelease.new'

步骤 3: 在新创建的仓库中加入包

现在准备你的.deb包来加入到仓库中。进入 /var/www/apt目录,你每次要加包的时候都必须这么做。

# cd /var/www/apt
# reprepro --ask-passphrase -Vb . includedeb Trusty /home/ravisaive/packages.deb

注意:用你在distributions文件中输入的仓库代号来代替trusty ,并且用包的路径替换/home/username/package.deb,你会被要求输入密码。

示例输出

/home/ravisaive/packages.deb : component guessed as 'universe'
Created directory "./pool"
Created directory "./pool/universe"
Created directory "./pool/universe/o"
Created directory "./pool/universe/o/ojuba-personal-lock"
Exporting indices...
FF5097B479C8220C ravisaive (tecmint) <[email protected]> needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/Release.gpg.new'
FF5097B479C8220C ravisaive (tecmint) <[email protected]> needs a passphrase
Please enter passphrase:
Successfully created './dists/Trusty/InRelease.new'

你的包已经加入了仓库,如果要移除它的话采用如下命令:

# reprepro --ask-passphrase -Vb /var/www/apt remove trusty package.deb

当然你需要用你的包名与仓库代号来修改命令。

步骤 4: 上传仓库到Sourceforge.net

要上传仓库到Sourceforge.net,你当然需要一个可用的账号与一个可用的项目,让我假设你想要上传仓库到http://sourceforge.net/projects/myfoo/testrepository,这里的myfoo是项目名(UNIX上的名称,不是URL,不是标题),testrepository是你想要上传文件到这上面的目录,这里我们会使用rsync 命令。(LCTT译注:当然你也可以上传到其它的支持Http/Rsync的服务器上,以提供远程软件库的服务。)

# rsync -avP -e ssh /var/www/apt/ [email protected]:/home/frs/project/myfoo/testrepository/

注意:用你在sourceforge.net上的用户名代替username,用你的项目的UNIX名称代替myfoo,用你想要存储的文件夹代替testrepository。

现在你的仓库(包括设置和key等等)上传到了http://sourceforge.net/projects/myfoo/testrepository

要把它加入到一个已装好的系统,首先你需要导入仓库key,它实际上就是/var/www/apt/key/deb.gpg.key,但是这是一个本地路径,使用你的仓库的其它用户不能添加到他们的系统中,这就是为什么我们要导入来自sourceforge.net的key的原因。

$ sudo su
# wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add -

你现在可以非常轻松地把仓库加入到系统中了,打开/etc/apt/sources.list,并加入下面这行:

deb http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key trusty main

Note:用你的项目的UNIX类型名称代替myfoo,用你的仓库代码代替trusty,用你上传存储的文件夹代替testrepository,用你在distributionsj加入的仓库组件代替main。

接下来,运行下面的命令来更新仓库列表。

$ sudo apt-get update

祝贺你! 你的软件仓库已经激活了!你现在可以非常简单地在你需要的时候安装包了。


via: http://www.tecmint.com/create-deb-pacakge-repository-in-ubuntu/

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出