真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux中安裝軟件的方式有哪些

這篇文章給大家分享的是有關(guān)Linux中安裝軟件的方式有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來(lái)看看吧。

創(chuàng)新互聯(lián)公司是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷策劃、小程序定制開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立10余年以來(lái),已經(jīng)為上千余家自拌料攪拌車各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上千余家客戶與我們一路同行,見證我們的成長(zhǎng);未來(lái),我們一起分享成功的喜悅。

總的情況下Linux下軟件安裝主要有三種方式:

一種是源碼安裝,需要用戶自己手動(dòng)編譯

另一種是RPM包(RedHat Linux Packet Manager),通過RPM命令就可以實(shí)現(xiàn)安裝

還有一種為*.bin文件,安裝方法與Windows下的安裝過程類似

通常情況下Linux 安裝軟件主要通過以下兩種方式

①   文件名形如xxx.i386.rpm ,軟件包以二進(jìn)制形式發(fā)布.

②   文件名形如xxx.tar.gz ,軟件包多以源碼的形式發(fā)布.

Linux軟件包管理可以分為三類:二進(jìn)制包的管理,源代碼包的管理,腳本安裝

另外值得注意的是目前存在各種Linux的發(fā)行版獲取和安裝軟件的方式也有很多例如

【】redhat/centos的yum安裝(有專門的鏡像源)

【】Ubuntu/Fedora/Debian的sudo apt-get適用于deb包進(jìn)行管理安裝

【】也有的軟件是通過刻盤加密的形式然后進(jìn)行安裝的(例如cnyunwei)

【】在系統(tǒng)運(yùn)維管理人員方面也有通過ssh、C/C++語(yǔ)言或者py執(zhí)行的一些軟件命令進(jìn)行自動(dòng)化管理的應(yīng)用,這里就不做詳細(xì)介紹了。

下面有一張圖可以清晰地表示linux軟件應(yīng)用的架構(gòu)關(guān)系:

Linux中安裝軟件的方式有哪些

在Linux啟動(dòng)的時(shí)候。首先會(huì)啟動(dòng)內(nèi)核(kernel),內(nèi)核是一段計(jì)算機(jī)程序,這個(gè)程序直接管理管理硬件,包括CPU、內(nèi)存空間、硬盤接口、網(wǎng)絡(luò)接口等等。所有的計(jì)算機(jī)操作都要通過內(nèi)核傳遞給硬件。我們可以看到,Linux利用kernel實(shí)現(xiàn)軟硬件的對(duì)話。通過系統(tǒng)調(diào)用的這個(gè)重要的接口,Linux將上層的應(yīng)用與下層的kernel完全分離開,為程序員隱藏了底層的復(fù)雜性(相應(yīng)的,也提高了上層應(yīng)用的可移植性)。當(dāng)我們?cè)谏?jí)kernel的時(shí)候,也可以保持系統(tǒng)調(diào)用的語(yǔ)句不變,從而讓上層應(yīng)用不感受到下層的改變。庫(kù)函數(shù)利用系統(tǒng)調(diào)用創(chuàng)造出模塊化的功能,而shell則提供了一個(gè)用戶界面,并讓我們可以利用shell的語(yǔ)法編寫腳本,以整合程序。有了這些思想我們可以快速地了解linux的軟件應(yīng)用的安裝和工作原理,也因此為了方便和獲取更多企業(yè)應(yīng)用我們需要在linux系統(tǒng)上開發(fā)并且通過源碼編譯的方式制作各種軟件包從而為信息化時(shí)代服務(wù)。

本文主要介紹源碼安裝與RPM包的安裝

源碼包和商業(yè)軟件包根據(jù)各個(gè)公司或作者的實(shí)際情況出發(fā)(可以是tar等格式的壓縮包,也可以是bin的源程序,可以是已經(jīng)編譯好了的直接拿來(lái)運(yùn)行的文件,也可以是光盤虛擬化文件等其他介質(zhì)來(lái)制作發(fā)布的iso文件等)封裝成一種特定的格式發(fā)布從而進(jìn)行相應(yīng)的軟件服務(wù)。其實(shí)通過yum或者make install命令安裝的軟件在系統(tǒng)都會(huì)自動(dòng)生成rpm包(只是參數(shù)和功能模塊差異和嚴(yán)謹(jǐn)?shù)模?/p>

簡(jiǎn)介:

RPM(RedHat Package Manager,紅帽子軟件包管理器)用于軟件包的安裝、查詢、升級(jí)、校驗(yàn)、卸載,以及生成.rpm格式的軟件包   RPM的使用前

掛載linux系統(tǒng)(centos4為例)的安裝光盤,當(dāng)然也可在網(wǎng)上下載免費(fèi)的RPM包.

# mount/dev/cdrom           ---掛載光盤

# cd/media/cdrom/CentOS/RPMS ---進(jìn)入光盤中RPM包的目錄(可以通過#mount命令來(lái)查看光盤的掛載點(diǎn)一般會(huì)在最后一行顯示)

# ls

一、源碼包安裝

1、*.src.rpm形式的源代碼軟件包

用法:

安裝:   rpm –rebuild *.src.rpm

cd /usr/src/dist/RPMS

            Rpm –ivh *.rpm

卸載:   rpm –e packagename

2、.tar.gz,*.tgz,*.bz2形式軟件包的安裝

首先進(jìn)行解壓,命令如下

     tar zxvf   *.tar.gz

     tar xvfz   *.tgz

     tar xvfj    *.tar.bz2

解壓之后進(jìn)入解壓目錄,然后進(jìn)行以下操作(一般情況,具體看軟件包的文件名)

配置:./configure

編譯:make

安裝:make install

卸載:make uninstall

源碼安裝有一定的難度,不同的軟件可能有不同的安裝,一般在解壓之后應(yīng)該先閱讀說明文檔,按照說明進(jìn)行安裝,上面說的只是一般情況。

二、RPM包安裝

     RPM安裝包格式是由Redhat公司提出的,大大的簡(jiǎn)化了Linux下軟件的安裝,首先介紹一下通用選項(xiàng)。

     -v:顯示附加信息

     -vv:顯示調(diào)試信息

     --root directory:讓RPM以directory作為根目錄,這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下。

     1、安裝:rpm –i file.rpm

     Options:

    h:安裝時(shí)輸出hash記號(hào)

     test:只對(duì)安裝進(jìn)行測(cè)試,不真正安裝

     --persent:以百分比形式顯示安裝進(jìn)度

     --excludedocs:不安裝軟件包中的文檔

     --replacepkgs:強(qiáng)制重新安裝

     --replacefiles:替換屬于其它軟件包的文件

     --force:忽略軟件包及文檔沖突

     --ignorearch:不校驗(yàn)軟件包結(jié)構(gòu)

     --ignoreos:不檢查軟件包運(yùn)行的操作系統(tǒng)

     --nodeps:不檢查依賴性關(guān)系

--noscripts:不運(yùn)行預(yù)安裝和后安裝腳本程序

     2、刪除 rpm –e

Option:

--test:只做刪除測(cè)試,不真正刪除

--noscripts:不運(yùn)行預(yù)安裝和后安裝腳本程序

--nodeps:不檢查依賴性

注意:pkgname是軟件包的名字,不是rpm包名字,而是安裝后軟件包的名字,可以用查詢命令來(lái)查詢軟件包名。

3、升級(jí) rpm–U(或者—upgrade)

Option:

基本與安裝時(shí)的option一樣,有幾個(gè)特殊的:

--oldpackage:允許一個(gè)舊版本

4、查詢 rpm –q(或者--query)

Option:

-p PACKAGE_FILE:查詢軟件包的文件

-f FIEL:查詢FILE屬于哪個(gè)軟件包

-a:查詢所有安裝的軟件包

-g group:查詢屬于group組的軟件包

--whatproVidesCAPABILITY:查詢提供了CAPABILITY功能的軟件包

--whatrequiresCAPABILITY:查詢所有需要CAPABILITY功能的軟件包

-i:顯示軟件包的概要信息

-l:顯示軟件包中的文件列表

-c:顯示配置文件列表

-s:顯示文件列表

-scripts:顯示安裝、卸載,校驗(yàn)?zāi)_本

--qf:以用戶指定的方式查詢

--dump:顯示每個(gè)文件的校驗(yàn)信息

--proVides:顯示軟件包提供的功能

-R:顯示軟件包需要的功能

5、校驗(yàn)已經(jīng)安裝的軟件包 rpm –V(or –verify,or –y)

Option選項(xiàng)與其它命令的類似

6、校驗(yàn)軟件包中的文件 rpm –K(or –checksig)

Option:

-v:顯示版本信息

-vv:顯示調(diào)試信息

--rcfile FILELIST:設(shè)置rpmrc 文件為FILELIST

7、其它RPM選項(xiàng)

--rebuilddb:重建RPM資料庫(kù)

--initdb:創(chuàng)建一個(gè)新的RPM資料庫(kù)

--quiet:盡可能地減少輸出

--help:顯示幫助文件

--version:顯示RPM當(dāng)前版本

上面只是對(duì)常用選項(xiàng)的總結(jié),具體還有什么問題,可以用man rpm命令進(jìn)行查看,官方文件永遠(yuǎn)最好的老師。

三、*.bin格式安裝文件的安裝

只需雙擊或單擊*.bin文件就可以根據(jù)提示安裝了,不再敷述。

要想制作一個(gè)RPM格式的軟件包,需要編寫軟件包描述文件。其標(biāo)準(zhǔn)命名格式為:軟件名-版本號(hào)-釋出號(hào).spec(現(xiàn)在大多情況下都是直接用:軟件名.spec),這個(gè)文件,詳細(xì)描述了有關(guān)該軟件包的諸多信息,如軟件名,版本,類別,說明摘要,創(chuàng)建時(shí)要執(zhí)行什么指令,安裝時(shí)要執(zhí)行什么操作,以及軟件 包所要包含的文件等等。有了這個(gè)文件,RPM就可以制作出相應(yīng)的包裹文件來(lái)。當(dāng)然現(xiàn)在也有例如Source rpm這樣開源的包制作輔助工具只要一個(gè)程序源即可通過向?qū)乱徊郊纯芍谱鳌?/p>

簡(jiǎn)單的一個(gè)制作例子:

其實(shí)最好的辦法是做個(gè)軟件包。我記得 rpm 和 debian 都有快速打包的開源軟件可以直接拿來(lái)使用即可。

eg>>將nginx的tar包制作為RPM包

1.      下載nginx的源碼包

2.      將文件放到/usr/src/redhat/SOURCES/目錄下

3.      編寫SPEC文件

[root@mail SPECS]# vinginx-0.8.35.spec

Summary:the first rpmpackage

Name:nginx

Version:0.8

Release:35

Vendor:chenwei01@corp.the9.com

License:Share

Group:Applications/Text

Source0:nginx-0.8.35.tar.gz

%description

my test nginx

%prep

tar -zxvf $RPM_SOURCES_DIR/nginx-0.8.35.tar.gz

%build

cd$RPM_BUILD_DIR/nginx-0.8.35

./configure

make

%install

cd$RPM_BUILD_DIR/nginx-0.8.35

make install

%clean

rm -rf$RPM_BUILD_DIR/nginx-0.8.35

%files

%defattr(-,root,root)

/usr/local/nginx/sbin/nginx

%doc $RPM_BUILD_DIR/nginx-0.8.35/README

4.      制作RPM包

[root@mail SPECS]#rpmbuild -ba nginx-0.8.35.spec    

若運(yùn)行沒有錯(cuò)誤,則產(chǎn)生/usr/src/redhat/RPMS/i386/nginx-0.8-35.i386.rpm和/usr/src/redhat/SRPMS/nginx-0.8-35.src.rpm 兩個(gè)文件。

總結(jié):rpm包如何制作之個(gè)人經(jīng)驗(yàn)

一 RPM介紹

RPM 前是RedHat Package Manager 的縮寫,本意是Red Hat 軟件包管理,顧名思義是Red Hat 貢獻(xiàn)出來(lái)的軟件包管理;現(xiàn)在應(yīng)為RPM Package Manager的縮寫。在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流發(fā)行版本,以及在這些版本基礎(chǔ)上二次開發(fā)出來(lái)的發(fā)行版采用; RPM包中除了包括程序運(yùn)行時(shí)所需要的文件,也有其它的文件;一個(gè)RPM 包中的應(yīng)用程序,有時(shí)除了自身所帶的附加文件保證其正常以外,還需要其它特定版本文件,這就是軟件包的依賴關(guān)系。

RPM可以讓用戶直接以binary方式安裝軟件包,并且可替用戶查詢是否已經(jīng)安裝了有關(guān)的庫(kù)文件;在用RPM刪除程序時(shí),它又會(huì)聰明地詢問用戶是否要?jiǎng)h除有關(guān)的程序。如果使用RPM來(lái)升級(jí)軟件,RPM會(huì)保留原先的配置文件,這樣用戶就不用重新配置新的軟件了。RPM保留一個(gè)數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)中包含了所有的軟件包的資料,通過這個(gè)數(shù)據(jù)庫(kù),用戶可以進(jìn)行軟件包的查詢。RPM雖然是為L(zhǎng)inux而設(shè)計(jì)的,但是它已經(jīng)移值到SunOS、Solaris、AIX、Irix等其它UNIX系統(tǒng)上了。RPM遵循GPL版權(quán)協(xié)議,用戶可以在符合GPL協(xié)議的條件下自由使用及傳播RPM。

二 RPM包分類

我個(gè)人認(rèn)為rpm分為兩大類,

1 二進(jìn)制類包,包括rpm安裝包(一般分為i386和x86等幾種)和調(diào)式信息包等。

2 源碼類包,源碼包和開發(fā)包應(yīng)該歸位此類。

它們之間的關(guān)系是,最先我們按rpm打包要求改造軟件項(xiàng)目源碼,當(dāng)符合要求之后就可以使用rpmbuild命令來(lái)生成不同的rpm包,同時(shí)生成的包之間版本是直接對(duì)應(yīng)的,比如相同的源碼包將生成完全相同的二進(jìn)制rpm包。當(dāng)你在網(wǎng)上查找rpm包時(shí),一般你可以在RPMS目錄中找到預(yù)編譯的二進(jìn)制包,而源碼包則會(huì)在SRPMS目錄內(nèi)。

我們這里提到的RPM制作就是指改造軟件源代碼使之符合RPM打包要求的過程,這也可以等價(jià)為RPM源碼包的制作過程,因?yàn)楫?dāng)你有了源碼包就可以直接編譯得到二進(jìn)制安裝包和其他任意包。

三 RPM包制作介紹

RPM包的制作,即是RPM源碼包的制作。

這里我想說說RPM包工作的原理,這將有助于全面的了解RPM包管理系統(tǒng)的知識(shí)。

RPM是為解決源碼包不易安裝(需要編譯)和軟件包相互之間依賴(是RPM包管理器可以一定程度解決依賴問題)問題,它通過在探測(cè)源碼包在build和install階段的動(dòng)作獲得最終生成的需要安裝的系統(tǒng)里的文件,并記錄下一些必要的操作(比如安裝完成后執(zhí)行某項(xiàng)操作),然后把此組成為一個(gè)整體,當(dāng)在用戶安裝此包時(shí)把前面獲得的所有問題和記錄的所有操作原原本本的作用的實(shí)際系統(tǒng)上。

為一個(gè)普通的源碼打RPM包,需要下面一些操作,首先需要對(duì)項(xiàng)目的Makefile作必要的改造以支持RPM打包操作(實(shí)際上此操作不是絕對(duì)的,SPEC文檔和Makefile的是協(xié)調(diào)統(tǒng)一工作的,只要他們之間配合好了其他都無(wú)所謂,我們一般只是推薦大家盡量按行業(yè)標(biāo)準(zhǔn)規(guī)范操作而已);其次是針對(duì)當(dāng)前項(xiàng)目撰寫SPEC文檔,SPEC文檔包括了RPM打包過程的操作內(nèi)容和新生成的RPM包的基本信息等,它的作用對(duì)象是打包程序rpmbuild。

四 RPM包制作過程

1 準(zhǔn)備打包環(huán)境

fedora系統(tǒng)下使用如下命令安裝rpmbuild

#yum install rpmbuild

rpmbuild的工作目錄如下,

~/rpmbuild

~/rpmbuild/SOURCES

~/rpmbuild/SPECS

~/rpmbuild/BUILD

~/rpmbuild/RPMS

~/rpmbuild/RPMS/i386

~/rpmbuild/SRPMS

如果你的用戶目錄主目錄下沒有類似目錄結(jié)構(gòu),你可以通過一個(gè)工具軟件來(lái)自動(dòng)配置和生成,如下。

#yum installrpmdevtools

下了運(yùn)行自動(dòng)配置命令自動(dòng)生成如上目錄,并配置一些必要操作。

#rpmdev-setuptree

rpmdev-setuptree命令默認(rèn)將再當(dāng)前用戶主目錄下創(chuàng)建一個(gè)RPM構(gòu)建根目錄結(jié)構(gòu),

如果需要改變次默認(rèn)位置,可以修改配置文件:~/.rpmmacros中變量_topdir對(duì)應(yīng)的值即可。

一般rpmbuild會(huì)在當(dāng)前用戶的主目錄下自動(dòng)建立如上目錄結(jié)構(gòu),如果在你對(duì)應(yīng)用戶的構(gòu)建目錄中沒有自動(dòng)建立如上目錄,你可以通過手動(dòng)方式建立。上面目錄的使用是這樣分配的,SOURCES放置打包資源,包括源碼打包文件和補(bǔ)丁文件等;SPECS目錄放置SPEC文檔;BUILD打包過程中的工作目錄;RPMS目錄存放生成的二進(jìn)制包,RPM包根據(jù)硬件平臺(tái)不同分類,i386表示生成i386結(jié)構(gòu)的包將存放在該目錄下;SRPMS目錄存放生成的源碼包。

2 撰寫SPEC文檔

SPEC撰寫是打包RPM的核心,也算是最難的一步,好在我們可以從參照一個(gè)簡(jiǎn)單的模板文件開始,在可以實(shí)現(xiàn)基本功能的基礎(chǔ)上再一步一步的擴(kuò)充文檔內(nèi)容,直至完全達(dá)到要求。下面是一個(gè)簡(jiǎn)單的SPEC文檔,其中包括了一些說明信息(注:#后面的內(nèi)容為說明信息),該SPEC文檔是對(duì)一個(gè)測(cè)試的軟件項(xiàng)目hellorpm寫的,hellorpm軟件包編譯后僅有一個(gè)執(zhí)行文件、一個(gè)手冊(cè)文件和一個(gè)項(xiàng)目說文件。

hellorpm.spec文檔的內(nèi)容如下:

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

#軟件包簡(jiǎn)要介紹

Summary: hellorpm is atest program。

#軟件包的名字

Name: hellorpm      

#軟件包的主版本號(hào)          

Version:2.2.6        

#軟件包的次版本號(hào)            

Release: 1  

#源代碼包,默認(rèn)將在上面提到的SOURCES目錄中尋找                      

Source0:%{name}-%{version}.tar.gz  

#授權(quán)協(xié)議

License: GPL              

#定義臨時(shí)構(gòu)建目錄,這個(gè)地址將作為臨時(shí)安裝目錄在后面引用

BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root

#軟件分類

Group:Development/Tools

#軟件包的內(nèi)容介紹            

%description                        

The hellorpm programis a test.

#表示預(yù)操作字段,后面的命令將在源碼代碼BUILD前執(zhí)行

%prep                    

#構(gòu)建BUILD環(huán)境,將解壓源碼壓縮包到BUILD目錄

%setup-q      

#BUILD字段,將通過直接調(diào)用源碼目錄中自動(dòng)構(gòu)建工具完成源碼編譯操作        

%build      

#調(diào)用源碼目錄中的configure命令          

./configure      

#在源碼目錄中執(zhí)行自動(dòng)構(gòu)建命令make    

make          

#安裝字段        

%install    

#調(diào)用源碼中安裝執(zhí)行腳本            

makeDESTDIR=$RPM_BUILD_ROOT install

#文件說明字段,聲明多余或者缺少都將可能出錯(cuò)

%files            

#設(shè)置文件權(quán)限屬性      

%defattr(-,root,root)    

#聲明/usr/local/bin/hellorpm將出現(xiàn)在軟件包中    

/usr/local/bin/hellorpm    

#聲明并設(shè)置文件屬性  

%doc%attr(0444,root,root) /usr/local/man/man1/hellorpm.1

#同上,聲明文檔文件

%docREADME  

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

這個(gè)文檔需要說明的一點(diǎn):

BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root

上面BuildRoot變量表示的是源碼的臨時(shí)按照目錄,rpmbuild就是通過次目錄獲得將要按照到系統(tǒng)中的所有文件,而在SPEC文檔后面make install 命令中的參數(shù)DESTDIR=$RPM_BUILD_ROOT即是對(duì)該參數(shù)的引用,這個(gè)參數(shù)將傳給Makefile文件一告訴自動(dòng)構(gòu)建工具應(yīng)該安裝文件那里(實(shí)際上我再前文提到過的Makefile需要作一些改造以適應(yīng)RPM的構(gòu)建就包括此操作,你的Makefile文件中至少要知道在RPM構(gòu)建過程中引用此參數(shù)的值去控制安裝操作的目標(biāo))。

如上一個(gè)簡(jiǎn)單的SPEC文檔撰寫完成,下面把一個(gè)名為hellorpm-2.2.6.tar.gz的源碼壓縮文件放到

rpmbuild根目錄下的SOURCES目錄下(注,確保此歸檔文件解壓后的目錄為hellorpm-2.2.6,否則會(huì)有問題)。

到此一個(gè)完整的rpm打包環(huán)境已經(jīng)構(gòu)建完成,下面我們就可以開始構(gòu)建二進(jìn)制和源代碼RPM包。

3 構(gòu)建RPM包

構(gòu)建RPM包是有命令rpmbuild在SPEC的指導(dǎo)下完成。

開始構(gòu)建操作,首先進(jìn)入到當(dāng)前用戶的rpmbuild根目錄(即上面提到的目錄環(huán)境)。

#cd ~/rpmbuild/

執(zhí)行如何命令,-ba表示build all,即生成包括二進(jìn)制包和源代碼包的所有RPM包,下來(lái)如果正常的話,rpmbuild將正常退出,同時(shí)在RPMS目錄和SRPMS目錄中將生成對(duì)應(yīng)的RPM包。

#rpmbuild -baSPECS/hellorpm.spec

這里僅僅介紹了一個(gè)最簡(jiǎn)單軟件的最簡(jiǎn)單的RPM的打包操作過程,諸如帶有共享文件的需要進(jìn)行復(fù)雜配置的具有復(fù)雜依賴關(guān)系的等等的項(xiàng)目的打包以及后期的維護(hù),包括補(bǔ)丁的制作我將在下來(lái)的時(shí)間完成補(bǔ)充更新,今天時(shí)間不早了,該休息了!

注:費(fèi)了大半夜的功夫,搞出這么個(gè)令人不滿意的文檔,我思考著,這樣做有多少意義呢?不敢重復(fù)發(fā)明輪子的,站到巨人的肩膀你才能看得更遠(yuǎn),是這樣嗎?是不是下周開始立個(gè)計(jì)劃,每周至少翻譯三篇fedora官網(wǎng)的文檔給自己練練手。

感謝各位的閱讀!關(guān)于“Linux中安裝軟件的方式有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


文章名稱:Linux中安裝軟件的方式有哪些
文章分享:http://weahome.cn/article/jjigjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部