Linux 软件包管理

简介:

软件包管理:

二进制软件包 RPM包  -- rpm、yum 
源代码包 .tar.gz .tar.bz2 
1、标准安装 
2、脚本安装 
sudo-1.7.2pl-5.el5.i386.rpm 
软件名-版本号-发行号-CPU-后缀名 
           version release 
硬件平台:x86、ppc(powerpc)、alpha 
cat /proc/cpuinfo     cpu family      : 6 
RedHat系Linux默认几乎所有的系统文件都是通过光盘RPM安装 
卸载软件包:

rpm -e 软件名 
安装软件包:

rpm -ivh 软件包名  (-i就可以了)

-i——安装

-v——详细信息

-h——以#显示安装进度

创建挂载点(空目录) 
mkdir /mnt/cdrom       mnt-mount 
mount /dev/cdrom /mnt/cdrom 
            设备名          挂载点 
umount /mnt/cdrom  或者 eject(卸载光盘并弹出)

查找软件包:  (从光盘镜像里)

ls /mnt/cdrom/CentOS | grep sudo

ls /mnt/cdrom/CentOS | grep mysql

软件包查询:  (查找软件有没有安装)

rpm -q sudo   (查询sudo有没有安装,如果有显示安装包名称) 
rpm -qa | grep mysql  (-qa显示所有安装包,检索只有mysql的)

软件包升级:

rpm -U 软件包  (U=update)

软件包存放位置:光盘/linux发行版名称 
yum包管理,老师推荐的,自动安装依赖关系的包

安装:

yum install 软件名  (-y自动安装,自动上网连接服务器下载yum包安装)

升级:

yum update 软件名

yum check-update sudo  (查看互联网最新的sudo安装包)

卸载:

yum remove 软件名

如:yum remove glibc-devel  (自动检测依赖关系自动卸载)

yum源配置:去哪找rpm包的地方

CentOS-Base.repo-指定linux互联网的yum源,默认 
CentOS-Media.repo-设置光盘为yum源

改光盘为yum源:

vi /etc/yum.repos.d/CentOS-Media.repo

①baseurl  file:///mnt/cdrom

②enabled = 1  (启用)

移动或者改名CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo

推荐:安装、升级、卸载使用yum ;校验、查询、文件提取使用rpm 
rpm查询: 
-a——all查询所有已安装的软件包 
-f——file查询文件所属的软件包 
-p——package查询软件包 
-i——information显示软件包信息 
-l——list显示软件包中所有文件 
-d——document显示文档文件 
-c——configure显示配置文件

每个RPM安装到系统建立信息到RPM数据库 
查询文件隶属RPM包:

rpm -qf 文件名

rpm -qf /etc/inittab

查询软件包信息:

rpm -qi 软件名 (已安装软件)

rpm -qi sudo 
rpm -qip 软件包名  (未安装软件也可查询)

rpm -qip /mnt/cdrom/CentOS/zenity-2.16.0.2.e15.i386.rpm

查询软件包安装文件:

rpm -ql 软件名

rpm -ql sudo  (列出sudo所有文件) 
rpm -qlp 软件包名

rpm -qlp 软件包路径  (查看软件包安装之前将要安装的文件)

查看软件包帮助:

rpm -qd 软件名 
rpm -qdp 软件包名  (查看软件包帮助文档存放目录)

查看软件包配置文件:

rpm -qc 软件名

rpm -qc httpd

rpm -qc httpd | grep httpd.conf

rpm -qcp 软件包名  (查看软件包配置文件存放目录) 
安装目录: 
etc -- 配置文件 
bin -- 命令 
sbin -- root可以执行命令 
libexec/lib -- 模块文件或库文件 
doc -- 文档 
man -- 帮助 
var -- 临时信息文件 
示例文件的名称:example  sample

案例:.vimrc注释#出问题 
[root@localhost cdrom]# rpm -qa | grep vim 
vim-minimal-7.0.109-6.el5 
vim-common-7.0.109-6.el5 
vim-enhanced-7.0.109-6.el5 
[root@localhost cdrom]# rpm -ql vim-minimal | grep vimrc 
[root@localhost cdrom]# rpm -ql vim-common | grep vimrc 
/etc/vimrc 
/usr/share/vim/vim70/gvimrc_example.vim 
/usr/share/vim/vim70/vimrc_example.vim 
[root@localhost cdrom]# vi /usr/share/vim/vim70/vimrc_example.vim 
校验软件:

rpm -V 软件名称  (如果软件文件有任何变动的话会有详细信息列表)

校验文件:

rpm -Vf 文件

missing -- 文件丢失 
M -- 权限改变 mode 
U -- 所有者改变 user 
G -- 所属组改变 group 
5 -- 文件被改动 md5校验值    md5sum    winmd5 
T -- 修改时间更新 time 
S -- 文件大小变化 size 
L -- 链接文件更新 link 
D -- 设备文件变化 device 
RPM包文件提取 
rpm -qf /bin/chmod  判断这个命令属于哪个包 
coreutils-5.97-23.el5_4.2 
提取文件:

rpm2cpio /mnt/cdrom/CentOS/coreutils-5.97-23.el5_4.2.i386.rpm | cpio -idv ./bin/chmod

rpm2cpio RPM包路径 | cpio -idv 加点提取到当前目录,这里填要提取到的目录 
-i 导出 -d 保留目录结构 -v 详细信息 
思路:①先确定这个命令所在的rpm包;②再提取这个包到指定目录,完成提取 
案例: /etc/inittab误删除恢复 
1、进入光盘修复模式  linux rescue 
2、修复步骤 
a. 恢复硬盘linux目录结构   chroot /mnt/sysimage 
b. 查看丢失文件所在RPM包   rpm -qf /etc/inittab 
c. 挂载光盘   mount /dev/hdc /mnt/cdrom

/dev/cdrom 软链接,在光盘修复模式中失效,其真实地址为  /dev/htc 
ls -l /dev/cdrom 
d. 提取恢复文件  rpm2cpio /mnt/cdrom/CentOS/initscripts.... | cpio -idv ./etc/inittab 
e. exit 退出chroot状态 
    exit 退出光盘修复模式

源代码包安装:  (标准安装,所有linux/unix通用) 
proftpd-1.3.3d.tar.gz——源代码包示例 
1、无关硬件平台 
2、定制灵活 
缺点:安装慢 
①需要先确定编译工具gcc、make已经安装(gcc-c++)

rpm -q make

rpm -q gcc 
②Windows软件传到Linux:SSH.Secure.Shell.Client   Quick Connect 
启动ftp服务:service vsftpd start

windows命令行模式下:

ftp> bin  切换到二进制传输模式 
ftp> put  
1.解压解包

tar -zxf 源码包路径,再进入源代码包目录 
2.配置

./configure --prefix=/usr/local/proftpd 
--prefix=指定安装目录  /usr/local/软件名 
搜集系统软硬件信息,生成makefile 
3.编译

make 
源代码编译成可执行文件 
4.安装

make install 
拷贝、设置权限 
rpm/yum只能查询或管理通过RPM包安装的软件 
卸载源代码包: 
1、关闭服务 
2、直接删除安装目录   rm -rf /usr/local/proftpd 
非标准的源代码包:

示例:webmin

①解压解包

②它没有configure这个文件,查看源代码包目录下 README、INSTALL,找安装说明

③找到了setu.sh这个安装脚本,运行./setup.sh 
webmin  端口号10000 
/etc/rc.d/init.d/webmin 
/etc/webmin/uninstall.sh

源码包安装是否成功检测:

①指定安装目录有没有文件生成

如:proftpd的目录 /usr/local/proftpd

②运行命令,一般放在bin或者sbin里,root为sbin

如:执行 /usr/local/proftpd/sbin/proftpd

③检索proftpd示例的进程

ps -le | grep proftpd

④终止进程

kill PID数字号

本文转自 rebelxuan 51CTO博客,原文链接:http://blog.51cto.com/nizhuan/724139



相关文章
|
2月前
|
存储 Linux 项目管理
Linux|如何管理多个Git身份
Linux|如何管理多个Git身份
16 0
|
25天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
4天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
|
6天前
|
存储 算法 Linux
Linux磁盘与文件系统管理(下)
Linux磁盘与文件系统管理(下)
14 0
|
6天前
|
存储 Linux 索引
Linux磁盘与文件系统管理(上)
Linux磁盘与文件系统管理(上)
13 0
|
8天前
|
移动开发 数据可视化 Linux
Linux 中的文件与目录管理解析
当谈到Linux系统,文件与目录管理是其中最基本和重要的部分之一。Linux提供了一种强大而灵活的方式来组织和管理文件和目录,让用户能够轻松地访问和操作系统中的各种数据。上一节我们说到文件的属性,本文将详细介绍Linux中的文件与目录管理的各个方面。
|
11天前
|
Oracle 关系型数据库 Linux
Linux用户及用户组管理命令
Linux用户及用户组管理命令
12 0
|
15天前
|
网络协议 Linux 文件存储
Linux系统使用Docker搭建Traefik结合内网穿透实现公网访问管理界面
Linux系统使用Docker搭建Traefik结合内网穿透实现公网访问管理界面
|
15天前
|
域名解析 网络协议 Linux
《Linux 简易速速上手小册》第7章: 网络配置与管理(2024 最新版)
《Linux 简易速速上手小册》第7章: 网络配置与管理(2024 最新版)
12 0
|
15天前
|
安全 Linux Shell
《Linux 简易速速上手小册》第5章: 用户与群组管理(2024 最新版)
《Linux 简易速速上手小册》第5章: 用户与群组管理(2024 最新版)
9 1