Linux软件包的安装和磁盘管理(2016.1.16第四周linux课程笔记)

一、软件包安装:

rpm包
yum安装
源码包

1、命名结构:
xlockmore-5.31-2.el6.x86_64.rpm
包名-主版本号.次版本号-发布版本号.操作系统版本.cpu架构.rpm

32位的操作系统:只能安装32位的包(i386、i586、i686)
64位的操作系统:最好去安装64的包(x86_64);如果实在找不到可以尝试安装32位的不包
建议:不要去跨大版本安装软件包。首先去找安装光盘里自带的软件包(iso)

rpm包软件组成:
软件包的元数据信息(版本信息、作者、安装前后所需要执行的脚本)+软件的文件(程序、配置文件、帮助文档)

rpm包相关的网站:
http://www.rpmfind.net
http://www.pbone.net
http://ftp.scientificlinux.org/linux

怎么安装rpm包?

rpm -ivh xxx.rpm  安装rpm包
rpm -Uvh xxx.rpm  升级rpm包,如果软件包不存在则安装它
rpm -Fvh xxx.rpm  升级rpm包,如果软件包不存在则停止升级
rpm -e xxx(软件包名)--nodeps 卸载软件(可以忽略依赖关系)
rpm -ivh xx.rpm --nodeps  忽略依赖关系安装(安装时尽量不要忽略依赖关系)
rpm -ivh xxx.rpm --force 强制安装

rpm -q 软件包名  查看软件包是否成功安装
rpm -aq 查看操作系统中已经安装的所有软件
rpm -aq |grep 软件包名

rpm -ql 软件包  查看软件包所带来的文件列表
rpm -qc 软件包  查看软件包所带来的配置文件
rpm -qd 软件包  查看软件包所带来的文档
rpm -qf 文件名  查看该文件来自于哪个软件包

a.查找vim来自哪个软件包:

[[email protected] ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.2.411-1.8.el6.x86_64vim-enhanced-7.4.629-5.el6.x86_64

b.rpm包安装samba软:

# rpm -ivh samba-3.6.9-164.el6.x86_64.rpm
warning: samba-3.6.9-164.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:samba                  ########################################### [100%]

c.查看nginx是否安装成功:

[[email protected] ~]# rpm -q nginx
nginx-1.8.0-1.el6.ngx.x86_64

d.查看nginx安装的软件包

[[email protected] ~]# rpm -aq |grep nginx
nginx-1.8.0-1.el6.ngx.x86_64
nginx-release-centos-6-0.el6.ngx.noarch

e.查看nginx在etc的文件

[[email protected] ~]# rpm -ql nginx |grep etc
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/example_ssl.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/etc/rc.d/init.d/nginx
/etc/sysconfig/nginx

f.查看nginx的配置文件

[[email protected] ~]# rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/example_ssl.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/etc/sysconfig/nginx

卸载软件

# rpm -e samba-common
error: Failed dependencies:
    samba-common = 0:3.6.9-164.el6 is needed by (installed) samba-winbind-0:3.6.9-164.el6.x86_64
# rpm -e samba-common --nodeps
# rpm -aq |grep samba
samba-winbind-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64

锁屏软件的安装,(遇到依赖关系软件):

# rpm -ivh xlockmore-5.31-2.el6.x86_64.rpm
warning: xlockmore-5.31-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
error: Failed dependencies:
    libaudiofile.so.0()(64bit) is needed by xlockmore-5.31-2.el6.x86_64
    libesd.so.0()(64bit) is needed by xlockmore-5.31-2.el6.x86_64

思路:
1.去光盘里搜索:

# ls libaudiofile*
ls: cannot access libaudiofile*: No such file or directory
[[email protected] Packages]# ls audiofile*
audiofile-0.2.6-11.1.el6.i686.rpm  audiofile-0.2.6-11.1.el6.x86_64.rpm
[[email protected] Packages]# rpm -ivh audiofile-0.2.6-11.1.el6.x86_64.rpm
warning: audiofile-0.2.6-11.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:audiofile              ########################################### [100%]

2.光盘里没有去网上找

二、yum工具使用:

yum作用:类似360的软件管家,软件包管理器。
权威的红冒软件管家:红帽源,收费
centos软件管家:centos源,免费
国内权威:阿里源、163源、sohu源

内网源搭建:
1、创建yum源的配置文件

cd /etc/yum.repos.d
rm -f *
vim server.repo    #创建一个以.repo结尾的文件

将以下写入文件server.repo中

[server]   仓库名
name = ftp yum  对仓库的描述
baseurl=ftp://192.168.0.254/pub/rhel6_dvd   指定仓库所在的路径
enable=1  开启仓库;0代表关闭
gpgcheck=1  开启数字签名检查;0代表关闭
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  数字签名文件

2、检查验证

#yum clean all        清除仓库列表缓存
#yum makecache   创建新的缓存

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
server                                                   | 3.9 kB     00:00     
server/group_gz                                          | 204 kB     00:00     
server/filelists_db                                      | 3.8 MB     00:00     
server/primary_db                                        | 3.1 MB     00:00     
server/other_db                                          | 1.6 MB     00:00     
Metadata Cache Created

yum工具相关命令:

yum install 软件包名   安装软件包
yum -y install 软件包名  取消交互安装
yum list 列出当前仓库里所有的软件包
yum list|grep xxx  和 yum searsh “mysql”  搜索
yum list installed 查看当前操作系统已经安装的软件包
yum remove 软件包名  卸载软件
yum update 更新操作系统已经安装的所有软件包(只要仓库里的包版本比本地新)
yum update 软件包名
yum -y localinstall xxx.rpm  安装本地rpm包

本地源搭建:
1、本地要有光盘(仓库)
1)共享文件夹——>将物理机的一个目录(存在iso镜像文件)共享给虚拟机
2)挂载光盘到虚拟机
2、创建一个挂载点
mkdir /u01
3、挂载
1)临时挂载
# mount -o loop /mnt/hgfs/soft/rhel6.5_x86_64.iso /u01
2)永久挂载
vim /etc/fstab
...
要挂载的设备  挂载点 文件系统  挂载选项 是否支持dump备份 自动检测文件系统
/mnt/hgfs/soft/rhel6.5_x86_64.iso /u01  iso9660 defaults,ro,loop 0 0

4、配置yum源
cd /etc/yum.repos.d
# cat server.repo
[server]
name = ftp yum
baseurl=ftp://192.168.0.254/pub/rhel6_dvd
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[local]
name = local yum
baseurl=file:///u01
enable=1
gpgcheck=0

注意:
这里可以创建新的以.repo结尾的文件,也可以将多个仓库写到同一个文件里。

5、验证检查

搭建自己的yum源:
1、创建软件目录
mkdir /soft
2、将所有的软件拷贝到指定的目录
3、创建软件目录中软件包的依赖关系
# yum -y install createrepo
# createrepo /soft/
# ls /soft
repodata  多出一个目录

4、配置yum源
# cat myself.repo
[myself]
name=xxxxx
baseurl=file:///soft
enable=1
gpgcheck=0

三、源码包安装:

一般步骤:
./configure(配置)————>make(编译)————————>make install(安装)

                 \makefile

1、下载源码包
.tar.gz|.tar.bz2|.zip

2、解压
# tar -xf axel-1.0a.tar.gz -C /usr/src
# /usr/src/axel-1.0a  进入到解压后的目录里进行配置安装

3、安装编译工具
# yum groupinstall "Development tools"

4、查看说明文档配置
README 和 INSTALL
# ./configure --prefix=/opt/axel
# make
# make install

注意:源码安装完成后需要完善环境变量。

练习:
1、安装ntfs-3g-2010.10.2.tgz软件包,让操作系统支持ntfs格式文件系统
2、从mysql官网下载安装5.6.10版本软件包,源码安装。
要求:
数据目录:/data
socket文件:/tmp下面

Linux软件包的安装和磁盘管理

四、磁盘管理:

盘片:
磁道:
扇区:
读写磁头:
柱面:

lsblk:查看操作系统磁盘情况

查看某块硬盘的分区情况:

# fdisk -l /dev/sda  

磁盘大小=磁头数 X 扇区数 X 柱面数 X扇区大小(512字节)

Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000a48f

1 byte =8bit
1 kb=1024byte
1 mb=1024kb
1 gb=1024mb
1 tb=1024gb
1 pb=1024tb
1 eb=1024pb

挂载一块分区:

[[email protected] ~]# fdisk /dev/sdb
.....
Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition  删除一个分区
   l   list known partition types  列出所支持的分区类型
   m   print this menu
   n   add a new partition  添加新的分区
   o   create a new empty DOS partition table
   p   print the partition table  打印分区表
   q   quit without saving changes  退出不保存
   s   create a new empty Sun disklabel
   t   change a partition's system id  更改分区类型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit   保存退出
   x   extra functionality (experts only)

Command action
   e   extended  扩展分区
   p   primary partition (1-4)  主分区
...

将分区格式化橙某种文件系统才能使用:

mkfs.ext4 /dev/sdb1
mkfs -t ext3 /dev/sdb2

挂载分区到操作系统的某个空节点(空目录):

mkdir /u02
mount /dev/sdb1 /u02

卸载:

umount /u02 或者 umount /dev/sdb1

demo2:
更改分区类型:

Command (m for help): t 更改
Partition number (1-4): 2  指定分区
Hex code (type L to list codes): b 更改后分区id
Changed system type of partition 2 to b (W95 FAT32)

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7f1bc864

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
/dev/sdb2             133         394     2104515    b  W95 FAT32

Command (m for help): w

永久挂载:

/etc/fstab

/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=6a245c09-4cb8-4b28-82c7-ca1f92f8b31a /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0

第一段:需要挂载的设备(设备、uuid、卷标)
第二:挂载点(建议空目录)
第三:文件系统(ext2-4、vfat、swap等)

第四:挂载选项

async/sync 异步/同步:async先将数据写入日志,然后再同步到磁盘;直接将数据写入到磁盘
ro/rw:只读/读写
auto/noauto:是否自动挂载、
exec/noexec:是否可执行
remount:重新挂载已经挂载的文件系统
# mount -o remount,noauto /u03

# blkid /dev/sdb1
/dev/sdb1: UUID="2b693c66-c4c6-4dd2-9aae-85ea3585f1f0" TYPE="ext4"
# mount UUID="2b693c66-c4c6-4dd2-9aae-85ea3585f1f0" /u03

# e2label /dev/sdb1 DISK1
# mount LABEL="DISK1" /u03

demo3:扩容swap空间
1、添加一个硬盘或者分区
2、将分区或者硬盘格式化橙swap文件系统
3、激活swap空间

# free -m
             total       used       free     shared    buffers     cached
Mem:          1862        699       1163          0         35        341
-/+ buffers/cache:        322       1540
Swap:         2047          0       2047
[[email protected] ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/sda2                               partition    2097144    0    -1

# mkswap /dev/sdb1  将已经分好的区格式化橙swap的文件系统
# swapon -p 1 /dev/sdb1 激活swap空间
-p 指定优先级  数字越大优先级越高
# free -m
             total       used       free     shared    buffers     cached
Mem:          1862        697       1165          0         33        341
-/+ buffers/cache:        322       1540
Swap:         3083          0       3083
[[email protected] ~]# swapon -s
Filename                Type        Size    Used    Priority
/dev/sda2                               partition    2097144    0    -1
/dev/sdb1                               partition    1060248    0    1

创建大文件来扩容swap空间
dd 模拟一个大文件
参数:
if=输入文件(或者设备名)
of=输出文件(设备名)
bs=读取数据的单位
count=拷贝的个数

dd if=/dev/zero of=/home/swapfile bs=1M count=500

# swapoff /dev/sda2 关闭swap空间

未经允许不得转载:好玩吧 » Linux软件包的安装和磁盘管理(2016.1.16第四周linux课程笔记)