Leezhiy Blog

软件包管理简介

软件包分类

软件包分为两大类:源码包和二进制包(RPM包、系统默认包)。

  • 二进制包

    也叫RPM包,也是系统默认包,它是经过编译之后的安装包。不能看到它的源代码。二进制包实际上是软件的厂商在发行软件时,将源码包进行了编译和一些特定的设置。从而,简化了安装步骤,加快了安装速度。RPM包的文件名一般以 .rpm 结尾。

    注意:redhat系列的Linux系统(比如:CentOS)用的二进制包才是RPM包,Ubuntu和Debian系列的Linux系统用的二进制包是DEB包。

    redhat系列与Ubuntu和Debian系列的Linux系统的主要区别就在于二进制包的不同。

阅读全文 »

挂载概念

Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录下的某个目录来实现,这种关联操作就是“挂载”,这个目录就是“挂载点”,解除次关联关系的过程称之为“卸载”。

注意:“挂载点”的目录需要以下几个要求:

  1. 目录事先存在,可以用mkdir命令新建目录;

  2. 挂载点目录不可被其他进程使用到;

  3. 挂载点下原有文件将被隐藏。

阅读全文 »

Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。

Linux系统用户是根据用户ID来识别的,默认ID长度为32位,从默认ID编号从0开始,但是为了和老式系统兼容,用户ID限制在60000以下,Linux用户分总共分为三种,分别如下:

  • root用户 (ID 0)
  • 系统用户 (ID 1-499)
  • 普通用户 (ID 500以上)

Linux系统中的每个文件或者文件夹,都有一个所属用户及所属组,使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码。Linux操作系统用户的特点如下:

  1. 每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名;
  2. 每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;
  3. 每个组拥有一个GroupID;
  4. 每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;
  5. 每个可登陆用户拥有一个指定的Shell环境。
    阅读全文 »

.tar (注:tar是打包,不是压缩!)

script
1
2
3
4
5
#解包:
tar xvf FileName.tar

#打包:
tar cvf FileName.tar DirName

.gz

script
1
2
3
4
5
6
7
8
#解压1:
gunzip FileName.gz

#解压2:
gzip -d FileName.gz

#压缩:
gzip FileName

.tar.gz 和 .tgz

script
1
2
3
4
5
#解压:
tar zxvf FileName.tar.gz

#压缩:
tar zcvf FileName.tar.gz DirName

tar 与 find 命令结合使用

script
1
2
3
4
5
#将按照自己条件查询出来的文件名写入到一个文件 tmp.list 中
find /tmp -cmin +24 > tmp.list

#然后将文件中记录到的所有文件加入到压缩包中
tar -T tmp.list -czvf tmp.expire.tar.gz

.bz2

script
1
2
3
4
5
6
7
8
#解压1:
bzip2 -d FileName.bz2

#解压2:
bunzip2 FileName.bz2

#压缩:
bzip2 -z FileName

.tar.bz2

script
1
2
3
4
5
#解压:
tar jxvf FileName.tar.bz2

#压缩:
tar jcvf FileName.tar.bz2 DirName

.bz

script
1
2
3
4
5
#解压1:
bzip2 -d FileName.bz

#解压2:
bunzip2 FileName.bz

.tar.bz

script
1
2
#解压:
tar jxvf FileName.tar.bz

.Z

script
1
2
3
4
5
#解压:
uncompress FileName.Z

#压缩:
compress FileName

.tar.Z

script
1
2
3
4
5
#解压:
tar Zxvf FileName.tar.Z

#压缩:
tar Zcvf FileName.tar.Z DirName

.zip

script
1
2
3
4
5
#解压:
unzip FileName.zip

#压缩:
zip -r FileName.zip DirName

.rar

script
1
2
3
4
5
#解压:
rar x FileName.rar

#压缩:
rar a FileName.rar DirName

.lha

script
1
2
3
4
5
#解压:
lha -e FileName.lha

#压缩:
lha -a FileName.lha FileName

.rpm

script
1
2
3
4
5
#解包:
rpm2cpio FileName.rpm | cpio -div

#安装:
rpm -ivh awstats-7.0-1.noarch.rpm

概述

疑问1

为什么某些程序位于 /bin 下,或者 /sbin ,或者 /usr/bin ,或 /usr/sbin 目录下吗?例如, less 命令位于 /usr/bin 目录下。为什么没在 /bin 中,或 /sbin ,或 /usr/sbin 目录中?所有这些目录之间有什么不同?

疑问2

为什么很多发行版本,比如 Centos 、 Red hat 、 SuSE 。它们的 / (根)目录下都有相同的目录结构?比如 /etc 、 /home 、 /dev 、 /var 、 /tmp 。为什么叫这些名字,这些目录下放的都是什么东西?

阅读全文 »

磁盘分区是指使用分区编辑器在磁盘上划分几个逻辑部分,也就是说,把一块大的硬盘划分为几块小的硬盘。

分区的类型

分区的类型主要有主分区、扩展分区和逻辑分区。

阅读全文 »

前言

在学习PHP面向对象时,都会在抽象类与接口上迷惑,作用差不多为什么还那么容易混淆,何不留一去一?但是事实上两者的区别还是很大的,如果能够很好地运用PHP的两个方法,面向对象的程序设计将会更加合理、清晰高效。

阅读全文 »

前言

最近在做项目时候,碰到一个问题,发现是对 self static 的理解不深,才出现了问题,所以记录下来,避免再次犯同样的错误。

阅读全文 »

前言

最近在做项目时候,碰到一个问题,发现是对 self static 的理解不深,才出现了问题,所以记录下来,避免再次犯同样的错误。

阅读全文 »