会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 公司起名生成器源碼(隨機起名生成器,有誰用過哪個呢?)!

公司起名生成器源碼(隨機起名生成器,有誰用過哪個呢?)

时间:2024-05-09 01:31:46 来源:紫微鬥數免費在線起名打分 作者:男孩取名 阅读:682次

隨機起名生成器,有誰用過哪個呢?

小說人物名字生成器v7

0小說人物名字生成器功能介紹,小說人物名字生成器是一款為小說人物,網游角色取名的專業工具

能隨機取名/取二字名/取三字名/取四字名/指定內容取名,含10萬中文名/含3萬個英文名/含10萬個玄幻小說人物名/含1萬個網游角色名

選中名字后,單擊名字復制 / 請雙擊名字加入自選列表,自選列表內的名字可復制/批量刪除/修改/清空/導出

軟件一次注冊終身使用,可免費更換電腦注冊

pkg是什么文件的資源?

Unix/Linux下的軟件包生成器----EPM

摘要

在Unix/Linux環境下生成軟件發行包是一個挑戰,特別是你要發布一個跨多個平臺的軟件時,這項工作會變得更加艱難。因為每個操作系統都有自己的軟件包格式,而且每個操作系統的軟件開發環境都有不同的需求和實現。

(2002-08-22 11:01:14)

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

By Wing, 出處:sword_martin

在Unix/Linux環境下生成軟件發行包是一個挑戰,特別是你要發布一個跨多個平臺的軟件時,這項工作會變得更加艱難。因為每個操作系統都有自己的軟件包格式,而且每個操作系統的軟件開發環境都有不同的需求和實現。

解決這個難題的方法之一是采用ESPPackageManager(EPM)-----軟件包管理軟件,它除了支持自身的“可移植(portable)”發行格式外,還支持廠家指定的發行格式,這樣你就幾乎可以為所有的UNIX/Linux平臺的操作系統生成安裝軟件包了。

EPM軟件包管理軟件是由ESP公司開發的,如果ESP---EasySoftwareProcts公司您還不是很熟悉的話,那么CUPS----unix環境下的通用打印系統您可就不能不知道了,EPM同CUPS一樣都是為了方便用戶在Unix/Linux環境下的使用:CUPS提供了一個Unix/Linux環境下的通用的打印系統,EPM則使得在Unix/Linux環境下軟件安裝包的生成更加簡易方便。EPM的初期版本支持一種被稱為“可移植”的軟件包發行格式,它與任何特定的操作系統或軟件包生成軟件的格式都不兼容,后來在EPM的第二個版本中又加入了生成支持某個特定Unix/Linux發行版本的功能。

一、EPM功能強大

現有開放源碼的軟件包生成系統有很多:在Linux下有RedHatPackageManager(RPM)及DebianPackagingsoftware(dpkg及dselect),在商業UNIX環境下有各個廠商支持的軟件包生成系統。

但所有這些類型的格式都有一個缺點:不支持通用的軟件標準文件格式。也就是說,Debian類型的軟件包與Solaris的pkg軟件包相互不兼容。這就使得管理多操作系統的軟件包十分困難。

以上幾種格式均支持二進制的發行版本。RPM和Debian格式還支持源代碼發行版本,用戶可以重新編譯進行安裝。只有商業的UNIX格式支持patch----打補丁的發行格式,所以對RPM和Debian生成的軟件包,升級時必須更新全部的文件。除了Solaris的Pkg格式外,其它幾種格式在升級時都無需刪除原先的老版本軟件。

在創建軟件包時,RPM和Debian一定要創建一個目錄,將文件拷到該目錄中,并設置其屬主及文件權限。為了確保目錄及文件的屬主及權限正確,用戶必須以root的身份創建軟件包,這樣做,會給系統安全造成潛在的安全,而且直接以root身份進行操作也是違反相應的安全操作規范的。如果軟件包中包含了動態數據如數據庫或交換數據會使得創建過程更加復雜。

商業UNIX格式使用軟件文件列表將源文件設置為正確的目錄及權限。這使得傳輸軟件包中包含的動態數據、配置管理更加容易,同時由于用戶不需要以root的身份進行操作,也消除了潛在的安全問題。但這種格式的軟件包都是專用的,不能在其它軟件平臺上使用。

前面做了這么多的鋪墊,就是為了反襯出EPM的強大功能,現在我們來看看EPM的功能吧,它的功能可以概括為:

1、采用通用軟件標準格式創建二進制軟件發行包。即該軟件包能在所有的操作系統中進行安裝。

2、在打包前可以去除可執行文件中的調試信息。

3、將源文件及目錄轉換到安裝路徑及權限。

4、支持配置文件及啟動時的初始化腳本。

5、當替換已有文件時能夠進行自動備份。

6、提供安裝及卸載腳本,無需附加的軟件就可以工作于所有的系統中。

7、允許對整個軟件包進行升級或通過patch的方式進行升級。

8、支持軟件包中的沖突共存、需求檢測及替換。

9、支持網絡安裝,但/usr目錄必須是共享的。

10、在GNU的GPL之下必須是開放源碼的。

11、支持可移植的格式和廠商指定的格式。其接口可以方便的擴展,以支持新的格式。

12、提供了一個簡單的GUI圖形界面的安裝程序,就象在MicrosoftWindows中的流行的InstallShield一樣。

13、支持多種文件名的替換方法,使得在發行版本中重新命名及定位文件更加簡易。

14、在源文件名中支持通配符。

怎么樣,功能夠強大了吧!EPM不僅能夠生成通用格式的軟件包,而且使用也很簡單。

二、EPM的列表文件

EPM的列表文件描述了軟件包所包含的文件信息,在生成軟件包過程中要用到它。它是一個ASCII碼文件,每一行都描述了產品或文件的相關信息。注釋以字母“#”開頭。其具體格式如下:

1、Proctinformation(產品信息)

下面這個產品信息是EPM的列表文件中關于產品信息的部分:

#Proctinformation

%proctESPPackageManager

%隨緣測pyright1999-2001byEasySoftwareProcts,AllRightsReserved.

%vendorEasySoftwareProcts

%licenseCOPYING

%readmeREADME

%descriptionUniversalsoftwarepackagingtoolforUNIX.

%version2.2

其中產品信息以由百分號%開頭,屬性名稱后就是其屬性值,其間有一空格。

2、Variables(變量)

EPM可以在列表文件中引入當前的環境變量,用戶也可以自己定義新的變量。

標識符$用來定義變量,在$后定義變量名及其初值,如下所示:

$name=value

$prefix=/usr

$exec_prefix=${ prefix}

$bindir=$exec_prefix/bin

在列表文件中定義的變量可以由命令行或環境中定義的變量重載(overridden)。該方法很靈活,它是一把雙刃劍,所以建議慎用!

3、Files(文件):

下面列出的是EPM軟件包中包含的文件列表:

#Executables

%systemall

f0555rootsys/usr/bin/epmepm

f0555rootsys/usr/lib/epm/setupsetup

f0444rootsys/usr/share/doc/epm/READMEREADME

f0444rootsys/usr/share/doc/epm/COPYINGCOPYING

f0444rootsys/usr/share/doc/epm*.隨緣測

#Manpages

%systemirix

f0444rootsys/usr/share/catman/u_man/cat1/epm.1epm.1

%system!irix

f0444rootsys/usr/man/man1/epm.1epm.man

%system指令在這里是個條件判斷語句,用來確定操作系統類型,依照不同的操作系統將man文檔安裝到不同的目錄中。

在每行的開頭,分別由不同的字母代表不同的文件或目錄類型:字母f指示出文件名,字母d后代表目錄名,c代表配置文件名,I代表初始化腳本的文件名,l表示鏈接文件。在升級patch文件中,對要進行升級的文件用相應的大寫字母標示。

每一行中還有其它一些數據字段,如:文件許可位、屬主、組、目標文件名及源文件名。可以引用環境變量及從EPM命令行傳送來的變量來指定源文件名及目標文件名。如:可以將man文件安裝到由mandir變量指定的路徑中,而不是原先由%system指定的路徑:

#Manpages

f0444rootsys$mandir/cat1/epm.1epm.1

f0444rootsys$mandir/man1/epm.1epm.man

還可以使用通配符一次指定多個文件:

f0444rootsys/usr/share/doc/epm*.隨緣測Top3 樓smallrascal(㊣小無賴㊣有事給我留言㊣)回復于 2003-06-23 08:29:59 得分 0 4、Directories(目錄):用’-‘來表示目錄下的所有文件:

d0755rootsys/foo/bar/dir-

5、ConfigurationFiles(配置文件):

配置文件與正常文件的使用相同。如果安裝軟件時有一個配置文件存在,新的配置文件就被存為filname.N,這樣用戶可以將其與老的配置文件合并。下面定義了CUPS的一個配置文件:

c0644rootsys/etc/cups/cupsd.隨緣測nf隨緣測nf/cupsd.隨緣測nf

6、InitializationScripts(初始化腳本):

初始化腳本就在在機器啟動時執行的一段腳本語言或一個程序,通常用來啟動后臺守護程序。在安裝時,EPM能夠自動檢查到初始化文件的位置,所以它可以對不同的Linux版本進行設置。下面是CUPS設置的初始化腳本:

i0555rootsyscupscups.sh

其中指定了初始化腳本的根名字為cups,源文件是cups.sh。

7、SymbolicLink(符號鏈接):

如果你想在/usr/bin中做一個gzip的鏈接,起名為gunzip,語法如下:

l0555rootsys/usr/bin/gunzipgzip

8、ConditionalDirectives(條件指示):

前面我們用到了%system來選擇安裝man文件的路徑。%system用來檢查操作系統的名字或版本是否與指定的匹配。注:可以由命令uname得到操作系統的名稱,獲得操作系統的版本號用uname–r命令。

%systemirix

在為IRIX系統創建安裝軟件包時,包含以下的文件。

%systemlinux-2.0

在Linux-2.0.x的操作系統創建軟件包時,包含以下的文件。

%system!irix!linux-2.0

當不為IRIX和Linux2.0.x創建軟件包時,包含以下的文件。

%systemall

這條語句指定所有的操作系統。

如果要對不同的軟件包格式指定不同的文件,可以用%format原語:

%formatrpm

當創建RPM發行包時只包括以下的文件。

%format!rpm

不創建RPM包時包含以下文件。

%formatall

所有類型的軟件包都包含以下的文件。

9、Conflicts,Replaces,andRequires

軟件沖突和需求由%in隨緣測pat和%requires原語指定。如果你的軟件包在安裝時替換了其它的軟件,你可以用%replaces原語指定替換的內容。(當軟件包的格式不支持包替換時%replace就被映射成%隨緣測nflics)。

可以通過指定軟件包的名稱說明軟件包的依賴性:

%requiresfoobar

%in隨緣測patfoobar

%replacesfoobar

也可以直接用文件名來說明軟件包的依賴性:

%requires/usr/lib/libfoobar.so

%in隨緣測pat/usr/lib/libfoobar.so.1.2

軟件包的依賴性檢查只有對相同格式的軟件包才強制執行,所以一個可移植格式的軟件發行包,如果其需要“foobar”軟件包,那么它只會查找已安裝的可移植格式的”foobar”軟件包。

三、用EPM構造軟件發行包

1、用mkepmlist生成列表文件。

EPM提供了一個小程序---mkepmlist,用它來生成列表文件。其命令語法為:

mkepmlist[-ggroup][-uuser][--prefixdirectory]

directory[...directory]

各參數的意義如下:

-g:將指定目錄下的文件的組屬主改為指定的組名。

-u:將指定目錄下的文件的用戶屬主改為指定的用戶名。

--prefix:指定目的路徑。如果當前軟件的目錄在/opt/foo下,你希望創建軟件包的安裝目錄為/usr/local,用該參數就可以了:

mkepmlist--prefix=/usr/local/opt/foo>foo.list

這里用重定向符是為了得到foo.list這個文件,因為mkepmlist將結果打印到標準的輸出即終端屏幕上。

2、生成軟件包。

構造軟件包只需運行”epm”即可,比如要構造一個名為test的發行包,只需運行:

epmtest

EPM會自動的調用列表文件test.list,如果要指定列表文件,命令如下:

epmtesttest.list

第一個參數為軟件包的名字,test.list為列表文件的名稱。執行結果是生成一個包括了發行文件及安裝腳本的tar壓縮文件。

同時,在創建軟件包時還可以給變量賦值,如下面指定了安裝man文件的目錄:

epmmandir=/foo/bar/mantesttest.list

EPM的-f選項還可以生成廠商指定的發行包:

epm–fformat…

format選項包括:

·depot或swinstall-HP-UX的軟件發行包格式;

·dpkg-Debian的軟件發行包格式;

·instortardist-IRIX的軟件發行包格式;

·native-"Native"(RPM,INST,DEPOT,PKG等)的軟件發行包格式;

·pkg-Solaris的軟件包發行包格式;

·portable–默認的可移植格式;

·rpm-RedHat的軟件包發行格式。

采用-f選項時,無需對列表文件做任何改動。例如為test創建一個RPM格式的發行包:

epm–frpmtest結果就生成了一個RPM格式的發行包。

四、后記

在完成本文時,我發現,其實InstallShield的產品系列中也有支持跨平臺的版本,該版本的InstallShield又分為Enterprise、Professional和Express三種級別,分別滿足不同用戶的使用要求:其中Express級的產品是最初級的產品,用戶無需做太多的設置就可以快速的生成安裝文件;而Professional級的InstallShield還允許用戶對安裝進行更多的設置;最高級的Enterprise除了以上的功能外,更可以為象AS-400這樣大型系統生成安裝軟件包。

怎么樣,InstallShield是不是也做得很棒?但是,這一切都是要銀子的,開放源代碼就更不可能了。所以除非你對程序的安裝界面有特別的要求或者軟件安裝平臺是微軟的Windows,那么EPM一定會是你最好的選擇!

(责任编辑:八字起名)

相关内容
  • 龍之谷好聽的名字(龍之谷好聽的名字大全)
  • 牛年男寶寶史姓起名大全(牛年男寶寶史姓起名,姓史男孩滿分名字)
  • 鼠年莫姓男寶起名(姓莫男孩子名字怎么取 莫姓男孩起名)
  • 牛年寶寶起名字哪些字好(2021牛年起名宜用字,牛寶寶喜用字有哪些)
  • 鼠寶寶起名王梓曦好不好(幫我給兒子起名!!!)
  • 牛年女寶起名秋蕾好不好(姓黃的孩子屬牛的取什么名字,黃姓男孩牛年九月名字)
  • 鼠寶寶起名楊宸軒(1997年1月22日出生的女孩姓楊應起什么名)
  • 牛年男寶農歷八月初五起名(2021牛年農歷九月初五出生的男孩好名字起名方法)
推荐内容
  • 鼠寶寶起名佳航怎么樣(兩個字的名字男生高冷)
  • 女寶貝起名姓符什么好聽(我姓符女兒屬羊今年七月生起名)
  • 龍鳳胎兔寶寶取名字大全2022年(兔年龍鳳胎起名)
  • 牛年出生的程姓寶寶起名(程姓牛年寶寶起名 好聽大氣的名字)
  • 鼠年寶寶起名:2020六一兒童節出生的孩子怎么取名字?
  • 牛年寶寶取名起名(2021牛年起名宜用字,牛寶寶喜用字有哪些)