我擅长在 Linux 环境中安装软件包,但对 Solaris OS 还是新手。我急需将 python - libxml2 软件包安装到我的项目中。以下命令是否也适用于 Solaris 服务器安装?
sudo apt-get install libxml2 libxml2-dev
我尝试过谷歌搜索,但很遗憾找不到。有人能帮我吗?
答案1
简短的回答是:不,apt
在 Solaris 上不存在。
在 Solaris 10 中安装软件包的命令是pkgadd
。为此,您需要正确格式的软件包。您可以先查看sunfreeware.com. 下载并编辑软件包后gunzip
,uncompress
你可以执行
pkgadd -d . SFWlibxml2 <-- replace with real package name
Solaris 10 软件包管理系统对软件包依赖关系的掌握非常有限,可能不会提示您去获取所需的其他软件包。希望在您进一步了解后,对它们的需求会变得显而易见。
当然,另一种方法是从来源,这取决于您的技能水平,也可能不艰巨。
答案2
Solaris 上的版本apt-get
是pkgutil
。它是一个开源程序(不是来自 Oracle)。它使用pkgadd
底层技术,其主要功能是自动依赖性解析和包获取。
libxml 包由 OpenCSW 提供。以下是在 Solaris 10 上安装它的方法:
pkgadd -d http://www.opencsw.org/pkg_get.pkg
/opt/csw/bin/pkgutil -U -y -i libxml2_dev libxml2_2
该-U
标志将获取最新的软件包列表,该-y
标志将使安装跳过任何 y/n 确认,-i
相当于install
apt-get。该pkgutil
实用程序将自动获取并安装所有依赖项。
安装后,库将位于/opt/csw/lib
目录中,而 C/C++ 头文件将位于中/opt/csw/include
。
答案3
另一个解决方案是使用 Solaris 11,而不是 Solaris 10。
在 Solaris 11 中,您会发现 Python 默认存在(实际上您甚至无法摆脱它,因为 Solaris IPS 功能依赖于它)。
以下是在 Solaris 11.1 主机上默认找到的内容:
Python 2.6.8 (unknown, Aug 30 2012, 01:56:38) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> help('modules')
Please wait a moment while I gather a list of all available modules...
BaseHTTPServer cPickle keyword runpy
Bastion cProfile lib2to3 sched
CDIO cStringIO libbe select
CGIHTTPServer calendar libbe_py sets
ConfigParser cgi libxml2 setuptools
Cookie cgitb libxml2mod sgmllib
DLFCN cherrypy libxslt sha
DocXMLRPCServer chunk libxsltmod shelve
HTMLParser cmath linecache shlex
IN cmd locale shutil
M2Crypto code logging signal
MimeWriter codecs lxml simplejson
OpenSSL codeop macpath site
Pyrex collections macurl2path smtpd
Queue colorsys mailbox smtplib
STROPTS commands mailcap sndhdr
SUNAUDIODEV compileall mako socket
SimpleHTTPServer compiler markupbase solaris
SimpleXMLRPCServer contextlib marshal solaris_install
SocketServer cookielib math spwd
StringIO copy md5 sqlite3
TYPES copy_reg mhlib sre
UserDict crypt mimetools sre_compile
UserList csv mimetypes sre_constants
UserString ctypes mimify sre_parse
_LWPCookieJar curl mmap ssl
_MozillaCookieJar curses modulefinder stat
__builtin__ datetime multifile statvfs
__future__ dbhash multiprocessing string
_abcoll dbm mutex stringold
_ast decimal netrc stringprep
_bisect difflib netsnmp strop
_bytesio dircache new struct
_codecs dis nis subprocess
_codecs_cn distutils nntplib sunau
_codecs_hk dl nss sunaudio
_codecs_iso2022 dlpi ntpath sunaudiodev
_codecs_jp doctest nturl2path symbol
_codecs_kr docutils numbers symtable
_codecs_tw drv_libxml2 numpy sys
_collections dumbdbm opcode syslog
_csv dummy_thread operator tabnanny
_ctypes dummy_threading optparse tarfile
_curses easy_install os telnetlib
_curses_panel email os2emxpath tempfile
_elementtree encodings osol_install terminalui
_fileio errno parser termios
_functools exceptions pdb textwrap
_hashlib fcntl pickle this
_heapq filecmp pickletools thread
_hotshot fileinput pipes threading
_json fnmatch pkg time
_locale formatter pkg_resources timeit
_lsprof fpformat pkgutil toaiff
_multibytecodec fractions platform token
_multiprocessing ftplib plistlib tokenize
_random functools ply trace
_socket future_builtins popen2 traceback
_sqlite3 gc poplib tty
_sre gdbm posix types
_ssl genericpath posixfile ucred
_strptime getopt posixpath unicodedata
_struct getpass pprint unittest
_symtable gettext privileges urllib
_threading_local glob profile urllib2
_warnings grp pstats urlparse
_weakref gzip pty user
abc hashlib pwd uu
aifc heapq py_compile uuid
anydbm hmac pybonjour warnings
array hotshot pyclbr wave
ast htmlentitydefs pycurl weakref
asynchat htmllib pydoc webbrowser
asyncore httplib pydoc_topics whichdb
atexit idlelib pyexpat wsgiref
audiodev ihooks quopri xcbgen
audioop imageop random xdrlib
base64 imaplib rbac xml
bdb imghdr re xmllib
beadm imp readline xmlrpclib
binascii imputil repr xxsubtype
binhex inspect resource zfs
bisect io rexec zipfile
bootadm-helper itertools rfc822 zipimport
bootmgmt json rlcompleter zlib
bz2 jsonrpclib robotparser
是的,libxml2 就在那里。无需摆弄任何东西。