首页 > 其他分享 >kali 软件管理

kali 软件管理

时间:2023-08-24 12:24:42浏览次数:23  
标签:... 管理 -- kali apt vsftpd 软件包 软件

kali 更新

1. 查看发行版本

┌──(root㉿kali)-[~]
└─# lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description:    Kali GNU/Linux Rolling
Release:        2023.2
Codename:       kali-rolling
 

2. 查看内核版本

┌──(root㉿kali)-[~]
└─# uname -r 
6.3.0-kali1-amd64

3. 软件仓库配置文件(.list结尾)

软件存储库存储在 /etc/apt/sources.list 文件中

还可以把一些自定义或单独的应用配置文件放在 /etc/apt/sources.list.d/*.list 中

配置文件

4. 更新工具(apt-get 命令)

──(root㉿kali)-[~]
└─# apt-get -h         
apt 2.6.1 (amd64)
用法: apt-get [选项] 命令
    apt-get [选项] install|remove 软件包1 [软件包2 ...]
    apt-get [选项] source 软件包1 [软件包2 ...]

apt-get 可以从认证软件源下载软件包及相关信息,以便安装和升级软件包,
或者用于移除软件包。在这些过程中,软件包依赖会被妥善处理。

常用命令:
  update - 取回更新的软件包列表信息
  upgrade - 进行一次升级
  install - 安装新的软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)
  reinstall - 重新安装软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)
  remove - 卸载软件包
  purge - 卸载并清除软件包的配置
  autoremove - 卸载所有自动安装且不再使用的软件包
  dist-upgrade - 发行版升级,见 apt-get(8)
  dselect-upgrade - 根据 dselect 的选择来进行升级
  build-dep - 为源码包配置所需的编译依赖关系
  satisfy - 使系统满足依赖关系字符串
  clean - 删除所有已下载的包文件
  autoclean - 删除已下载的旧包文件
  check - 核对以确认系统的依赖关系的完整性
  source - 下载源码包文件
  download - 下载指定的二进制包到当前目录
  changelog - 下载指定软件包,并显示其变更日志(changelog)

Kali 的更新步骤:

1. apt-get update 更新软件包的列表 (索引)

解决更新软件包列表失败: apt-get update --fix-missing

┌──(root㉿kali)-[~]
└─# apt-get update
获取:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease [41.2 kB]
获取:2 http://mirrors.ustc.edu.cn/kali kali-rolling/main Sources [15.8 MB]
获取:3 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib Sources [78.0 kB]                 
获取:4 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free Sources [129 kB]                 
获取:5 http://mirrors.ustc.edu.cn/kali kali-rolling/main amd64 Packages [19.4 MB]             
获取:6 http://mirrors.ustc.edu.cn/kali kali-rolling/main amd64 Contents (deb) [45.7 MB]       
获取:7 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free amd64 Packages [218 kB]          
获取:8 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free amd64 Contents (deb) [907 kB]    
获取:9 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib amd64 Packages [115 kB]           
获取:10 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib amd64 Contents (deb) [220 kB]    
已下载 82.6 MB,耗时 4分 14秒 (325 kB/s)                                                      
正在读取软件包列表... 完成

2. apt-get upgrade更新软件包(进行一次升级)

┌──(root㉿kali)-[~]
└─# apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
正在计算更新... 完成
下列软件包是自动安装的并且现在不需要了:

3. apt-get dist-upgrade将系统升级到最新版本

┌──(root㉿kali)-[~]
└─# apt-get dist-upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
正在计算更新... 完成

4. apt-get clean #清除更新痕迹//可选

搜索 - 安装 - 删除软件

Advanced Packaging Tool, or apt 主要的命令就是apt-get,通过软件仓库实现对软件包的管理,可以很好地解决软件包之间的相互依赖关系

1. 搜索

apt-cache 可以查询和显示已安装和可安装软件包的可用信息它专门工作在本地的数据缓存上,而这些缓存可以通过比如apt-get 的“update’命令来更新

┌──(root㉿kali)-[~]
└─# apt-cache -h               
apt 2.7.3 (amd64)
用法: apt-cache [选项] 命令
       apt-cache [选项] show 软件包1 [软件包2 ...]

apt-cache 可以查询和显示已安装和可安装软件包的可用信息。
它专门工作在本地的数据缓存上,而这些缓存可以通过比如
apt-get 的 'update' 命令来更新。如果距离上一次更新的时间太久,
那么它显示的信息可能就会过时。不过作为交换,apt-cache 不依赖
当前软件源的可用性(比如:离线状态)。

常用命令:
  showsrc - 显示源文件的各项记录
  search - 根据正则表达式搜索软件包列表
  depends - 显示该软件包的依赖关系信息
  rdepends - 显示所有依赖于该软件包的软件包名字
  show - 以便于阅读的格式介绍该软件包
  pkgnames - 列出所有软件包的名字
  policy - 显示软件包的安装设置状态

常用的命令选项

  • search- 根据正则表达式搜索软件包列表
  • show-以便于阅读的格式介绍该软件包
┌──(root㉿kali)-[~]
└─# apt-cache search vsftpd    
ccze - robust, modular log coloriser
resource-agents - Cluster Resource Agents
vsftpd - lightweight, efficient FTP server written for security
vsftpd-dbg - lightweight, efficient FTP server written for security (debug)
yasat - simple stupid audit tool


## 正则表达式
┌──(root㉿kali)-[~] ## ^ 开始
└─# apt-cache search ^vsftpd
vsftpd - lightweight, efficient FTP server written for security
vsftpd-dbg - lightweight, efficient FTP server written for security (debug)


┌──(root㉿kali)-[~] ## 查看
└─# apt-cache show vsftpd   
Package: vsftpd
Source: vsftpd (3.0.3-13)
Version: 3.0.3-13+b2
Installed-Size: 343
Maintainer: Keng-Yu Lin <[email protected]>
Architecture: amd64
Replaces: ftp-server
Provides: ftp-server
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libcap2 (>= 1:2.10), libpam0g (>= 0.99.7.1), libssl3 (>= 3.0.0), libwrap0 (>= 7.6-4~), adduser, libpam-modules, lsb-base (>= 3.0-6), netbase, procps, sysvinit-utils (>= 2.96)

管理工具 dpkg

Debian的软件包格式 *.deb (管理工具是dpkg) dpkg - package manager for

┌──(root㉿kali)-[~]
└─# dpkg --help
用法:dpkg [<选项>...] <命令>

命令:
  -i|--install       <.deb 文件名> ... | -R|--recursive <目录> ...
  --unpack           <.deb 文件名> ... | -R|--recursive <目录> ...
  -A|--record-avail  <.deb 文件名> ... | -R|--recursive <目录> ...
  --configure        <软件包名>    ... | -a|--pending
  --triggers-only    <软件包名>    ... | -a|--pending
  -r|--remove        <软件包名>    ... | -a|--pending
  -P|--purge         <软件包名>    ... | -a|--pending
  -V|--verify <软件包名> ...       检查包的完整性。
  --get-selections [<表达式> ...]  把已选中的软件包列表打印到标准输出。
  --set-selections                 从标准输入里读出要选择的软件。
  --clear-selections               取消选中所有非必需的软件包。
  --update-avail <软件包文件>      替换现有可安装的软件包信息。
  --merge-avail  <软件包文件>      把文件中的信息合并到系统中。
  --clear-avail                    清除现有的软件包信息。
  --forget-old-unavail             忘却已被卸载的不可安装的软件包。
  -s|--status      <软件包名> ...  显示指定软件包的详细状态。
  -p|--print-avail <软件包名> ...  显示可供安装的软件版本。
  -L|--listfiles   <软件包名> ...  列出属于指定软件包的文件。
  -l|--list  [<表达式> ...]        简明地列出软件包的状态。
  -S|--search <表达式> ...         搜索含有指定文件的软件包。
  -C|--audit [<表达式> ...]        检查是否有软件包残损。
  --yet-to-unpack                  列出标记为待解压的软件包。
  --predep-package                 列出待解压的预依赖。
  --add-architecture    <体系结构> 添加 <体系结构> 到体系结构列表。
  --remove-architecture <体系结构> 从体系结构列表中移除 <体系结构>。
  --print-architecture             显示 dpkg 体系结构。
  --print-foreign-architectures    显示已启用的异质体系结构。
  --assert-<特性>                  对指定特性启用断言支持。
  --validate-<属性> <字符串>       验证一个 <属性>的 <字符串>。
  --compare-versions <a> <关系> <b> 比较版本号 - 见下。
  --force-help                     显示本强制选项的帮助信息。
  -Dh|--debug=help                 显示有关出错调试的帮助信息。

  -?, --help                       显示本帮助信息。
      --version                    显示版本信息。

可验证的属性:pkgname, archname, trigname, version.

调用 dpkg 并带参数 -b, --build, -c, --contents, -e, --control, -I, --info,
  -f, --field, -x, --extract, -X, --vextract, --ctrl-tarfile, --fsys-tarfile
是针对归档文件的。 (输入 dpkg-deb --help 获取帮助)

选项:
  --admindir=<目录>          使用指定 <目录> 而非 /var/lib/dpkg。
  --root=<目录>              安装到另一个根目录下。
  --instdir=<目录>           改变安装目录的同时保持管理目录不变。
  --pre-invoke=<命令>        设置调用前钩子。
  --post-invoke=<命令>       设置调用后钩子。
  --path-exclude=<表达式>    不要安装匹配Shell表达式的路径。
  --path-include=<表达式>    在排除模式后再包含一个模式。
  -O|--selected-only         跳过没有被选中安装或升级的软件包。
  -E|--skip-same-version     跳过版本与已安装软件版本相同的软件包。
  -G|--refuse-downgrade      跳过版本早于已安装软件版本的的软件包。
  -B|--auto-deconfigure      就算会损坏其他软件包,也要安装。
  --[no-]triggers            跳过或强制随之发生的触发器处理。
  --verify-format=<格式>     检查输出格式(支持的值:'rpm')
  --no-pager                 禁用任何分页器。
  --no-debsig                不去尝试验证软件包的签名。
  --no-act|--dry-run|--simulate
                             仅报告要执行的操作 - 但是不执行。
  -D|--debug=<八进制数>      开启调试(参见 -Dhelp 或者 --debug=help)。
  --status-fd <n>            发送状态更新到文件描述符<n>。
  --status-logger=<命令>     发送状态更新到 <命令> 的标准输入。
  --log=<文件名>             将状态更新和操作信息到 <文件名>。
  --ignore-depends=<软件包>[,...]
                             忽略关于 <软件包> 的所有依赖关系。
  --force-<项目>...          忽视遇到的问题(参见 --force-help)。
  --no-force-<项目>[,...]    遇到指定问题时停止。
  --refuse-<项目>[,...]      同上。
  --abort-after <n>          累计遇到 <n> 个错误后中止。
  --robot                    对某些命令使用机器可读的输出。

可供--compare-versions 使用的比较运算符有:
 lt le eq ne ge gt        (如果版本号为空,那么就认为它先于任意版本号);
 lt-nl le-nl ge-nl gt-nl  (如果版本号为空,那么就认为它后于任意版本号);
 < << <= = >= >> >        (仅仅是为了与主控文件的语法兼容)。

'apt' 和 'aptitude' 提供了更为便利的软件包管理。

DebianCentos、RedHat的软件包格式*.rpm (管理工具是rpm)

┌──(root㉿kali)-[~]
└─# dpkg -l      
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触 >
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称                                           版本                                 体系结>
+++-==============================================-====================================-======>
ii  acl                                            2.3.1-3                              amd64 >
ii  adduser                                        3.137                                all   >
ii  adwaita-icon-theme                             43-1                                 all   >
ii  aircrack-ng                                    1:1.7-5                              amd64 >
ii  alsa-topology-conf                             1.2.5.1-2                            all   >
ii  alsa-ucm-conf                                  1.2.9-1                              all   >
ii  amass                                          4.1.0-0kali1                         amd64 >
ii  amass-common                                   4.1.0-0kali1                         all   >
ii  amd64-microcode                                3.20230808.1.1                       amd64 >
ii  apache2                                        2.4.57-2                             amd64 >
ii  apache2-bin                                    2.4.57-2                             amd64 >
ii  apache2-data                                   2.4.57-2                             all   >
ii  apache2-utils                                  2.4.57-2                             amd64 >
ii  apparmor                                       3.0.8-3                              amd64 >
ii  apt                                            2.7.3                                amd64 >


## 查询 dpkg -l | grep less
                                                                                               
┌──(root㉿kali)-[~]
└─# dpkg -l | grep less
ii  aircrack-ng                                    1:1.7-5                              amd64        wireless WEP/WPA cracking utilities
ii  default-jre-headless                           2:1.17-74                            amd64        Standard Java or Java compatible Runtime (headless)
ii  firmware-ath9k-htc                             1.4.0-108-gd856466+dfsg1-2+kali2     all          firmware for AR7010 and AR9271 USB wireless adapters
ii  firmware-atheros                               20230515-3+kali1                     all          Binary firmware for Qualcomm Atheros wireless cards
ii  firmware-brcm80211                             20230515-3+kali1                     all          Binary firmware for Broadcom/Cypress 802.11 wireless cards
ii  firmware-iwlwifi                               20230515-3+kali1                     all          Binary firmware for Intel Wireless cards
ii  firmware-libertas                              20230515-3+kali1                     all          Binary firmware for Marvell wireless cards

2. 安装软件

## 查询 dpkg -l | grep vsftpd
┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd

## 安装 apt-get install vsftpd                                                                                               
┌──(root㉿kali)-[~]
└─# apt-get install vsftpd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成   


┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd 
ii  vsftpd                                         3.0.3-13+b2                          amd64        lightweight, efficient FTP server written for security
     

3. 删除软件包

ot㉿kali)-[~]
└─# apt-get remove vsftpd

## 以上命令删除 软件后还会存在配置文件
┌──(root㉿kali)-[~]
└─# dpkg -L vsftpd       
/etc
/etc/ftpusers
/etc/init.d
/etc/init.d/vsftpd
/etc/logrotate.d
/etc/logrotate.d/vsftpd
/etc/pam.d
/etc/pam.d/vsftpd
/etc/vsftpd.conf
                                                                                               
┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd
rc  vsftpd                                         3.0.3-13+b2                          amd64        lightweight, efficient FTP server written for security
  


## 删除2 apt-get purge vsftpd
┌──(root㉿kali)-[~]
└─# apt-get purge vsftpd  
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列软件包是自动安装的并且现在不需要了 

                                                                                        
┌──(root㉿kali)-[~]
└─# dpkg -L vsftpd        
dpkg-query: 软件包 vsftpd 没有被安装
通过 dpkg --contents (= dpkg-deb --contents) 来列出档案文件清单。
                                                                                               
┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd 

4. 搜索 apt-file

apt-file 可以根据命令搜索软件包

┌──(root㉿kali)-[~]
└─# apt-file -h    

apt-file [options] action [pattern]
apt-file [options] -f action <file>
apt-file [options] -D action <debfile>

Pattern options:
================

    --fixed-string     -F               Do not expand pattern
    --from-deb         -D               Use file list of .deb package(s) as
                                        patterns; implies -F
    --from-file        -f               Read patterns from file(s), one per line
                                        (use '-' for stdin)
    --ignore-case      -i               Ignore case distinctions
    --regexp           -x               pattern is a regular expression
    --substring-match                   pattern is a substring (no glob/regex)


Search filter options:
======================

    --architecture     -a  <arch>       Use specific architecture [L]
    --index-names      -I  <names>      Only search indices listed in <names> [L]
    --filter-suites        <suites>     Only search indices for the listed <suites> [L]
                                        (E.g. "unstable")
    --filter-origins       <origins>    Only search indices from <origins> [L]
                                        (E.g. "Debian")

Other options:
==============

    --config           -c <file>        Parse the given APT config file [R]
    --option           -o <A::B>=<V>    Set the APT config option A::B to "V" [R]
    --package-only     -l               Only display packages name
    --stream-results                    Emit results immediately (without deduplication)
    --verbose          -v               run in verbose mode [R]
    --help             -h               Show this help.
                       --               End of options (necessary if pattern
                                        starts with a '-')

[L]: Takes a comma-separated list of values.
[R]: The option can be used repeatedly

Action:
    list|show          <pattern>        List files in packages
    list-indices                        List indices configured in APT.
    search|find        <pattern>        Search files in packages
    update                              Fetch Contents files from apt-sources.

  • Step0: apt-get install apt-file .

  • Step1: 更新缓存:apt-file update

┌──(root㉿kali)-[~]
└─# apt-file update
命中:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
所有软件包均为最新。
     
  • Step2: 举例 :apt-file search arpspoof.//搜索 arpspoof 命令由哪个软件包提供
┌──(root㉿kali)-[~]
└─# apt-file search arpspoof
bash-completion: /usr/share/bash-completion/completions/arpspoof
dsniff: /usr/sbin/arpspoof
dsniff: /usr/share/man/man8/arpspoof.8.gz

Ps: arpspoof ,arp 欺骗的工具

正则表达式

正则表达式(regular expression),可简写为 regex或re,是一种指定字符串模式的简洁方式即一种用来描述文本模式的特殊语法。由普通字符(例如字符 a 到2)以及特殊字符(称为元字符,如/、*、?等) 组成,常用于字符串的搜索与替换操作。.例如,下面的一组字符串

  • 例如:

    • 作为正则表达式,可以使用 xiao[123]表示:
      xiao1 、xiao2 、xiao3 .
  • 很多UNIX工具都使用正则表达式来强化其自身的功能,例如:

    • (1)查找匹配文本的grep 家族(grep/egrep/agrep)
    • (2)大名鼎鼎的流编辑器 sed
    • (3)字符串程序处理语言 awk、perl 等
    • (4)文本查看程序,例如 more、less 等
    • (5)文本编辑器,例如 vi、emacs、jed 等
  • 特殊的元字符

    • . :除新行(如换行)字符外,匹配任意的单个字符,即一定有一个任意字符
    • ^ :锚:匹配行的开头
    • $ :锚:匹配行的末尾
    • \< :锚:匹配单词的开头 (\b)
    • \> :锚:匹配单词的末尾 (\b)
    • [list] :字符类:匹配 list 列表中的任一字符字符类
    • [^list] :字符类:匹配不在 list 列表中的任何字符
    • ( ) :分组:视为一个单独的单元
    • | :交替:匹配选择之一,为 ERE 运算符里优先级最低
    • \ :引用:从字面上解释元字符,通常用以关闭后续字符的特殊含义。
    • * :匹配在它之前的任何数目《或没有)的单个字符,重复前一个0到无穷多注

注 1:锚(anchor), 用来匹配在字符串的开头或末尾的位置。

注 2:分组,由于()--圆括号提供分组功能,让运算符可以被应用到“前置的正则表达式”

标签:...,管理,--,kali,apt,vsftpd,软件包,软件
From: https://www.cnblogs.com/depressiom/p/17653843.html

相关文章

  • 4进程管理
    进程是静态指令的运行过程,是系统进行资源分配和调度的一个独立单位由程序块、进程控制块(PCB)和数据块三部分组成PCB:是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。进程与程序的区别:进程是程序的一次......
  • EAS_设置上下文管理组织单元
    //设置上下文的管理单元和控制单元,是客户建立在流水认领的收款公司下addbyZLF2023-5-3114:43:08ContextUtil.setCurrentFIUnit(ctx,info.getCollectingCompany());CtrlUnitInfoctrlUnitInfo=newCtrlUnitInfo();ctrlUnitInfo.setId(info.getCollectingCom......
  • 视频云存储平台EasyCVR视频汇聚平台关于机电设别可视化管理平台可实施设计方案
    随着工业化进程的不断发展,机电设备在各行各业中扮演着重要的角色。然而,由于机电设备种类繁多、数量庞大,包括生产机械、建筑器械、矿用器械、制药器械、食品机械等,传统的手动管理方式已经无法满足对设备进行精细化管理的需求。因此,设备生产厂家、设备维保商和设备使用单位正在寻求......
  • pip或者pip3安装软件,使用国内的镜像源?
    使用pip3或者pip安装软件,默认使用的是python官方的镜像,如果遇到速度慢,或者超时的情况,可以考虑使用国内的镜像源。 如下:清华大学镜像源(Tuna):  https://pypi.tuna.tsinghua.edu.cn/simplepipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplepackage-name  ......
  • 2磁盘结构与管理
    磁盘的几个概念:磁盘、磁面、磁道、扇区、柱面一个磁面有多个磁道一个扇区包含多个磁道每个盘面都有读写磁头存取时间=寻道时间+等待时间读取磁盘数据的时间包括三个部分:1、找磁道时间2、找块扇区的时间,即旋转延迟时间3、传输时间磁盘移臂调度算法先来先服务:FCFS(谁先申......
  • linux 磁盘管理
      这块电脑上有一块磁盘,sda,上面有3个物理分区,sda1,2,3如果想新建一个物理分区,用如下命令输入n新建分区       d删除分区    w保存    q退出   ......
  • 解决方案 | 1分钟快速解决 win10 任务管理器性能不显示GPU?
    1问题环境:win1022h2    2解决方法  win+r输入dxdiag回车,查看下面信息:(1)确认你的Windows10版本号大于1909,如果确认,在任务管理器进程页右键名称一栏,将GPU勾选上即可。如果Windows10版本过旧,更新至1909版本或以上即可。  (2)还是上面图片点击【显示】,确保此......
  • QT数据库连接管理类
    使用单例管理整个项目的数据库连接。在QT中不同线程须使用不同的数据库实例。MySql有连接超时——超过设定(默认8小时)没有活动会关闭连接。一、头文件#pragmaonce#ifndefCSQLDATABASE_H#defineCSQLDATABASE_H#include<QtSql>#include<QString>#include<QMutex>#i......
  • openGauss学习笔记-48 openGauss 高级数据管理-函数
    openGauss学习笔记-48openGauss高级数据管理-函数openGauss常用的函数如下:48.1数学函数abs(x)描述:绝对值。返回值类型:和输入相同。示例:openGauss=#SELECTabs(-17.4);abs------17.4(1row)cbrt(dp)描述:立方根。返回值类型:doubleprecision示例:openGauss......
  • 内存管理知识的简单介绍
    计算机用于存储的设备高速缓存(临时存储)内存,进程(临时存储)磁盘(永久存储)从下往上缓存速度越来越快,价格逐渐升高,存储大小越来越小。内存管理的简单发展早期的内存管理采取的是运用物理地址存储。但如果是遇到多进程的话,容易造成问题。地址空间管理多进程的内存时:要想......