Debian让用户可以通过一个名为add-apt-repository的应用程序,添加和使用PPA软件库,不过Kali Linux在其默认的程序包列表中并不含有该应用程序。就Kali而言,由于这是个特殊用途的应用程序,已进行了某些改动,以便让它适用于最擅长的地方 (渗透测试)。想通过add-apt-repository应用程序启用PPA软件库,遵照下面几个步骤。

首先安装Python软件属性程序包。

apt-get install python-software-properties

接下来安装apt-file。

apt-get install apt-file

更新apt-file。

apt-file update

这需要一点时间,所以万一你的apt-file更新起来很慢,可能想试试一并解决这个问题。(注意:我的/etc/apt /sources.list文件中有repo.kali.org,而不是http.kali.org。)一旦apt-file更新完毕,你应该能够搜索它 了。

apt-file search add-apt-repository

你的输出结果应该看起来类似这样:

python-software-properties: /usr/bin/add-apt-repository
python-software-properties: /usr/share/man/man1/add-apt-repository.1.gz

位于/usr/bin/add-apt-repository的默认add-apt-repository应用程序适用于Debian。所以,如果 你使用Kali,它很可能无法工作。我在本文末尾处添加了一个巧妙的解决办法,如果你喜欢的话,可以在VirtualBox上一下。但我发现,我们完全可 以模仿Ubuntu Oneiric,让add-apt-repository正常工作。

cd /usr/sbin
vi add-apt-repository

添加下列代码,并保存文件。

#!/bin/bash
if [ $# -eq 1 ]
NM=`uname -a && date`
NAME=`echo $NM | md5sum | cut -f1 -d" "`
then
ppa_name=`echo "$1" | cut -d":" -f2 -s`
if [ -z "$ppa_name" ]
then
echo "PPA name not found"
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
else
echo "$ppa_name"
echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu oneiric main" >> /etc/apt/sources.list
apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt
key=`cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3`
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
rm -rf /tmp/${NAME}_apt_add_key.txt
fi
else
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
fi

注意:在echo “deb http://ppa.launchpad.net/$ppa_name/ubuntu oneiric main” >> /etc/apt/sources.list这一行中,我使用了Oneiric。你可以根据自己的选择,试着使用Lucid、Raring或Saucy。 现在,使用chmod和chown这两个命令,对文件进行相应的操作。

chmod +x /usr/sbin/add-apt-repository
chown root:root /usr/sbin/add-apt-repository

由于我们已添加了正确的代码,我们就可以使用add-apt-repository,添加PPA软件库。我试着输入下面这两个命令,在Kali Linux中添加主题和自定义图标。

/usr/sbin/add-apt-repository ppa:noobslab/themes
/usr/sbin/add-apt-repository ppa:alecive/antigone

如果你想看个清楚,了解具体是如何工作的,建议你参阅《在Kali Linux中添加PPA软件库add-apt-repository》一文,了解更多细节。

文章来源于:http://mrfeng.me/?p=1059

kali Linux添加add-apt-repository的更多相关文章

  1. kali apt update 错误——下列签名无效: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository

    这是因为key过期了 wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add apt update

  2. Kali Linux 2.0: 安装之后的操作

    1. 添加官方软件库 1) 编辑/etc/apt/sources.list leafpad /etc/apt/sources.list 2) 用#注释掉原有的内容,并添加下述内容: # Regular ...

  3. 安装 Kali Linux 后需要做的 20 件事

    安装 Kali Linux 后需要做的 20 件事 本文含有我觉得有用的每一件事情.本文分为三大部分: 专门针对Kali用户 Kali Linux是来自Debian的一个特殊版本,Kali Linux ...

  4. Kali linux learning note

    from:http://blog.sina.com.cn/s/blog_40983e5e0101dhz0.html     因为kali linux基于debian 7,当然要把这台Acer 4736 ...

  5. 网络安全之在Kali Linux上安装Openvas

    本文目录: 一.解决和配置更新源问题 二.安装Openvas 三.自定义登陆密码 四.升级Openvas 五.查看Openvas运行情况 六.修改OpenVAS远程链接 =============== ...

  6. kali linux升级

    自己使用的是2017.2 版本的kali linux 想着升级一下 里面的包 比如msf 等 但是执行 msfupdate时提示 root@kali201702:~# msfupdate msfupd ...

  7. kali linux 入侵window实例

    我使用Kali Linux的IP地址是192.168.0.112:在同一局域网内有一台运行Windows XP(192.168.0.108)的测试电脑. 本文演示怎么使用Metasploit入侵win ...

  8. Kali Linux下常用软件安装及配置

    0x00 Synaptic Synaptic(新立得)是一个高级软件包管理器,它可以管理系统内安装的每个软件及包组件,在图形界面内完成LINUX系统软件的搜寻.安装和删除. Synaptic安装简单, ...

  9. 记录Kali Linux 安装输入法过程

    1.首先设置源,打开终端输入. eafpad /etc/apt/sources.list 清空Sources.list里的内容,设置一个阿里云的源就行了. deb http://mirrors.ali ...

随机推荐

  1. 去掉tableview顶部留白

    self.automaticallyAdjustsScrollViewInsets = NO;   //去掉tableVIew顶部留白

  2. Python —基本数据类型

    运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31- ...

  3. My Baits入门(一)mybaits环境搭建

    1)在工程下引入mybatis-3.4.1.jar包,再引入数据库(mysql,mssql..)包. 2)在src下新建一个配置文件conf.xml <?xml version="1. ...

  4. ko trick

    (1)let a = ko.observable(‘A’)绑定到select,如果下拉列表中找不到'A', 变量a会赋值成undefined.   要解决此问题可以使用绑定valueAllowUnse ...

  5. 20145320GDB调试汇编堆栈过程分析

    GDB调试汇编堆栈过程分析 在这里首先感谢卢肖明的分析博客,为后面的同学减少了很多分析的负担. 分析过程 使用gcc - g example.c -o example -m32指令在64位的机器上产生 ...

  6. TIJ——Chapter Seven:Reusing Classes

    Reusing Classes 有两种常用方式实现类的重用,组件(在新类中创建存在类的对象)和继承. Composition syntax Every non-primitive object has ...

  7. size_t 类型

    1 关于size_t定义 size_t是一种数据相关的无符号类型,它被设计得足够大以便能够内存中任意对象的大小.在cstddef头文件中定义了size_t类型,这个文件是C标准库stddef.h头文件 ...

  8. 批处理——服务器的web文件备份

    首先建立三个文本文件,稍后会变成.bat结尾的批处理文件. 第一个文件:copyfile.bat[复制需要备份的文件到tmp文件下,等待压缩时使用] xcopy "D:\Webhost\*. ...

  9. sublime text3 前端编译神器,浏览器实时显示

    前端编译器有很多,Dreamweaver,sublime text ,webstorm,但在使用之后感觉sublime text3就是前端的编译神器 首先sublime text3最好使用英文原版,虽 ...

  10. Datatypes translation between Oracle and SQL Server

    Datatypes translation between Oracle and SQL Server part 1: character, binary strings Datatypes tran ...