免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2249 | 回复: 10
打印 上一主题 下一主题

[转]让Linux象Windows一样安装卸载 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-15 12:58 |只看该作者 |倒序浏览
让Linux象Windows一样安装卸载

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

http://www.sina.com.cn 2006年01月13日 09:10 电脑报

    在Linux中要添加和删除程序是一件相当麻烦的事情,软件的安装可以用千奇百怪来形容。

  除了最简单的双击rpm包来安装软件外,还有通过make、configure命令来安装的,也有通过将软件直接copy到指定目录来安装的。除了rpm包的安装方法最简单外,其余的方法可能让初级用户相当迷糊。

  不过今天我们将给大家介绍通过第三方软件来帮助我们安装和删除Linux中程序的方法。

  首先我们到下载一款名为Kinstaller的软件压缩包,下载后在Linux 中进行解压,然后在命令窗口中分别输入:

configure
make
make install

  这样就将该软件安装上了,随后输入Kinstaller可以起动这个软件(图1),在软件的“Installation”页面中点击“Select”按钮,在出现的文件选择窗口中选中要安装的程序压缩包,接着再点击“Install”按钮就可以进行安装了。

轻松进行安装

  对于Linux中软件的删除也是相当麻烦的,不过在使用这款软件后我们也可以容易地对软件进行删除。

  在“Uninstall”页面(图2)中将显示我们安装了的软件,可以通过选择要删除的软件然后点击“Delete”或“Uninstall”按钮来删除这些软件。

可以选择删除或者卸载

  这两个按钮的区别是:在Linux中有的软件可以通过直接删除文件来进行删除,对于这类软件点击“Delete”按钮,而另一类软件带了反安装程序的就使用“Uninstall”按钮,通过卸载来删除。当你对选择的软件进行删除时如果点击错了按钮,那么将不会有任何反应,所以从这点可以判断使用哪个按钮来删除软件。

  提示:这个软件的运行环境需要在KDE3.3以上的版本上运行,目前主流的Linux发行版本都是3.3,如果你使用的是老版本的Linux将无法使用这个软件。另外这个软件只能识别通过它来安装的程序,对于使用命令或rpm安装的软件,有时不能显示出来。

论坛徽章:
0
2 [报告]
发表于 2006-01-15 13:03 |只看该作者
大家有装过这个吗?我经常从fresh meat下软件,安装真的很头疼,这个K INSTALL

论坛徽章:
0
3 [报告]
发表于 2006-01-15 13:05 |只看该作者
这个K INSTALL 我下载 了但是安装出了问题了:

[root@localhost root]#
[root@localhost root]#
[root@localhost root]# cd /opt/nsy_software/060114/kinstaller-0.2
[root@localhost kinstaller-0.2]# ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for kde-config... /usr/bin/kde-config
kde-config: ?????--libsuffix??
kde-config: ?? --help ?????????????
checking where to install... /usr (as returned by kde-config)
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -Wmissing-format-attribute... yes
checking whether gcc supports -Wmissing-format-attribute... yes
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fno-common... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -O0... yes
checking whether g++ supports -Wl,--no-undefined... yes
checking whether g++ supports -Wl,--allow-shlib-undefined... yes
not using lib directory suffix
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g77... g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for g77 option to produce PIC... -fPIC
checking if g77 PIC flag -fPIC works... yes
checking if g77 supports -c -o file.o... yes
checking whether the g77 linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking if C++ programs can be compiled... yes
checking for strlcat... no
checking if strlcat needs custom prototype... yes - in libkdefakes
checking for strlcpy... no
checking if strlcpy needs custom prototype... yes - in libkdefakes
checking for main in -lutil... yes
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... yes
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking sys/bitypes.h usability... yes
checking sys/bitypes.h presence... yes
checking for sys/bitypes.h... yes
checking for poll in -lpoll... no
checking Carbon/Carbon.h usability... no
checking Carbon/Carbon.h presence... no
checking for Carbon/Carbon.h... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking if res_init needs -lresolv... yes
checking for res_init... yes
checking if res_init needs custom prototype... no
checking for killpg in -lucb... no
checking for int... yes

论坛徽章:
0
4 [报告]
发表于 2006-01-15 13:05 |只看该作者
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for dlopen in -ldl... (cached) yes
checking for shl_unload in -ldld... no
checking for size_t... yes
checking size of size_t... 4
checking for unsigned long... yes
checking size of unsigned long... 4
checking sizeof size_t == sizeof unsigned long... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for perl... /usr/bin/perl
checking for Qt... libraries /usr/lib/qt-3.1/lib, headers /usr/lib/qt-3.1/include using -mt
checking for moc... /usr/lib/qt-3.1/bin/moc
checking for uic... /usr/lib/qt-3.1/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... libraries /usr/lib, headers /usr/include/kde
checking if UIC has KDE plugins available... yes
checking for KDE paths... defaults
checking for dcopidl... /usr/bin/dcopidl
checking for dcopidl2cpp... /usr/bin/dcopidl2cpp
checking for mcopidl... /usr/bin/mcopidl
checking for artsc-config... /usr/bin/artsc-config
checking for meinproc... /usr/bin/meinproc
checking for xmllint... /usr/bin/xmllint
checking whether byte ordering is bigendian... no
checking for MAXPATHLEN... 4096
checking if doc should be compiled... yes
checking if po should be compiled... yes
checking if src should be compiled... yes
configure: creating ./config.status
fast creating Makefile
fast creating doc/Makefile
fast creating doc/en/Makefile
fast creating po/Makefile
fast creating src/Makefile
config.pl: fast created 5 file(s).
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

Good - your configure finished. Start make now

[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]# make
make  all-recursive
make[1]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2'
Making all in doc
make[2]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
Making all in .
make[3]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
Making all in en
make[3]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc/en'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc/en'
make[2]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
Making all in po
make[2]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/po'
Making all in src
make[2]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/kde -I/usr/lib/qt-3.1/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common  -MT kinstallerview.o -MD -MP -MF ".deps/kinstallerview.Tpo" -c -o kinstallerview.o kinstallerview.cpp; \
then mv -f ".deps/kinstallerview.Tpo" ".deps/kinstallerview.Po"; else rm -f ".deps/kinstallerview.Tpo"; exit 1; fi
kinstallerview.cpp: In member function `void
   KInstallerView::setUninstallPackage(TPackageInfo*)':
kinstallerview.cpp:109: warning: unused parameter `TPackageInfo*package'
kinstallerview.cpp: In member function `void
   KInstallerView::setViewState(KInstallerView::ViewState)':
kinstallerview.cpp:160: `BusyCursor' is not a member of type `Qt'
kinstallerview.cpp:161: `BusyCursor' is not a member of type `Qt'
kinstallerview.cpp:162: `BusyCursor' is not a member of type `Qt'
make[2]: *** [kinstallerview.o] Error 1
make[2]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2'
make: *** [all] Error 2
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]# make install
Making install in doc
make[1]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
Making install in .
make[2]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
make[3]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
make[2]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
Making install in en
make[2]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc/en'
make[3]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/doc/en'
make[3]: Nothing to be done for `install-exec-am'.
/bin/sh ../../admin/mkinstalldirs /usr/share/doc/HTML/en/kinstaller
/usr/bin/install -c -p -m 644 index.docbook /usr/share/doc/HTML/en/kinstaller/index.docbook
/usr/bin/install -c -p -m 644 screenshot1.png

论坛徽章:
0
5 [报告]
发表于 2006-01-15 13:06 |只看该作者
/usr/share/doc/HTML/en/kinstaller/screenshot1.png
/usr/bin/install -c -p -m 644 screenshot2.png /usr/share/doc/HTML/en/kinstaller/screenshot2.png
/usr/bin/install -c -p -m 644 screenshot3.png /usr/share/doc/HTML/en/kinstaller/screenshot3.png
/usr/bin/install -c -p -m 644 screenshot4.png /usr/share/doc/HTML/en/kinstaller/screenshot4.png
/usr/bin/install -c -p -m 644 screenshot5.png /usr/share/doc/HTML/en/kinstaller/screenshot5.png
/bin/sh ../../admin/mkinstalldirs /usr/share/doc/HTML/en/kinstaller
/usr/bin/install -c -p -m 644 index.cache.bz2 /usr/share/doc/HTML/en/kinstaller/rm -f /usr/share/doc/HTML/en/kinstaller/common
ln -s /usr/share/doc/HTML/en/common /usr/share/doc/HTML/en/kinstaller/common
make[3]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc/en'
make[2]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc/en'
make[1]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/doc'
Making install in po
make[1]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/po'
make[2]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/po'
make[2]: Nothing to be done for `install-exec-am'.
/usr/bin/install -c -p -m 644 de.gmo /usr/share/locale/de/LC_MESSAGES/kinstaller.mo
/usr/bin/install -c -p -m 644 es.gmo /usr/share/locale/es/LC_MESSAGES/kinstaller.mo
/usr/bin/install -c -p -m 644 es-alt.gmo /usr/share/locale/es-alt/LC_MESSAGES/kinstaller.mo
/usr/bin/install -c -p -m 644 de-alt.gmo /usr/share/locale/de-alt/LC_MESSAGES/kinstaller.mo
make[2]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/po'
make[1]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/po'
Making install in src
make[1]: Entering directory `/opt/nsy_software/060114/kinstaller-0.2/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/kde -I/usr/lib/qt-3.1/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common  -MT kinstallerview.o -MD -MP -MF ".deps/kinstallerview.Tpo" -c -o kinstallerview.o kinstallerview.cpp; \
then mv -f ".deps/kinstallerview.Tpo" ".deps/kinstallerview.Po"; else rm -f ".deps/kinstallerview.Tpo"; exit 1; fi
kinstallerview.cpp: In member function `void
   KInstallerView::setUninstallPackage(TPackageInfo*)':
kinstallerview.cpp:109: warning: unused parameter `TPackageInfo*package'
kinstallerview.cpp: In member function `void
   KInstallerView::setViewState(KInstallerView::ViewState)':
kinstallerview.cpp:160: `BusyCursor' is not a member of type `Qt'
kinstallerview.cpp:161: `BusyCursor' is not a member of type `Qt'
kinstallerview.cpp:162: `BusyCursor' is not a member of type `Qt'
make[1]: *** [kinstallerview.o] Error 1
make[1]: Leaving directory `/opt/nsy_software/060114/kinstaller-0.2/src'
make: *** [install-recursive] Error 1
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]#
[root@localhost kinstaller-0.2]#

论坛徽章:
0
6 [报告]
发表于 2006-01-15 13:09 |只看该作者
大虾们有看出问题出的哪的吗?~~我用的是red  hat 9

论坛徽章:
0
7 [报告]
发表于 2006-01-15 16:10 |只看该作者
楼主,您的意思是安装这个软件来管理您的其他软件?

如果是这样,为什么不使用rpm,yum,apt?

论坛徽章:
0
8 [报告]
发表于 2006-01-16 01:28 |只看该作者
它安装也不简单啊.

论坛徽章:
0
9 [报告]
发表于 2006-01-16 07:15 |只看该作者
linux del is very easy,you can rm it directly.

论坛徽章:
0
10 [报告]
发表于 2006-01-17 15:18 |只看该作者
建议楼主装一个图形化的YUM,找起东西特别方便!

Screenshot.gif (119.4 KB, 下载次数: 46)

Screenshot.gif
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP