源码包 source code 需要用编译器去编译的包(如GCC)
优点:可以适应不同平台
可以定制功能 (使用编译参数去实现)
缺点:安装麻烦,时间长
gcc - GNU project C and C++ compiler
--安装局域网arp扫描工具
[root@li noarch]# tar xvf /share/soft/soft/arp-scan/arp-scan-1.6.tar.gz -C /usr/src/
--解压到/usr/src下
# cd /usr/src/arp-scan-1.6/
[root@li arp-scan-1.6]# ls --确认有configure文件的才能进行编译
acinclude.m4 config.guess getopt1.c INSTALL mt19937ar.c
aclocal.m4 config.h.in getopt.c install-sh NEWS
arp-fingerprint config.sub getopt.h link-bpf.c obstack.c
arp-fingerprint.1 configure(--确认有此文件) get-oui link-dlpi.c obstack.h
arp-scan.1 configure.ac get-oui.1 link-packet-socket.c README
arp-scan.c COPYING hash.c mac-vendor.5 strlcat.c
arp-scan.h depcomp hash.h mac-vendor.txt strlcpy.c
AUTHORS error.c ieee-iab.txt Makefile.am TODO
ChangeLog get-iab ieee-oui.txt Makefile.in utils.c
check-run1 get-iab.1 inet_aton.c missing wrappers.c
用rpm -ivh 装libpcap-devel包 --因为安装arp-scan这个包的./configure检测时需要,不安装会报错
[root@li arp-scan-1.6]# rpm -ivh /mnt/Server/libpcap-devel-0.9.4-14.el5.i386.rpm
warning: /mnt/Server/libpcap-devel-0.9.4-14.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:libpcap-devel ########################################### [100%]
[root@li arp-scan-1.6]# ./configure --相当于是定制软件功能并检查编译的需求,如果需求不满足,则报错
[root@li arp-scan-1.6]# make --按照你的定制编译
[root@li arp-scan-1.6]# make install --把做好的软件进行安装
[root@li arp-scan-1.6]# arp-scan -l --使用这个扫描内网所有主机信息
===========================
在linux下默认是不支持ntfs格式的挂载,移动硬盘现在基本都是
ntfs格式,所以使用移动硬盘来拷资料就需要让linux支持ntfs格式,
需要两个第三方包来实现
支持ntfs安装 (要安装两个包 一个fuse包,一个ntfs-3g的包)
[root@li arp-scan-1.6]# tar xvf /share/soft/soft/ntfs/fuse-2.7.4.tar.gz -C /usr/src/
[root@li arp-scan-1.6]# tar xvf /share/soft/soft/ntfs/ntfs-3g-2009.4.4.tgz -C /usr/src/
安装一个源码包的过程:
1,解压到一个目录
2,cd到这个目录,并查看readme,install,FAQ等文件了解安装方法
3,make clean --清除一些编译信息,使之成为干净的源码
4,./configure --根据你指定的参数,对编译进行行为控制,产生符合要求的程序,相当是一个检查程序,检查通过会产生makefile文件
./configure --help 查找编译参数
./configure --help > /fusehelp.txt
5.make --根据产生的makefile进行源码编译
6.make install --把产生的文件安装到需要的地方
增加fuse这个模块
[root@li fuse-2.7.4]# lsmod |grep fuse
[root@li fuse-2.7.4]# modprobe fuse
[root@li fuse-2.7.4]# lsmod |grep fuse
fuse 49237 0
再安装ntfs-3g的包
[root@li fuse-2.7.4]# cd ../ntfs-3g-2009.4.4/ --cd到ntfs-3g包的目录里
[root@li ntfs-3g-2009.4.4]# ./configure; make; make install --三条命令一起写执行编译过程
[root@li ntfs-3g-2009.4.4]# mount --编译安装成功后会看到mount.ntfs-3g命令
mount mount.fuse mount.nfs4 mountpoint
mount.cifs mount.nfs mount.ntfs-3g
[root@li ntfs-3g-2009.4.4]# mount.ntfs-3g /dev/sdb2 /media/ --使用方法挂载ntfs格式分区
=================================================
安装mplayer --linux版的mplayer播放器
[root@li arp-scan-1.6]# ls /share/soft/mplayer/
essential-20071007.tar.bz2 mplayer-new.tar.gz readme.txt --看readme安装
font-arial-iso-8859-1.tar.bz2 OSX-Mod-1.1.tar.bz2.tgz
[root@li ~]# firefox /share/soft/mplayer/readme.txt &
--用firefox打开readme文件,并选择gb2312的字符集查看帮助
--------------------------------------------------------
特殊的包的安装:
二进制包
RealPlayer11GOLD.bin
[root@li src]# ls /share/soft/soft/RealPlayer11GOLD.bin
/share/soft/soft/RealPlayer11GOLD.bin
安装方法为: ./RealPlayer11GOLD.bin 直接安装
装完后直接用realplay命令启用图形安装 一直点下一步就OK
还有一种特殊的包就是没有安装文件
解压后会看到有一个install.sh 直接运行安装脚本就可以安装了
--安装linux版本qq
# rpm -ivh /share/soft/qq/linuxqq-v1.0.2-beta1.i386.rpm
有兴趣的可以课后下载wine,编译安装后,可以用它来在linux运行windows下的硬盘版游戏(需要为硬盘版,就是不要写注册表的那种,并且安装目录为英文)
=====================================================
远程挂载相关解决思路:
1。ping 10.1.1.35或 ping 2.2.2.35要通
2。然后arp-scan -l 查看是否有和你相同的IP(默认是扫不到自己的IP)
3。如果有相同IP,则先换一个不冲突的IP
4。/etc/init.d/portmap restart --重启portmap,此服务是远程调用服务,在远程挂载时要用到
5.# showmount -e 10.1.1.35 --查看35这台机器上有共享了哪些目录
Export list for 10.1.1.35:
/share/yum *
/share/soft *
6。# mount 10.1.1.35:/share/soft /mnt --挂载;但要注意,我共享的目录只有/share/yum和/share/soft,所以只能挂这两个目录(但其实还可以挂他们子目录,但不能挂父目录)
# mount 10.1.1.35:/share/soft/iso /mnt --正确,可以挂子目录(如果你知道有此子目录的情况下才行)
# mount 10.1.1.35:/share/ /mnt --错误,不能挂父目录
# mount 10.1.1.35:/share/soft/iso/rhel-5.4-server-i386-dvd.iso /mnt -o loop --错误
7,挂载不用后,记得umount /mnt
=============================================
yum - Yellowdog Updater Modified
对应的产品最好在官方下载
md5
为了解决依赖性的问题 debian 分发版产生了 apt来解决依赖性
red hat 分发版 yum (yellow dog updater) 由 python语言写的
第三方的软件 rhel 4 - rhel 5.1版或5.2版
vim /etc/yum.repos.d/rhel-debuginfo.repo
[Server] --软件仓库名 --大小写不敏感,随便命名
name=Red Hat Enterprise Linux $releasever - $basearch - Debug --标识名
baseurl=ftp://10.1.1.1/Server --软件仓库地址
enabled=1 --是否打开
gpgcheck=0 --gpg验证
本地yum源的搭建
[root@li soft]# mount /share/soft/iso/rhel-5.4-server-i386-dvd.iso /mnt/ -o loop
[root@li soft]# mkdir /share/yum
[root@li soft]# cp /mnt/* /share/yum/ -rf
# vim /etc/yum.repos.d/rhel-debuginfo.repo --yum的配置文件,不一定是要叫这个名字,这个目录下所有以.repo结尾的文件都是配置文件 (但建议不要写多个.repo结尾的文件,有可能会冲突的;不用的暂时改名为非.repo结尾的就可以了)
# mv /etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/rhel-debuginfo.repo.bak --把原文件改名.bak结尾
# vim /etc/yum.repos.d/local.repo
[server]
name=server
baseurl=file:///share/yum/Server --本地的为file:/// 三个/
enabled=1
gpgcheck=0
[cluster]
name=cluster
baseurl=file:///share/yum/Cluster
enabled=1
gpgcheck=0
[clusterstorage]
name=clusterstorage
baseurl=file:///share/yum/ClusterStorage
enabled=1
gpgcheck=0
[vt]
name=vt
baseurl=file:///share/yum/VT
enabled=1
gpgcheck=0
#yum clean all --清除缓存和之前yum的一些信息
#yum list --能够把所有的包都列出来就表示成功
--查看现在已经安装了哪些rpm包(源码包不算)
[root@li ~]# rpm -qa |wc -l
1054
[root@li ~]# yum list |grep installed |wc -l
1054
远程ftpyum源的配置
现在10.1.1.35上已经配置好了ftp服务器:
登录后路径就可以看到Server,Cluster,ClusterStorage,VT这四个目录
baseurl=file:///share/yum/VT
换成
baseurl=ftp://10.1.1.35/VT
[root@li ~]# mv /etc/yum.repos.d/local.repo /etc/yum.repos.d/local.repo.bak
# vim /etc/yum.repos.d/remote_35_ftp.repo
[server]
name=server
baseurl=ftp://10.1.1.35/Server
enabled=1
gpgcheck=0
[cluster]
name=cluster
baseurl=ftp://10.1.1.35/Cluster
enabled=1
gpgcheck=0
[clusterstorage]
name=clusterstorage
baseurl=ftp://10.1.1.35/ClusterStorage
enabled=1
gpgcheck=0
[VT]
name=vt
baseurl=ftp://10.1.1.35/VT
enabled=1
gpgcheck=0
===============================================
yum list |grep installed --查找已经安装的
yum list |grep -v installed --查找没有安装的
[root@li src]# yum install mysql* -y --y参数表示自动确认安装
Installing:
mysql i386 5.0.77-3.el5 base 4.8 M
mysql-bench i386 5.0.77-3.el5 base 507 k
mysql-connector-odbc i386 3.51.26r1127-1.el5 base 159 k
mysql-devel i386 5.0.77-3.el5 base 2.4 M
mysql-server i386 5.0.77-3.el5 base 9.8 M
mysql-test i386 5.0.77-3.el5 base 3.7 M
Installing for dependencies:
libtool-ltdl i386 1.5.22-6.1 base 37 k
perl-DBD-MySQL i386 3.0007-2.el5 base 147 k
perl-DBI i386 1.52-2.el5 base 605 k
unixODBC i386 2.2.11-7.1 base 832 k
[root@li src]# yum erase mysql*
[root@li src]# yum remove mysql* --这两个一样
=======================================================
Removing:
mysql i386 5.0.77-3.el5 installed 7.9 M
mysql-bench i386 5.0.77-3.el5 installed 2.6 M
mysql-connector-odbc
i386 3.51.26r1127-1.el5 installed 419 k
mysql-devel i386 5.0.77-3.el5 installed 5.6 M
mysql-server i386 5.0.77-3.el5 installed 21 M
mysql-test i386 5.0.77-3.el5 installed 27 M
Removing for dependencies:
perl-DBD-MySQL
i386 3.0007-2.el5 installed 326 k
-------------------------------------------
yum grouplist --列出组,或者 配置好yum后,使用system-config-packages来调出图形安装
yum groupinstall "Windows File Server"
yum groupremove --慎用,有可能因为依赖性的问题把很多系统重要的包给remove掉了
[root@li yum.repos.d]# yum groupinstall 'News Server,DNS Name Server' --同时安装多个组,组名可以直接用鼠标复制下来,如果用手写要注意大小写和空格
=====================================================
使用yum的一些例子和常遇到的一些错误:
1,例子:如果用的是英文操作系统,但是忘了装中文支持,或者是装系统时忘了装一些包,但想不起是什么包
# yum list |grep zh --或者这样查找和中文有关的包
2,system-config-packages 图形调出安装系统时自定义包的界面,然后再装 或者使用 yum grouplist列出组,再yum groupinstall来安装
3,
报下面的错误,表明两个yum冲突了,要关掉一下(system-config-packages此命令打开的图形也会占用yum资源)
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: system-config-p
Memory : 33 M RSS (123 MB VSZ)
Started: Mon Jul 4 15:40:17 2011 - 00:22 ago
State : Sleeping, pid: 8454
4,报下面这种错误,就绝对是访问的问题;要么是路径写错了,如果是远程的就会是网络不通或者网络冲突
file:///share/yum/cluster/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/share/yum/cluster/repodata/repomd.xml'
5。关于repodata的讨论
[root@li ~]# mount /share/soft/iso/CentOS5.3.iso /mnt/ -o loop --挂载centos5.3的iso镜像
[root@li ~]# vim /etc/yum.repos.d/centos5.3.repo --把所有的yum配置改名为非.repo结尾,再创建这个配置文件,写上下面一段
[centos]
name=centos
baseurl=file:///mnt/CentOS/
enabled=1
gpgcheck=0
--但使用yum list时,报下面的错误,找不到repodata目录
file:///mnt/CentOS/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/mnt/CentOS/repodata/repomd.xml'
--总结:说明软件仓库并不是把一堆包放在一个目录,然后在yum的配置文件里写上路径就可以了,它需要一个repodata目录来存放软件信息
--正确的写法为
[centos]
name=centos
baseurl=file:///mnt --就写这个路径,因为repodata目录在centos里与CentOS目录同级,并不是它的子目录
enabled=1
gpgcheck=0
6,
导入gpg key 使用系统支持非本系统的包,网上软件仓库的网址一般都会有gpg key文件
rpm --import RPM-GPG-KEY-redhat-release
把上面的centos的配置文件的gpgcheck=0删除,或者改为1
[centos]
name=centos
baseurl=file:///mnt
enabled=1
然后在安装包时,会报下面的错误
signture 签名错误,
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
Public key for hesinfo-3.1.0-1.1.i386.rpm is not installed
--使用yum有上面的签名错误(如在rhel5.4上安装centos5.3的包),解决方法为在yum配置文件里加上gpgcheck=0
或者把centos5.3镜像里的key文件导入到系统,导入后就可以成功安装了
# rpm --import RPM-GPG-KEY-CentOS-5
--补充,现在一些大网站都有这种开源软件的软件仓库(如网易,搜狐),只要能上网,把yum配置文件写对路径就可以了(为http协议)
7。yum 很特殊的一个小问题
--例如我现在的目录下有如下perl开头的包
[root@li amavisd_clamav_spam]# ls perl-*
perl-Archive-Zip-1.23-1.el5.rf.noarch.rpm
perl-BerkeleyDB-0.32-1.el5.rf.i386.rpm
perl-Convert-BinHex-1.119-2.2.el5.rf.noarch.rpm
perl-Convert-TNEF-0.17-3.2.el5.rf.noarch.rpm
perl-Convert-UUlib-1.051-1.2.el5.rf.i386.rpm
perl-File-Temp-0.19-1.el5.rf.noarch.rpm
perl-IO-stringy-2.110-1.2.el5.rf.noarch.rpm
perl-MailTools-2.02-1.el5.rf.noarch.rpm
perl-MIME-tools-5.425-1.el5.test.noarch.rpm
perl-Net-Server-0.97-1.el5.rf.noarch.rpm
perl-Unix-Syslog-1.0-1.el5.rf.i386.rpm
[root@li amavisd_clamav_spam]# yum install perl*
--在这个目录下去yum install perl* 会变成不读取软件仓库里的perl开头的包,而是读取当前目录下的perl开头的包
--解决方法:cd到别的任意目录,再执行yum install perl* 就可以了
============================================================
让yum支持只下载软件包,不去安装软件包
# yum install yum-downloadonly -y
只下载不安装: 《--仅仅对网络仓库才生效
# yum install --downloadonly --downloaddir=/tmp/test unixODBC-devel -y
列出某个包所依赖的软件包
# yum deplist slrn-pull
# wget -m -np -k http://10.1.1.35/ --下载我的所有笔记,并转化为本地链接。会有一个index.html主页文件,firefox index.html &打开就可以了
# wget -m -np -k http://10.1.1.35/ule --这就是只下载ule目录
===============================================
升级软件仓库或者自已做一个软件仓库
1、新建文件夹,把新的软件仓库里涉及的软件放到该目录,里面的软件包,一般要求你必须手工的解决依赖关系
mkdir /share/extra
cp ??.rpm /share/extra
2、生成软件仓库的软件列表文件
yum install createrepo -y
createrepo /share/extra <---扫描并生成,生成的是repodata目录
3、更新yum客户端的配置文件,使用这个新的软件仓库分类
# vim /etc/yum.repos.d/rhel-debuginfo.repo
[Extra]
name=Extra
baseurl=file:///share/extra
enabled=1
gpgcheck=0
# yum clean all
# yum list