软件包管理

1.rpm

linux中有两种软件包,一是二进制软件包,二是源码软件包

在光盘下有大量rpm(redhat package manage)安装包:

[root@localhost /]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost /]# cd /mnt
[root@localhost mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost mnt]# cd Packages/
[root@localhost Packages]# ls

rpm -ivh ... --nodeps忽略依赖性安装 --force覆盖安装

选项中以q开头的都带有询问的功能:

rpm -ql:查看软件包安装后产生的文件

rpm -qf:查看一个文件来源于哪个安装包

rpm -qi:查看安装包的详细信息

rpm -qa:查看所有已安装的软件包

rpm -e:卸载软件包

2.yum

yum安装需要:一个rpm软件包库(package)、一个描述软件依赖性的文件(repodata)

可以用createrepo指令制作repodata:

cp /mnt/Packages/* /tmp

createrepo /tmp

ls /tmp | grep repo

repodata

以光盘为例:

[root@localhost yum.repos.d]# cd /mnt
[root@localhost mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

修改配置文件,以光盘作为安装源:

[root@localhost mnt]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim local.repo

 [local]
name=local repo
baseurl=file:///mnt 这里指向的文件夹下一级要包含package文件夹和repodata文件夹
enabled=1
gpgcheck=0

删除了基本的源看这:http://www.cnblogs.com/muyunren/p/7221505.html

关于yum源配置与使用看这:http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html

取消yum自动更新,避免软件之间出现版本差异:

需要手动更改/etc/yum/yum-cron.conf文件,该文件是针对yum的计划任务文件

该文件需要安装yum-cron-3.4.3-154.el7.centos.noarch软件包才会生成

修改其中:download_updates = yes→download_updates = no

yum安装如果从网上下载rpm安装包的话,默认情况下安装之后会删除下载的rpm安装包,如果想把下载的安装包保存下来,需要修改“/etc/yum.conf”文件:

vim /etc/yum.conf

修改其中前两行:

cachedir=/rpm_bak rpm软件包保存的位置
keepcache=1 开启

yum clean all清理yum缓存

yum  makecache命令将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度

配合yum -C search xxx使用

执行完 试下,看看二者速度差别有多大。我试的结果,二者差别挺明显的,前者明显比后者慢。

yum grouplist查看yum软件包组

yum groupinstall '软件包组'

yum erase

yum remove

yum reinstall

yum update更新软件包、配置系统内核,最好只在刚装系统的时候执行

yum upgrade只更新软件包

vim /ect/yum

3.安装源码软件包

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)

Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

如果配置--prefix,如:

  1. ./configure --prefix=/usr/local/test

可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。

用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

首先安装编译器:

yum grouplist

yum groupinstall '开发工具'

从网上下载相关source code tarball如Python-3.6.3.tgz

tar -xvf Python-3.6.3.tgz

cd Python-3.6.3/

./configure --prefix /usr/local/python3.6

make 将源码编译成二进制码

make install

cd /usr/local/python3.6/bin/

./python3.6

Python 3.6.3 (default, Oct 11 2017, 23:15:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

ctrl+D可退出python

在其他文件夹下也可以运行python3.6的方法:

[root@localhost tmp]# PATH=/usr/local/python3.6/bin:$PATH
[root@localhost tmp]# echo $PATH
/usr/local/python3.6/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
[root@localhost tmp]# python3.6
Python 3.6.3 (default, Oct 11 2017, 23:15:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

以上修改只在当前终端生效,要想使该修改在所有终端生效,需要修改/etc/profile

/etc/profile
全局(公有)配置,不管是哪个用户,登录时都会读取该文件

[root@localhost tmp]# vim /etc/profile
[root@localhost tmp]# tail -1 /etc/profile
PATH=/usr/local/python3.6/bin:$PATH
[root@localhost tmp]# python3.6
Python 3.6.3 (default, Oct 11 2017, 23:15:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> ^C
KeyboardInterrupt
>>>

在该文件中加上一行:

PATH=/usr/local/python3.6/bin:$PATH

查看系统状态的方式:

1.free

2.df

3.cat /proc/meminfo

4.cat /proc/cpuinfo

5.top

6.ps -aux

7.vmstat

8.netstat -tunalp:t-tcp协议 u-udp协议 a-全部 l-长列表模式 p-显示pid n-显示数字

显示当前访问主机的进程,用kill可以结束相应进程以终止客户机对主机的访问

原文地址:https://www.cnblogs.com/Icarus1900/p/7647287.html