软件包管理:
二进制软件包 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数字号