压缩格式  .gz
压缩文件
1.
gzip 文件名 压缩
gunzip(gzip -d) 文件名 解压缩
压缩比五倍  gzip只能压缩文件,不保留原文件
 

tar是打包,不是压缩,先tar,后gz压缩
tar -cvf boduo.tar /boduo c打包v显示详细信息f指定文件名 跟压缩后的文件名,.tar只是为了让人区分才写的  后面跟要打包的文件名
gzip boduo.tar 再用gzip压缩,得到boduo.tar.gz,.tar.gz互联网上非常常见的压缩包
2.bzip2 (-k) boduo -k压缩时保留原文件

打包目录并压缩
1.tar -zcf(v) boduo.tar.gz boduo z(zip)创建打包时同时压缩c(creat)创建一个打包文件f(fix)制定要压缩的文v看打包了那些文件件 跟打包后文件名 跟原文件名
2.tar -jcf  boduo.tar.bz2

解压缩
1.tar -xzf boduo.tar.gz(v)x解压缩  -jxf .bz2
2.bunzip2 boduo.tar.bz2(-k)保留压缩包,如果目前有这个文件了,就删掉再解压

3.zip (-r) boduo.zip boduo 可以保留原文件 -r可以压缩目录(递归) 压缩后的文件名 要压缩的文件
unzip boduo.zip 解压缩 
是两个系统都认识的压缩格式,两个系统间移东西时可以用这个格式
linux的压缩格式Windows都支持,Windows不一定都支持 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装包管理
任何系统都是软件充实起来的,linux长于服务器的软件
1.Windows中的包linux不能用
2.安装包分为源码包和二进制包  源代码包有一个子类型:脚本安装包

源码包是指直接把源代码公布出来,可以自己修改源码,可以学习优秀的代码;软件是编译安装,更加适合自己的系统,更稳定效率更高(5%),源码包编译比二进制包慢很多,一个100M源码包安装20分钟左右。卸载方便,可以直接删目录。安装时容易报错。

二进制包是经过把源代码(包)编译成010101的机器语言包,不能再看到源代码,软件发行厂商发行时已经进行编译,成二进制包,一个70M二进制包安装1分钟。Windows中是exe,linux中是rpm,debianUbuntu是dev包。
老师还把二进制包称为系统默认包,因为linux光盘里的包都是RPM包,并且rpm安装了可以直接用service 程序 start调用
linux有两大系列,redhat系列和debian、ubuntu系列,这两大系统的区别就是包的区别,rpm和dev。

RPM包命名规则
httpd-2.2.15-55.el6.centos.2.i686
图片
操作的是没有安装的包,用全名
操作的是安装过的,用包名就可以了 ,如查询、卸载,是搜索/var/lib/rpm中的数据库(这里面不能用vi看,可以试试)

RPM包依赖性
图片
环形依赖要一起装 
.so.数字 结尾的都是库,需要去rpmfind.net看需要相应包,然后看本地有没有
yum就是用来解决这个依赖性的问题的,yum如果是redhat 写的,要收费,不过我们用的是centos上的,免费

rpm -ivh httpd-2.2.15-55.el6.centos.2.i686
i(install)安装 v(verbose)显示详细信息 h(hash) 显示进度用# --nodeps不检测依赖性
安装时必须在包所在路径或者用绝对路径用包全名,升级和卸载不用,因为已经有存档了
挂载点后有(ro) read only 的意思
 
rpm -Uvh升级 U为upgrade
rpm -e 卸载 erase 不卸载依赖 --nodeps

rpm包的查询方式
rpm -q httpd 查询是否安装 q为query 
rpm -qa  查询所有安装包a为all
rpm -qa | grep httpd可以看所有跟httpd相关的包名 
rpm -qi httpd i为information  查询包的具体信息
包名 版本 组建时间 安装时间 官方网站
 rpm -qip httpd-2.2.15-55.el6.centos.2.i686 查未安装包的具体信息,要跟包全名p为package
rpm -ql httpd 看包安装在哪 ,包安装与否都可以查rpm -qlp httpd-2.2.15-55.el6.centos.2.i686
rpm -qf /etc/系统文件名 查询系统文件属于哪个安装包 f为file 

yum provides "*/ifconfig"  查询命令属于哪个包

rpm -qR 查询软件包的依赖性 ,就不用通过看报错来知道依赖哪些包了
rpm -qpR一般都是查询未安装包的依赖包 
所有查询未安装包的命令都要在包所在目录下执行

校验和文件提取
rpm -V httpd v为verify 检查系统文件是否被人更改
那么ql看httpd的目录,修改其中一个文件
图片 
MD5在互联网中经常用于文件的完整性验证 常用工具winMD5 检查下载的文件和官方发布的是不是一样
图片 

误删除了某个程序中的文件,去包中提取,用来修复(其实可以直接把那个包覆盖安装的,可能是怕陈新股里有数据)
rpm2cpio /mnt/cdrom/package/httpd-2.2.15-55.el6.centos.2.i686 |cpio -idv ./bin/ls    那个点:本目录  \(本反斜杠用于换行,没有别的作用)
然后从本目录把ls移到真正的/bin/ls
这个应该搭配rpm -qf /相近文件使用,超级机智

yum就是用来解决这个依赖性的问题的,yum如果是redhat 写的,要收费,不过我们用的是centos上的,免费,REHL可以把YUM源改成163 aliyun

yum也是管理rpm包,并没有yum包 

yum需要网络
vi /etc/sysconfig/network-scripts/ifconfig-eth0
ONBOOT=no改为yes  IP、网关、子网掩码等
service network restart 
时间过长远程控制会断开

网络yum源
vi /etc/yum.repos.d/CentOS-Base.repo  只要是.repo结尾就行了,名字可以随便起
这里面的文本可以再看一遍 

yum在线管理(yum全部使用包名而不是包全名)

Yum可以解决依赖 --nodeps --force

图片
 yum list 看网络源上的yum源,是在base容器里的
yum search httpd 查询
yum -y install httpd 安装软件包
yum -y update httpd  不写包名是升级所有包,包括linux内核
yum -y remove httpd 会把本包和依赖的包全卸载
linux服务器安装时最小化安装,然后用什么装什么,尽量不要卸载

 yum -q 静默安装
更换
yum源时 yum clean all

yum grouplist 查询软件包组
yum groupinstall 安装软件包组  组名有空格用双引号
yum groupremove 卸载软件包组 

光盘yum源配置
1.挂载光盘
2.让网络yum源失效 cd /etc/yum.repos.d 把其他三个都改成enable=0,太麻烦,直接把文件名改成.bak 
3.让第三个media生效 vim ,enable=1 ,baseurl=file///mnt/cdrom ,两个多余的光盘地址应该注释掉(不影响使用,但会报错,烦)
再yum list 就会看到容器变了
缺点:1.版本是固定的2.每次使用都得挂载光盘 

linux配置文件是有严格的格式的,前后都不能乱加,中间也必须符合格式

源码包和rpm区别
安装位置不同,rpm是在默认安装位置
图片 
源码包是手动指定安装位置,一般在/usr/local/文件名/ 这个位置是专门安装外来软件的

rpm包安装的服务可以使用系统服务管理命令(service)来管理, 可以用绝对路径(linux中不管是什么命令都是用绝对路径来执行)和直接service启动
1./etc/rc.d/init.d/httpd start  (去这个目录下看看,这里都是可执行服务,用来启动服务的)
2.service httpd start(service 是红帽专有命令,其他linux不一定有,service只会自己去默认目录下去×××)
在浏览器中输入linux虚拟机的IP地址,就可以看到Apache的测试页了

源码包只能用绝对路径启动 
安装源码包要c语言编辑器gcc
源码包保存位置:
usr/local/src/    Unix System Resource,即Unix系统资源的缩写。   src是源代码的缩写
安装位置:
usr/local/ 有点类似windows下program
下载源码包,移到linux里
解压缩(tar -zxvf htt),du- sh htt 看这个包多大
进到这解压缩目录 cd /
源码包都有的,INSTALL 安装说明 README 使用说明,碰见陌生源代码包,看这两个
第一步./configure --prefix=/usr/local/apache2  这个是定义安装路径变量的,可以用./configure --help看都有哪些选项
执行完后会生成makefile文件

./configure 就是源码包比二进制包好的地方 可以 -自定义很多东西

图片
 

第二步 make 编译(gcc编译器编译的)
第三步 make install 编译安装 这个步骤之前都不会向安装位置下写入任何东西,如果前两步报错,只需要执行 make clean,清空编译产生的临时文件
安装完成,/usr/local/apache2/bin/apachectl start 

想看安装时自定义了什么内容 -V想看版本-v
卸载 直接删除安装目录 不会残留任何文件rm -rf /usr/local/apache2/

选择哪种安装包 ,看用途,对外提供访问,几十万或者上百万访问量,用源码包,自己本机用的,rpm更方便

脚本安装包
脚本是为了既想安装源码包,有想简便的人,把安装过程写成了脚本,类似于windows安装qq,执行后只需要设置简单的参数
还是先下载源码包 
解压缩 tar -zxvf 包名 进入目录 
执行./setup.sh 默认装在etc下webmin 然后询问安装设置,全部回车,登录用户名写,退格按Ctrl+退格
然后浏览器中192.168.0.79:端口号 就可以登录webmin


screen

yum安装

screen进入界面

输入需要后台执行的命令,如while sleep 30;do sh /tmp/drop_ip.sh ;done

然后ctrl+a,再按d

看都有哪些后台执行命令screen -ls

screen -r 接ls看到的