练习 1 方案:确定软件包是否安装
如果您不确定某个软件包是否已经安装,可以使用 dpkg
的 -l
(L的小写) 选项:
$ dpkg -l zsh No packages found matching zsh. |
上面结果这表明 zsh 没有 安装。
练习 2 的方案. 搜索软件包
可以使用 apt-cache
命令和它的 search
子命令来搜索软件包: zsh,如清单 1 所示。
清单 1. 使用 apt-cache 搜索 zsh
$ apt-cache search zsh kdesdk-scripts - scripts and data files for development zsh - A shell with lots of features zsh-dbg - A shell with lots of features (debugging symbols) zsh-dev - A shell with lots of features (development files) zsh-doc - zsh documentation - info/HTML format csh - Shell with C-like syntax, standard login shell on BSD systems draai - A command-line music player for MPD fatrat-czshare - fatrat plugin allowing download and upload to czshare grml-shlib - Generic shell library used in grml scripts tucan - Download and upload manager for 1-Click Hosters viewglob - A graphical display of directories referenced at the shell prompt zsh-beta - A shell with lots of features (dev tree) zsh-beta-doc - zsh beta documentation - info/HTML format zsh-lovers - tips, tricks and examples for the zsh zsh-static - A shell with lots of features (static link) zshdb - debugger for Z-Shell scripts |
该输出给出了相关联的几个软件包,包含了 zsh
字符串。如果您想安装 Z shell,zsh 包就是您要的。(您可能还要安装 zsh-doc
和其他的包,但现在安装 zsh 就可以了。)
练习 3 的方案. 使用 APT 安装一个软件包
要从一个 APT 代码库安装,可以使用 apt-get
和它的 install
选项,如清单 2 所示。
清单 2. 通过 APT 安装 zsh
$ sudo apt-get install zsh Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: zsh-doc The following NEW packages will be installed: zsh 0 upgraded, 1 newly installed, 0 to remove and 59 not upgraded. Need to get 4,504 kB of archives. After this operation, 14.1 MB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/main zsh amd64 4.3.11-4ubuntu2.is.3ubuntu1 [4,504 kB] Fetched 4,504 kB in 7s (643 kB/s) Selecting previously deselected package zsh. (Reading database ... 146971 files and directories currently installed.) Unpacking zsh (from .../zsh_4.3.11-4ubuntu2.is.3ubuntu1_amd64.deb) ... Processing triggers for menu ... Processing triggers for man-db ... Setting up zsh (4.3.11-4ubuntu2.is.3ubuntu1) ... update-alternatives: using /bin/zsh4 to provide /bin/zsh (zsh) in auto mode. update-alternatives: using /bin/zsh4 to provide /bin/rzsh (rzsh) in auto mode. update-alternatives: using /bin/zsh4 to provide /bin/ksh (ksh) in auto mode. Processing triggers for menu ... |
注意: 由于 debian 的安全模式,影响软件包安装的命令前面必须加 sudo
。某些发行版以及修改了缺省安全模式的 debian,可以忽略 sudo
,但需要从 root 用户执行命令。
apt-get install
命令搜索并安装 zsh。如果有任何依赖包没有装,该命令同时安装这些包。
练习 4 的方案. 确定软件包的状态
使用 -s
或 --status
选项验证 zsh 是否已经安装。见清单 3。
清单 3. 验证 zsh 是否安装
$ dpkg -s zsh Package: zsh Status: install ok installed Priority: optional Section: shells Installed-Size: 13732 Maintainer: Ubuntu Developers ([email protected]) Architecture: amd64 Version: 4.3.11-4ubuntu2.is.3ubuntu1 Depends: libc6 (>= 2.4), libcap2 (>= 2.10), libncursesw5 (>= 5.6+20070908) Recommends: libc6 (>= 2.11), libpcre3 (>= 8.10) Suggests: zsh-doc Conffiles: /etc/zsh/zlogin 48032df2ace0977f2491b016e3c421a3 /etc/zsh/zlogout b73789c3e790b855302ce10ca076037a /etc/zsh/zprofile 58c4f65d775c055b5d80b67c1bd12838 /etc/zsh/zshenv 5a8a0ff4f6ff945a5aa6ba7f6f1e8c97 /etc/zsh/zshrc e069ba51ba293da1aeddd5779324df19 /etc/zsh/newuser.zshrc.recommended dac3563a2ddd13e8027b1861d415f3d4 Description: A shell with lots of features Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. Zsh has command-line editing, built-in spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features. Homepage: http://www.zsh.org/ Original-Maintainer: Debian Zsh Maintainers ([email protected]) |
This package is now installed, and you can see information on its version, its dependencies, who created it, and so on.
练习 5 的方案. 列出软件包相关的文件
To learn which files were installed as part of the zsh package, use the -L
option to dpkg
:
$ dpkg -L zsh |
The resulting output is quite lengthy, because the package includes many individual files. If you wanted to search for a particular file, you might want to pipe the output through grep
or less
.
练习 6 的方案. 卸载软件包
For the final exercise, uninstall zsh (unless you want to try it and perhaps even use it regularly). To do so, use apt-get
and its remove
or purge
command. Listing 4 shows the code.
清单 4. 卸载 zsh
$ sudo apt-get remove zsh Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: zsh 0 upgraded, 0 newly installed, 1 to remove and 59 not upgraded. After this operation, 14.1 MB disk space will be freed. Do you want to continue [Y/n]? y (Reading database ... 148096 files and directories currently installed.) Removing zsh ... Processing triggers for man-db ... Processing triggers for menu ... |
Alternatively, you could use dpkg
and its -r
/--remove
or -P
/--purge
option. Listing 5 shows the code.
清单 5. 使用 dpkg 卸载
$ sudo dpkg -P zsh (Reading database ... 148096 files and directories currently installed.) Removing zsh ... Purging configuration files for zsh ... Processing triggers for man-db ... Processing triggers for menu ... |