- 从源文件安装程序
有时需要安装的程序没有RPM包的形式,这是如果存在着源文件,则可以从源文件开始安装。从源文件安装有利于对程序进行定制,系统管理员有时对重要的程序都是先进行build,再进行安装。说道编译、链接程序,当然需要编译器、链接器等工具。例如
GNU binutils, GNU coreutils,GNU tar, gunzip,make等工具。
有时候,源文件的提供者没有提供“make uninstall”选项,那么当需要删除安装程序时,应该怎么办呢?方法是在安装前后生成system上的文件列表,这样一来便可以知道在安装过程中生成了什么文件/目录。
find / |grep –v –e ^/proc/ -e ^/tmp/ -e ^/dev > joe-preinstall.list
安装前执行
find / |grep –v –e ^/proc/ -e ^/tmp/ -e ^/dev > joe-preinstall.list
安装后执行
diff joe-preinstall.list joe-postinstall.list > joe-installed.list
列表joe-installed.list便指明了安装后生成了那些文件、目录。上面command中,grep的-v选项表示打开verbosity(冗余选项),-e表示排除目录。而^/proc/中“^”为正则表达式的语法,表示以/proc/开头的项。在上面的command中排除/proc/,/tmp是因为则两个目录都是用来存储暂时文件的,随时都会改变;而/dev则是有系统自动维护的。
假设下载了Joe编辑器,则安装过程如下:
tar zxvf joe-3.5.tar.gz
解压缩包,解压缩程序使用gzip
cd joe-3.5 进入解压缩目录
ls
less README 查看注意事项,使用说明,安装说明等
less INFO
./configure –help configure Joe to adapt to many kinds of system.包括有那一些option,
configuration
./configure –disable-largefile –prefix=$HOME 指定安装在$HOME目录,不支持large file
make
make install | tee joe-makeinstall 生成编译程序,并进行安装,将安装信息输出到
joe-makeinstall
这样,便完成了安装。如果需要卸载,则可以使用:
make uninstall 入到安装目录使用make uninstall,当然,需要Makefile支持该要求
- Managing Files and Partitions
(1) inux下文件类型如下:
文件类型指示
|
描述
|
-
|
普通文件
|
d
|
目录
|
l
|
链接文件
|
c
|
字符设备文件
|
s
|
socket文件
|
p
|
pipe(管道)文件
|
b
|
块设备文件
|
查找某一特定类型文件用如下指令:
find /home/currentuser/ -type d 查找/home/currentuser/下的目录
find /home/currentuser/ -type p 查找/home/currentuser/下的管道文件
( 2)使用chmod
在chmod命令的symbolic notation中,各个symbol代表的意思如下:
Symbol
|
Description
|
r
|
read读
|
w
|
write写
|
x
|
execute执行
|
s
|
setUid或setGid
|
t
|
sticky bit粘着位
|
u
|
用户或file owner
|
g
|
组用户group file owner
|
o
|
others其它用户
|
+
|
添加用户权限
|
=
|
overwrites
|
-
|
去除相应权限
|
(3) setUid、setGid文件和带粘着位的文件
在
Linux
下,有一种文件可以被
setUid
,使得任意使用者在执行该文件时,都绑定了文件所有者的权限。
setUid
用来提高使用者的权限,如
su
命令。
setGid
同
setUid
类似,使得任意使用者在执行该文件时,都绑定了文件所在组的权限。此外,粘着位表示任何用户都可能具有写权限,但只有该归属用户或
root
用户才能够删除。可以用
chmod
设置
setUid
、
setGid
或粘着位。完整的
chmod
使用
4
个
8
进制数,第一个
8
进制数表示设置
setUid
、
setGid
或粘着位。其余
3
个
8
进制数分别对应
file owner
,
group owner
,
others
的读、写和执行权限。
chmod 4755 /archive/datafile
设定setUid
chmod 2755 /shared/list 设定setGid
chmod 1755 /shared/somescript 设定粘着位
(4) Mounting and Unmounting Filesystems
例如在一台计算机上安装了
Windows
和
Linux
,有时需要从
Linux
访问
Windows
下的文件,此时可以利用
mount
来完成。
/sbin/fdisk –l
fdisk命令查找所有的分区及其挂载点。
df
df表示disk free,用于显示那些分区是已经mounted,其挂载点。
df –h /dev/hdc6
df也可以具体显示某一个分区的信息。
下面命令用于将Windows下的一个NTFS分区mount。
mkdir –m 755 /win2k
创建一个子目录win2k并设定其存取权限
mount –t ntfs –r /dev/hda1 /win2k 将一个ntfs分区/dev/hda1 mount到/win2k,并设置
为只读
unmount /win2k 取消mount
(5)新建文件及文件夹
可采用命令
mkdir
和
touch
来新建文件及文件夹
mkdir –p photos/scanned/jpgs/thumbs -p表示如果创建的子目录,如果其父目录不存
在,则创建其所有的父目录
可用touch命令新建一个空文件
touch newfile.txt
(6)删除文件和文件夹
rm –v newfile.txt 删除文件
rm –vi newfile.txt option –i表示显示提示信息
rm –rvi /home/games/stats/baseball option –r表示递归地删除,则可以删除目录及
子目录
rm –v file* 删除命令可以使用通配符
rm –vf file* option –f表示强制性删除
(7)文件及目录的copy, move及rename
cp –v cal.c ~ 将文件cal.c拷贝到home目录
cp –bv cal.c ~ 为覆盖的文件产生一个备份文件
cp –s cal.c ~ option –s创建符号链接
rm –rv ~/home/imags/ /shared/archives option -r拷贝目录及目录下所有的内容
rm –vf file* option –f表示强制性删除
mv –v about.gif arrow.gif ~/data2 mv表示将文件移到另一个地方
mv –v joe-2.9.7-1.src.rpm new.rpm 对文件进行重命名
使用chmod(change mode)命令能改变file owner, group owner和other users的读、写和执行权限。如果采用数字直接表示时,需要使用8进制。
chmod –v 600 /archive/datafile 将file owner的权限改为读/写,其它用户(除超
级用户)不能访问该文件
chmod –v 644 /shared/list 将file owner的权限改为读/写,其它用户权限为只
读
chmod 755 /shared/somescript 常script文件给所有用户读/执行权限,但是只用
文件拥有者有写权限
有时使用chmod命令时,只需要改变某些位,而不是需要对所有的位进行改变。这是可以使用symbolic notation。
chmod +x scriptname
即chmod a+x scriptname,所有用户都有执行权限
chmod u+x /shared/list 给file owner的添加执行权限
chmod go-x /shared/somescript 取消组用户和其它用户的执行权限
chmod +s /share 设定setGid,setUid
chmod go= scriptname 取消组用户、其它用户的读、写和执行权限
chmod g=u test1.c 设定组用户的权限跟file owner的权限一样
chmod –v a=, u=rwx,g=rx,o=r scriptname