免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: minok
打印 上一主题 下一主题

菜鸟100问 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-11-17 15:41 |显示全部楼层
在Linux、BSD系统中,软件包主要以两种形式出现:二进制包以及源代码包。 主要的二进制包格式有:
      rpm
      deb
      Autopackage
      源代码包则主要适用于自由软件的安装,用户需要自己编译它们。

tgz可以直接pkg_add
而.gz很可能就要先tar zxvf
再make 他的源码
也可用pkgsrc直接安装二进制包http://bbs.chinaunix.net/viewthread.php?tid=852067

论坛徽章:
0
22 [报告]
发表于 2006-11-18 12:31 |显示全部楼层
从网上down一个软件包例如是.gz形式的,那么我该从何入手安装呢?

进入存放该包的目录,例如: cd /root
tar zxvf filename.tar.gz  (解开压缩包)
cd filename  (在里面看INSTALL或者是readme等类似的文件,它会告诉你該如何安裝)
./configure  (配置源代码)
make         (编译)
make install (安裝)

但是这样从源代码安装, 并不能解決依赖关系. 因为如果存在
依赖, 往往需要你安装缺少的软件包. 其实比较麻烦.

论坛徽章:
0
23 [报告]
发表于 2006-11-19 00:38 |显示全部楼层
是不是有些.gz可以直接运行,不用./configure和make;make install  

对!  有些binary version, 就像mysql
这些情况很多,也有的可以./autogen.sh  再就是有的可以不要./configure

tgz gz只是个标识,tgz的东西不一定是二进制的package,不过你从官方packages目录下来的一定是了,有些程序的源代码的压缩包扩展名也是tgz,来源不明的可以使用tar ztvf *.tgz来看下内容. 总之,在下之前,先看官方说明,一般都会有提到怎么做的。下了以后看看有没有./configure ,有一般就要做的。你可以./configure --help来看

通常每一个软件都有一个独立的目录,而目录中都存在着一些档案,每个档案都有其特定用途,我们简列如下:
Makefile                 #安装软件的编译设定,您可以修改这个档案来设定我们在编译及安装软件时的参数。
README.html        #我们可以经由浏览 README.html 来查看所有 ports 目录下的软件说明。
distinfo                 #说明安装所需要的档案及其 MD5 的检查数据。
pkg-comment        #简单的软件描述。
pkg-descr                 #较详细的描述,我们通常可以在里面找到该软件网页的位置,使我们能到该网页得到更多信息。
pkg-plist                 #列出软件将安装的清单,安装后会放在硬盘中的什么地方。

[ 本帖最后由 minok 于 2006-11-24 17:44 编辑 ]

论坛徽章:
0
24 [报告]
发表于 2006-11-19 16:27 |显示全部楼层
rpm软件包如何在freebsd下安装??

1.装上linux.so (#sysinstall->Configure->Startup->Linux)
2.装上rpm-3.0.6_8.tbz
3.run rpm
#rpm -ivh XXXXX.rpm
还要在默认时Linux模块在启动时是不加载,你要在/boot/loader.conf里加上:
linux_load="YES"



附: RPM软件包使用常见问题
http://www.pcwordbook.com/web029/3484.shtml

RPM 使用命令大全
http://blog.chinaunix.net/u/25572/showart_201769.html




.

[ 本帖最后由 minok 于 2006-11-25 06:46 编辑 ]

论坛徽章:
0
25 [报告]
发表于 2006-11-20 08:11 |显示全部楼层
make install clean?  这个命令的后面的 clean 是什么意思?
make install clean的意思是:
fetch the_pkg_src;
./configure;
make;
make install;
make clean;
你明白吗?
make clean的意思仅仅是把你编译的过程中产生的中间代码删除!

下载的包没删除,不过多半是用不到了.可以用
make distclean
清除下载过来的包.

     make install clean为何总是需要从互联网上下载文件,但是网络上没有这个文件,急呀!
你可以先
make fetch-recursive
遇到没有的自己去网上找,找到后放在/usr/ports/distfiles下

论坛徽章:
0
26 [报告]
发表于 2006-11-20 16:41 |显示全部楼层
FreeBSD软件安装卸载工具--Ports和Packages详解http://www.freebsdchina.org/forum/viewtopic.php?t=14435
FreeBSD提供了两种技术:packages和ports

  Package文件是以.tgz的格式分发的
  # pkg_add -r file-1.7.1   (一个package的安装)
  # pkg_delete file-1.7.1   (删除一个软件包)
  # pkg_info        (列出已安装的所有软件包列表和描述的程序)
  # pkg_version  (比较本地 package 的版本与 ports 目录中的当前版本是否一致)
  下载地址
  ftp://ftp.freebsd.org/pub/FreeBSD /ports/packages/

  ports
  安装ports collection
  1 使用root用户运行sysinstall程序
  # /stand/sysinstall
  2 向下选择C onfigure 按Enter
  3 向下选择D istributions 按Enter
  4 向下选择Ports 按空格键

  C V Sup 方法
  使用CVSup 是一种快速获取Port 集合的方法

  port skeleton
  是让一个程序在 FreeBSD 上简洁地编译并安装的所需文件的最小组合。

  查找PORTS
  WHERSIS 程序名
  Make serch key=程序名

  安装PORT
  make
  make install

  删除PORT
  make deinstall

  查看软件安装的位置
  # pkg_info –L foopackage-1.0.0 | less

  查看软件安装的版本
  # pkg_info | grep foopackage

  查看这个软件的具体信息
  # pkg_info foopackage-1.0.0

  通过PORT下载软件
  下载所有PORT软件
  # cd /usr/ports
  # make fetch

  下载特定的PORT软件
  # cd /usr/ports/directory
  # make fetch

  想知道make要下载哪些文件
  m ake fetch-list

  安装所有PORT
  # cd /usr/ports
  # make install

  安装所有PORT而不要输入任何信息
  # cd /usr/ports # make -DINTERACTIVE install
  了解PORT的工作工程
  你只要看看/usr/ports/Mk 目录bsd.port.mk 和bsd.port.subdir.mk 的文件

  清除以安装过的源代码
  # cd /usr/ports
  # make clean

  修改PORT的下载站点
  假如ftp.FreeBSD .org 比MASTER _SITE S 上面列的任何站都近
  # cd /usr/ports/directory
  # make MASTER_SITE_OVERRIDE=\
  ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch

论坛徽章:
0
27 [报告]
发表于 2006-11-20 17:09 |显示全部楼层
多线程下载ports里的包

cd /usr/ports/ftp/axel
make
make install
make clean
编辑make.conf文件
ee /etc/make.conf
增加以下内容
FETCH_CMD=axel
DISABLE_SIZE=yes
修改配置文件
ee /usr/local/etc/axelrc
设置并发线程为10
num_connections = 10
默认的设置是4

论坛徽章:
0
28 [报告]
发表于 2006-11-20 17:11 |显示全部楼层
从ports中查找软件
问题:ports下有没有xxx这个软件?在哪个目录下?
回答:有两种办法来查找,一是通过软件名:
make fetchindex
cd /usr/ports
make search name=xxx | grep ^Path

另一种是通过关键字,也就是在软件名和说明中只要包括这个单词的都会查找出来:

cd /usr/ports
make search key=xxx | grep ^Path

论坛徽章:
0
29 [报告]
发表于 2006-11-20 17:52 |显示全部楼层
如果你的硬盘空间特紧张, 你可使用这个命令代替:

# make install distclean

当你安装一个ports时, 源程序将从互联网上下载下来并copied到/usr/ports/distfiles。 当你想重新安装那个ports时, 这些源程序已经在你的硬盘上了。 distclean 将告诉make 在软件安装成功时删除这些源程序。 可依据你的硬盘空间和你的电脑与互联网的连接速度来决定是否使用distclean。 另外, 因一些许可证的原因, 一些ports 会要求你手动取得源程序并将它们copied到/usr/ports/distfiles。 我觉得保存在硬盘上更方便, 因此我在安装ports时一般不会使用distclean。

有两个选项可以从另外的途径来节省你的硬盘空间。 如果你安装了portupgrade, 你可以使用portsclean来做这项工作。 从名字可以看出, 这个命令就是用来在ports 安装后做一些清理工作的

论坛徽章:
0
30 [报告]
发表于 2006-11-20 18:00 |显示全部楼层
来让我们看一下当前的硬盘使用情况和使用了portsclean后又有什么不同。 首先, 查看一下/usr分区使用了多少硬盘空间:
# df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 6189648 6102162 50% /usr
下一步我们来看看/usr/ports的使用情况。 这个命令将显示使用硬盘空间最多的10个目录:
# du /usr/ports |sort -rn|head
3110862 /usr/ports
1848846 /usr/ports/distfiles
822278 /usr/ports/editors
816710 /usr/ports/editors/openoffice-devel
816592 /usr/ports/editors/openoffice-devel/work
604784 /usr/ports/editors/openoffice-devel/work/oo_644_src
362536 /usr/ports/distfiles/KDE
295404 /usr/ports/distfiles/openoffice
211718 /usr/ports/editors/openoffice-devel/work/mozilla
211654 /usr/ports/editors/openoffice-devel/work/mozilla/work

Hmmm, 看起来我在安装了OpenOffice后没有使用distclean。
我现在将清理那些忘记的工作目录:
#portsclean –C
它真的能清理硬盘空间吗?

% df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 5160664 7131146 42% /usr

oh yeah. 清理了8%的硬盘空间。


下一个portsclean选项也非常有用。
有一些不需要或过时的源程序还留在/usr/ports/distfiles里。 来让我们将它找出并清理掉:
# portsclean -DD
Detecting unreferenced distfiles...
<output varies>
来看看有什么变化:

# df /usr
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1f 13360662 4092490 8199320 33% /usr

Whoa, 又清理出了9%的硬盘空间。来让我们看看主要的差别:
# du /usr/ports | sort -rn | head
1011998 /usr/ports
780760 /usr/ports/distfiles
161724 /usr/ports/distfiles/openoffice
137010 /usr/ports/distfiles/staroffice52
122648 /usr/ports/distfiles/KDE
55478 /usr/ports/distfiles/xc
24936 /usr/ports/distfiles/rpm
20536 /usr/ports/devel
18194 /usr/ports/distfiles/AbiWord
17704 /usr/ports/distfiles/ghostscript
现在硬盘使用空间已减少了很多, 但我的系统上还保留着我平常安装软件的源代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP