LPI Linux 认证/LPIC1 考试 101/Linux 安装与包管理
- 设计硬盘布局
- 安装引导管理器
- 从源代码编译和安装程序
- 管理共享库
- 使用 Debian 软件包管理
- 使用 Red Hat 软件包管理器 (RPM)
(LPIC-1 版本 5.0)
权重:2
描述
考生应能够为 Linux 系统设计磁盘分区方案。
关键知识领域
- 将文件系统和交换空间分配到独立的分区或磁盘。
- 根据系统的预期用途定制设计。
- 确保
/boot
分区符合引导的硬件要求。
以下是使用文件、术语和实用程序的部分列表
/
(根) 文件系统/var
文件系统/home
文件系统/boot
文件系统- EFI 系统分区 (ESP)
- 交换空间
- 挂载点
- 分区
文件系统只是在硬盘或其他介质上以计算机可访问的形式组织数据的一种方式。不同的文件系统具有不同的组织结构,以确定数据和索引信息将存储在何处。一些流行的文件系统包括
ext2 one of the oldest and most universally supported filesystems on Linux, Unix, and BSD operating systems ext3 an extended version of ext2 which overcomes some limitations and adds journaling ext4 fourth extended filesystem - it is a journaling file system for Linux, developed as the successor to ext3. btrfs reiserfs an enhanced journaling filesystem written by Hans Reiser and extended by the open source community since his incarceration jfs xfs fat or vfat the file allocation table-based filesystem used by MS-DOS and Windows 9x NTFS A more advanced (than fat) filesystem used by Windows NT, 2000, XP and Vista
在进行安装时,通常需要创建至少两个分区
- / (根):包含 Linux 发行版的目录。
- 交换空间:允许内核运行通常无法完全放入 RAM 的更多进程的分区。
如果有多个磁盘可用,最好将 /usr 和 /home 目录放在不同的分区上。每个分区都将包含一个文件系统类型,并且可以在文件系统全局树中挂载到活动系统中。要打印活动挂载的文件系统,请使用 mount。
$ mount dev/hda3 on / type reiserfs (rw) proc on /proc type proc (rw) devpts on /dev/pts type devpts (rw) /dev/hda1 on /boot type ext2 (rw) shmfs on /dev/shm type shm (rw) usbdevfs on /proc/bus/usb type usbdevfs (rw)
交换分区不需要文件系统。它将以原始模式由内核访问,没有文件系统系统调用作为开销。
在决定分区方案之前,您确实需要确切地知道您将运行哪种应用程序。
- 邮件服务器
- Web 服务器
- 基于图形 X-Windows 的应用程序
- 等等
如果您的系统有多个磁盘,请使用最快的磁盘来存储大部分数据。
- / 包含大多数系统实用程序,并且使用不多。这些可以移到最慢的磁盘上。
- /var/log 包含大量日志信息。最好在快速磁盘上。
- /usr 通常在单独的分区上,如果您有很多客户端启动大量 X 应用程序,请使用快速磁盘。
系统应用程序示例
对于电子邮件服务,Sendmail 写入两个主要位置:邮件队列,通常是 /var/spool/mqueue 和 /var/spool/mail 以及其他位置。Apache 使用几个不同的文件,每个托管站点有两个日志文件用于记录和访问实际页面。Apache 花费相当多的时间写入 /var/log 中的日志文件(或配置为写入的位置)。
在设置新系统时,交换空间应为实际 RAM 的两倍。然而,这在现实世界中并不总是合理,但它是一个传统的指南,也是在考试中给出的保守答案。swapon 用于启用为交换指定分配的设备/分区。相反,swapoff 用于禁用为交换指定的设备/分区。这两个命令都可以使用 -a 选项,它迭代在 /proc/swaps 或 /etc/fstab 中找到的所有交换设备。
可以使用 swapon 显示有关交换分区的的信息。
swapon -s # Display the active partition
要获取有关虚拟内存使用情况的信息,请使用 vmstat。
$ vmstat -n 1 procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 5 0 1 184 3228 37684 92828 0 0 37 19 124 228 3 0 97 1 0 0 184 3476 37684 92596 0 0 0 0 102 368 0 0 100 2 0 0 184 3476 37684 92596 0 0 0 0 101 328 0 0 100 R:processes waiting for run time. b: processes in uninterruptable sleep. w: processes swapped out. swpd: virtual memory used (kB). free: Idle memory (kB). buff: Memory used as buffers (kB). si: Memory swapped in from disk (kB/s). so: Memory swapped to disk (kB/s). bi: Blocks received from a block device (blocks/s). bo: Blocks sent to a block device (blocks/s). in: The number of interrupts per second. cs: The number of context switches per second. us: user time sy: system time id: idle time
- 打开两个终端:在一个终端中定期显示虚拟内存使用情况。在第二个终端中禁用虚拟内存并重新启用它。在第一个终端中通知更改。
- 您系统的磁盘布局是什么,您有多少个磁盘?
- 您可以使用多少交换空间?
(LPIC-1 版本 5.0)
权重:2
描述
考生应能够选择、安装和配置引导管理器。
关键知识领域
- 提供备用引导位置和备份引导选项。
- 安装和配置引导加载程序,例如 GRUB Legacy。
- 对 GRUB 2 执行基本配置更改。
- 与引导加载程序交互。
以下是使用文件、术语和实用程序的部分列表
menu.lst
、grub.cfg
和grub.conf
grub-install
grub-mkconfig
- MBR
引导加载程序安装在 MBR(主引导记录)中。系统启动时,它将 MBR 中的内容加载到 RAM 中。在 Linux 下,有两个主要的引导加载程序
- Lilo:Linux 加载程序。
- Grub:GRand Unified Boot Loader。
引导加载程序允许您选择要引导的映像。系统可以包含多个映像(操作系统)。
引导加载程序允许您以交互方式运行命令并将参数传递给您将引导的映像。initrd 是用于在 RAM 上构建文件系统以挂载其他文件系统并执行程序的驱动程序。
GRUB 如今是许多发行版的默认引导加载程序。在安装 Windows 和 Linux 时,请先安装 Windows,然后安装 Linux,因为 Windows 会在没有询问的情况下覆盖 MBR。
两者都用于将映像从磁盘加载到 RAM。GRUB 相对于 LILO 具有以下优势
- 更多预 OS 命令。
- 支持存储在 1024 个 BIOS 柱面限制之外的映像。
- 可以通过文件系统访问其配置文件。
使用 LILO 时,每次添加新映像或更改映像时,都需要在 MBR 中安装新的 LILO。
- LILO 将其引导信息保存在 MBR 中
- GRUB 将其引导信息保存在文件系统中 (menu.lst)。
- LILO 还具有一个配置文件 /etc/lilo.conf。
要在 MBR 上安装 GRUB,请使用grub-install。该命令将覆盖 MBR。
要在 MBR 上安装 LILO,请使用lilo。lilo 将使用/etc/lilo.conf文件来确定写入 MBR 的内容。
示例/etc/lilo.conf:
# LILO global section boot = /dev/hda # LILO installation target: MBR vga = normal # (normal, extended, or ask) read-only # Mount the root file systems read-only # LILO Linux section image=/boot/vmlinuz # Image to load label=linux # Label to display root=/dev/hda1 # Root partition for the kernel initrd=/boot/initrd # Ramdisk # LILO DOS/Windows section other=/dev/hda3 label=windows # LILO memtest section image=/boot/memtest.bin label=memtest86
示例menu.lst(GRUB 配置文件)
# GRUB default values timeout 10 # Boot the default kernel after 10 seconds default 0 # Default kernel # Grub for Linux section 0 title GNU/Linux # Title root (hd0,1) # /dev/hda2 root filesystem # Kernel and parameters to pass to the kernel kernel /boot/vmlinuz root=/dev/hda2 read-only initrd /boot/initrd boot # Grub for DOS/Windows section title Winblows root (hd0,2) # /dev/hda3 makeactive chainloader+1
* GRUB Manual * GRUB homepage * Grub wiki * Linux+Win+Grub HowTo * Linux Recovery and Boot Disk Creation with Grub. * Win32 Grub * Booting with GRUB * WinGRUB * GRUB Installer for Windows * GRUB for DOS - Bridging DOS/Windows to Unix/Linux
1) 在软盘上安装 Grub 并尝试手动启动镜像
mkfs -t ext2 /dev/fd0 mount /dev/fd0 /mnt mkdir -p /mnt/boot/grub cp /boot/grub/stage* /mnt/boot/grub/ cp /boot/grub/e2fs-stage1_5 /mnt/boot/grub/ touch /mnt/boot/grub umount /mnt grub root (fd0) setup (fd0) quit
现在使用软盘重启,并从提示符中选择硬盘上的内核。
root (hd0,1) kernel /boot/vmlinuz root=/dev/hda2 read-only initrd /boot/initrd boot
2) 创建 /boot/grub/menu.lst 文件,并使用 grub 实用程序将 Grub 安装到硬盘驱动器。
3) 重新安装 lilo。将默认内核映像的 linux 标签更改为 SuSE,在 /etc/lilo.conf 中,然后在 MBR 中重新安装 lilo 程序。
(LPIC-2 版本 4.5)
权重 2
描述: 候选人应该能够从源代码构建和安装可执行程序。该目标包括能够解压缩源文件。
关键知识领域
- 使用常见的压缩和归档实用程序解压缩源代码。
- 了解调用 make 编译程序的基本知识。
- 将参数应用于配置脚本。
- 了解源代码默认存储位置。
术语和实用程序
/usr/src/
gunzip
gzip
bzip2
xz
tar
configure
make
uname
install
patch
归档是将相关文件存储在一个文件中的集合。允许将文件和子目录存储在一个文件中的命令是 tar。
tar function & options files
常用功能:-c:创建新的 tar 文件。-t:显示 tar 文件的内容。-x:解压缩 tar 文件的内容。
常用选项:-f 文件:指定 tar 文件的名称。
示例
tar cvf mybackup.tar ~ tar cvf usr.tar /usr tar tvf mybackup.tar tar xvf mybackup.tar
使用 .tar 扩展名来标识所有使用 tar 归档的文件是一种良好做法。
压缩可以节省存储空间和文件传输时间。有多种实用程序可以进行压缩
- compress, uncompress # 旧的 Unix 压缩算法
- gzip, gunzip # 最常见的用法
- bzip2, bunzip2 # 最佳压缩算法
创建归档文件后,可以对其进行压缩。示例
$ ls -l backup.tar -rw-r--r-- 1 rarrigon users 22773760 nov 10 11:07 backup.tar
$ gzip -v backup.tar backup.tar: 53.8% -- replaced with backup.tar.gz
$ ls -l backup.tar.gz -rw-r--r-- 1 rarrigon users 10507393 nov 10 11:07 backup.tar.gz
gunzip backup.tar.gz $ bzip2 -v backup.tar backup.tar: 2.260:1, 3.540 bits/byte, 55.75% saved, 22773760 in, 10077846 out.
在归档文件和子目录时,可以使用一个命令进行打包和压缩。示例
tar cvzf backup.tgz ~ # Backup of home with gzip tar cvjf backup.tbz ~ # Backup of home with bzip2 tar xvzf backup.tgz # Extract and gunzip backup.tgz tar xvjf backup.tbz # Extract and bunzip2 backup.tbz
默认情况下,tar 使用相对路径,但使用 -P 选项可以保存具有绝对路径的文件。以这种模式保存的文件将始终提取到相同的位置。
用于在一行中压缩和归档
$ tar cvf - . | gzip > target.tar.gz
用于解压缩压缩归档文件
$ gunzip -c file_name.tar.gz |tar xvf -
在 Linux 下,可以使用标准的 GNU 工具链构建所有源代码。make 实用程序用于维护程序组。使用 Makefile 中定义的规则。
- gcc ANSI C 编译器
- g++ C++ 编译器
许多压缩或归档的软件包在安装后将包含信息文件(README、INSTALL),其中将说明如何构建和安装这些软件包。Makefile.in 和 configure.in 是用于生成最终 Makefile 的基本文件。配置文件通常会扫描系统并构建最终 Makefile。
- 对 /bin 和 /sbin 目录进行归档。使用哪些压缩实用程序可以获得最小的文件大小?使用 -v 来获取文件大小缩减的百分比。
- 将 /usr/src/packages/SOURCES/grub-09.tar.bz2 文件安装到 /tmp 中,并通过阅读 INSTALL 和 README 构建源代码。
- 找到解压缩 .deb 和 .rpm 归档文件的方法,里面有什么?
- 在一行命令中,压缩一个新文件并将该新文件解压缩到其他地方。
(LPIC-1 版本 5.0)
权重:1
描述
候选人应该能够确定可执行程序依赖的共享库,并在必要时安装它们。
关键知识领域
- 识别共享库。
- 识别系统库的典型位置。
- 加载共享库。
以下是使用文件、术语和实用程序的部分列表
ldd
ldconfig
/etc/ld.so.conf
LD_LIBRARY_PATH
库是程序可以使用的一组函数,用于实现其功能。在构建(链接)程序时,这些库可以静态或动态链接到可执行文件。静态链接意味着最终程序将包含库函数在其文件中。(lib.a) 动态链接意味着需要在程序需要执行时将所需的库加载到 RAM 中。(lib.so)
所有标准库的默认目录是
- /lib:主要用于 /bin 程序。
- /usr/lib:主要用于 /usr/bin 程序。
文件/etc/ld.so.conf用于系统指定其他库位置。要构建运行时加载器使用的所有可用库的缓存文件,请使用 ldconfig。文件/etc/ld.so.cache将被生成。
要打印共享程序或库依赖项,请使用 ldd。
ldd [-vdr] program|library
示例
$ ldd -d -v /bin/cp libc.so.6 => /lib/libc.so.6 (0x40027000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) Version information: /bin/cp: libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6 libc.so.6 (GLIBC_2.1) => /lib/libc.so.6 libc.so.6 (GLIBC_2.2) => /lib/libc.so.6 libc.so.6 (GLIBC_2.0) => /lib/libc.so.6 /lib/libc.so.6: ld-linux.so.2 (GLIBC_2.1.1) => /lib/ldlinux.so.2 ld-linux.so.2 (GLIBC_2.2.3) => /lib/ldlinux.so.2 ld-linux.so.2 (GLIBC_2.1) => /lib/ldlinux.so.2 ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
运行时加载器 ld.so 查找程序所需的库并将它们加载到 RAM 中。ld.so 的搜索顺序是
- LD_LIBRARY_PATH
- 缓存文件 /etc/ld.so.cache
- 默认目录 /lib 和 /usr/lib。
(LPIC-1 版本 5.0
权重:3
描述
候选人应该能够使用 Debian 软件包工具执行软件包管理。
关键知识领域
- 安装、升级和卸载 Debian 二进制软件包。
- 查找包含特定文件或库的软件包,这些文件或库可能已安装或未安装。
- 获取软件包信息,例如版本、内容、依赖关系、软件包完整性和安装状态(软件包是否已安装)。
- 了解
apt
。
以下是使用文件、术语和实用程序的部分列表
/etc/apt/sources.list
dpkg
dpkg-reconfigure
apt-get
apt-cache
为了理解如何使用 Debian 的软件包管理系统,首先了解 Debian 软件包的命名方式将很有用。例如,软件包 ncftp_3.1.3-1_i386.deb 包含 5 个主要部分
- ncftp - 程序/应用程序/库的名称
- 3.1.3 - 由原始(上游)作者分配的程序/应用程序/库的版本
- 1 - 由将程序打包到 Debian 系统的人分配的软件包修订号
- i386 - 打包程序设计用于运行的体系结构
- .deb - 表示这是一个 Debian 软件包
请注意,使用下划线 (_) 和连字符 (-) 有特殊意义;下划线应将程序名称与其版本分隔开,连字符应将版本号与其修订号分隔开,下划线应将修订号与其体系结构分隔开。
dpkg是 Debian 包管理系统的“鼻祖”或“后端”。更高级工具中存在的特性在dpkg中不可用,但它仍然是一个有用的工具。
一些注意事项
- dpkg将其可用包的记录保存在 /var/lib/dpkg/available 中。
一些管理员常用的函数dpkg是
添加、删除和配置包
- dpkg {-i|--install} <package-name>将安装指定的包
- dpkg {-r|--remove} <package-name>将删除指定的包(但保留配置文件)
- dpkg {-P|--purge} <package-name>将删除指定的包及其相应的配置文件
- dpkg --root /target -i <package>通过指定系统根目录,将包安装到不可启动的系统中。
- dpkg --unpack <package-name>将解压缩(但不配置)Debian 存档到硬盘文件系统中
- dpkg --configure <package-name>将配置已解压缩的包
查询包信息
- dpkg --info <package-name>将打印出指定包的控制文件(和其他信息)
- dpkg {-l|--list}这将为您提供已安装包的列表。
- dpkg {-a|--pending}如果在包名称位置提供此参数,则所有已解压缩但标记为将在 /var/lib/dpkg/status 文件中删除或清除的包将被删除或清除。
- dpkg -s (--status)<package-name> 将为您提供已安装包的描述
更新包信息
- dpkg --update-avail <package-name>将用包中的新信息替换旧信息。
- dpkg --merge-avail <package-name>将合并包中的旧信息和新信息。
dpkg-reconfigure在包安装完成后重新配置它们。
- dpkg-reconfigure <package-name>重新配置初始安装设置
- dpkg-reconfigure --priority=medium package [...]将设置将显示的最低问题优先级
- dpkg-reconfigure --all将重新配置所有包
- dpkg-reconfigure locales将生成任何额外的语言环境
- dpkg-reconfigure --p=lowxserver-xfree86 将重新配置 X 服务器
Dselect 是 Debian 上允许您轻松添加/删除包的实用程序。
- 选择要使用的访问方法。
- 如果可能,更新可用包的列表。
- 请求您希望在系统上使用的包。
- 安装和升级所需的包。
- 配置任何未配置的包。
- 删除不需要的软件。
Dselect 上有一个交互式菜单,允许您安装/删除包。使用此实用程序时必须小心,您可能会损坏系统。
Dselect 菜单示例
Debian `dselect' package handling frontend.
0. [A]ccess Choose the access method to use. 1. [U]pdate Update list of available packages, if possible. 2. [S]elect Request which packages you want on your system. 3. [I]nstall Install and upgrade wanted packages. 4. [C]onfig Configure any packages that are unconfigured. 5. [R]emove Remove unwanted software. 6. [Q]uit Quit dselect.
$ dselect - list of access methods Abbrev. Descriptio cdrom Install from a CD-ROM. * multi_cd Install from a CD-ROM set. nfs Install from an NFS server (not yet mounted). multi_nfs Install from an NFS server (using the CD-ROM set) (not yet mounted). harddisk Install from a hard disk partition (not yet mounted). mounted Install from a filesystem which is already mounted. multi_mount Install from a mounted partition with changing contents. floppy Install from a pile of floppy disks. apt APT Acquisition [file,http,ftp]
如果您知道要安装的包的名称,请使用 apt-get。您必须配置 sources.list 文件。当您选择 dselect 的 apt 访问方法时,将使用同一个文件。位置是/etc/apt.
- apt-get install <package-name>将在其数据库中搜索该包的最新版本,并从 sources.list 中指定的相应存档中检索并安装该包。如果该包依赖于其他包,APT 将检查依赖关系并安装所需的包。
- apt-get install <package-name>=<version>将安装指定版本的包
- apt-get install <package-name> -o DPkg::options::="--force-overwrite"安装包时忽略“处理 ... 发生错误,该包也在 ... 中”错误。
- apt-get remove <package-name>将删除指定的包,但保留其配置文件。
- apt-get --purge remove <package-name>将删除指定的包及其配置文件。
- apt-get -u install <package-name>将升级并安装特定包。
- apt-get -u upgrade将升级同一发行版中的包,但那些由于依赖关系损坏或新依赖关系而被保留的包除外。
- apt-get -u dist-upgrade将一次升级整个 Debian 系统。
- apt-file search <file-name>将搜索包含指定文件的包。
- apt-file list <package-name>将列出与模式匹配的包的内容。此操作与 dpkg -S 命令非常接近,只是不需要安装或获取包。
要查找要安装的包的名称,请使用 apt-cache。apt-cache 的主要选项有:
- add - 将包文件添加到源缓存
- showpkg - 显示单个包的一些常规信息
- stats - 显示一些基本统计信息
- search - 在包列表中搜索正则表达式模式
- show - 显示包的可读记录
- depends – 显示包的原始依赖关系信息
user@host:~$ apt-cache search gimp babygimp - An icon editor in Perl-Tk blackbook - GTK+ Address Book Applet cupsys-driver-gimpprint - Gimp-Print printer drivers for CUPS escputil - A maintenance utility for Epson Stylus printers filmgimp - A motion picture editing and retouching tool
APT HOWTO
http://www.debian.org/doc/manuals/apt-howto/index.en.html
Dselect 初学者文档
http://www.debian.org/doc/manuals/dselect-beginner/
- 使用 Debian 安装系统。
- 熟悉 dselect 并删除 tcpdump 实用程序。
- 使用 apt-get 重新安装包含 tcpdump 实用程序的包。
- 尝试使用 kpackage 安装 ethereal
Red Hat 包管理器是一个强大的包管理器,可用于构建、安装、查询、验证、更新和删除单个软件包。一个包包含一个文件存档和元数据,用于安装和删除存档文件。元数据包括辅助脚本、文件属性和有关包的描述信息。包有两种类型:二进制包,用于封装要安装的软件,以及源包,包含生成二进制包所需的源代码和配方。
(LPIC-1 版本 5.0)
权重:3
描述
考生应能够使用 RPM、YUM 和 Zypper 执行包管理。
关键知识领域
- 使用 RPM、YUM 和 Zypper 安装、重新安装、升级和删除包。
- 获取有关 RPM 包的信息,例如版本、状态、依赖关系、完整性和签名。
- 确定包提供的文件,以及查找特定文件来自哪个包。
- 了解
dnf
。
以下是使用文件、术语和实用程序的部分列表
rpm
rpm2cpio
/etc/yum.conf
/etc/yum.repos.d/
yum
zypper
一些 Linux 发行版在其所有发行版软件中使用 rpm,即“Red Hat 包管理器”。RPM 维护所有安装在系统中的软件的详细数据库。
要安装 RPM 包,请执行
rpm -i [package].rpm
只有在满足依赖关系并且与其他包没有冲突的情况下,才会安装该包。要升级包,请执行
rpm -U [package].rpm
旧包版本的将被删除并替换为新文件。要删除 RPM 包,请执行
rpm -e [package].rpm
只有在没有其他包依赖于该包的情况下,才会删除该包。
使用 -q 选项,您可以查询 RPM 数据库或显示有关包文件的信息。
您可以使用多个开关
- -i: 获取包信息
rpm -q -i apache
- -l: 获取包的文件列表。
$ rpm -q -l pciutils /sbin/lspci /sbin/setpci /usr/share/doc/package/pciutils ... /usr/share/pci.ids
- -f file: 查询文件属于哪个包。
$ rpm -q -f /sbin/lspci pciutils-2.1.9-58
- -s: 具有状态信息的清单。
- -d: 仅列出文档文件。
- -a: 列出所有已安装的包。
如果要显示有关包文件的信息,可以使用 -p 开关指定文件名
rpm -q -i -p [package].rpm
要获取有关包或程序的一般信息,请使用 rpmlocate。
rpmlocate ipcs -q -i apache
在 rpm 数据库中搜索 ipcs
util-linux-2.11n-75: /usr/bin/ipcs /usr/share/man/man8/ipcs.8.gz
要列出所有已安装的包,请使用 rpmqpack
rpmqpack
或者使用
rpm -qa
RPM 源文件通常格式为 package.src.rpm,可以像二进制文件一样安装。它们将从 /usr/src/packages 安装到以下目录:
- SOURCES:原始源代码。
- SPECS:控制构建过程的 .spec 文件。
- BUILD:所有源代码在此目录中构建。
- RPMS:完整二进制软件包的存储位置。
- SRPMS:源代码。
要安装软件包的源代码,请执行以下操作:
$ rpm -i mypack.src.rpm
源代码将存储在 /usr/src/packages 的 SPEC 和 SOURCES 目录中。要编译源代码,请执行以下操作:
$ rpm -ba /usr/src/packages/SPECS/mypack.spec
编译结果将存储在 BUILD 目录中。
- apache 软件包是否已安装?
- /bin/ls、/usr/sbin/tcpdump 和 /sbin/ifconfig 文件位于哪个软件包中?
- 从软盘安装 pci 实用程序和 grub 软件包。构建二进制文件并尝试执行它们。源代码应位于 /usr/src/packages/BINARY 目录中。