第六章Linux軟件安裝(源碼包與RPM包區(qū)別與安裝)-(yum在線管理赢织,光盤yum源搭建)-(腳本安裝包webmin)

軟件包管理簡介

軟件包分類

1.源碼包亮靴,是開源的,可以直接看到源碼于置,如:腳本安裝包

2.二進制包(RPM包茧吊、系統(tǒng)默認(rèn)包):是源代碼包經(jīng)過編譯的01的文件

可以加快安裝速度,但是不能看到源代碼了



RPM包管理-rpm命令管理

1.RPM包命名規(guī)則


2.RPM包依賴性

樹形依賴:a->b->c 安裝順序:cba 卸載順序:abc

環(huán)形依賴:a->b->c->a 解決辦法:用一條命令把abc三個包都安裝了

模塊依賴:? 模塊依賴查詢網(wǎng)站:www.rpmfind.net

像這種 .so.2八毯,以數(shù)字結(jié)尾的包都是庫依賴包搓侄,不是單獨獨立的包,它是某個軟件包中的文件


rpm是由紅帽公司開發(fā)的軟件包管理方式话速,使用rpm我們可以方便的進行軟件的安裝讶踪、查詢、卸載泊交、升級等工作乳讥。但是rpm軟件包之間的依賴性問題往往會很繁瑣,尤其是軟件由多個rpm包組成時。

yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器廓俭≡剖基於RPM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝研乒,可以自動處理依賴性關(guān)系汹忠,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載告嘲、安裝错维。


RPM包管理-安裝升級與卸載

1.包全名:操作的包是沒有安裝的軟件包時,使用包全名橄唬。而且要注意路徑(要在Packages目錄下執(zhí)行安裝)赋焕。一般是安裝和升級的時候需要用到。

包都在 /mnt/cdrom/Packages中

2.包名:操作已經(jīng)安裝的軟件包時仰楚,使用包名隆判。

是搜索/var/lib/rpm/中的數(shù)據(jù)庫。如查詢僧界、卸載侨嘀。

注意:包名和包全名是嚴(yán)格區(qū)分的

1.RPM安裝(要在Packages目錄下執(zhí)行)

rpm -ivh 包全名

選項:

-i(install):安裝

-v(verbose):顯示詳細信息

-h(hash):顯示進度

--nodeps:不檢測依賴性(一般不用這個選項)

如:rpm -ivh httpd-

然后按下tab鍵,就可以看到所有以httpd-開頭的安裝包捂襟,一般先安裝主包再安裝副包

注意:按 tab鍵咬腕,就可以列出所有相關(guān)的文件。

2.RPM包升級

rpm -Uvh 包全名

-U(upgrade) 升級

3.卸載(不需要在包路徑下執(zhí)行葬荷,因為它搜索的是后臺數(shù)據(jù)庫涨共,任何位置都能找到)

rpm -e 包名

-e(erase): 卸載

--nodeps:不檢查依賴性(一般不用這個選項)



RPM命令管理-查詢(不一定要在packages路徑)

1.查詢是否安裝

rpm -q 包名

選項:-q(query):查詢,必選

如: rpm -q httpd

查詢httpd-是否有安裝纽帖,如果安裝就會出現(xiàn)安裝的版本信息

-a (all): 所有

如:rpm -qa

查詢所有已經(jīng)安裝的rpm包

如:rpm -qa | grep httpd

列出所有和httpd相關(guān)的包

2.查詢軟件包詳細信息

rpm -qi 包名

選項:-i (information) 查詢軟件信息

-p(package) 查詢未安裝包信息(后面跟的是包全名)

如:rpm -qi httpd

查詢httpd包的信息

如:rpm -qip zip(之后按tab鍵進行補齊全名,,注意路徑)

3.查詢包中文件的安裝位置

rpm -ql 包名

選項:-l(list):列表

-p(package):查詢未安裝包信息(后面跟的是包全名)

如:rpm -ql httpd

查詢(已安裝包)httpd安裝位置

rpm -qpl zip(之后按tab鍵進行補齊全名举反,,注意路徑)

查詢(未安裝包)zip的位置

4.查詢文件系統(tǒng)屬于哪個RPM包(要在系統(tǒng)文件所在目錄下)

rpm -qf 系統(tǒng)文件名

選項:-f (file):查詢系統(tǒng)文件屬于哪個軟件包

如:rpm -qf? var/www/icons/up.gif

結(jié)果就會告訴我們這個系統(tǒng)文件包是httpd安裝的

rpm -qf? yum.conf

(要在 /etc目錄下懊直,輸入上面的命令)

5.查詢軟件包的依賴性

rpm -qR 包名

選項:-R:查詢軟件包的依賴性(requires)

-p: 查詢未安裝包信息(后面跟的是包全名)(package)

如:rpm -qR httpd

查詢httpd包的依賴性

rpm -qRp zip(之后按tab鍵進行補齊全名,注意路徑)

注:注意路徑 是指要在對應(yīng)的包的目錄下,再進行查詢



RPM命令管理-校驗和文件提取

1.RPM包校驗

[root@localhost~]#rpm -V 已安裝的包名

選項:-V(大寫)校驗指定RPM包中的文件( verify)

如:rpm -V httpd

如果沒有提示信息火鼻,說明安裝的httpd包就是我們初始安裝的室囊,沒有做過任何修改

如提示信息如下:驗證的內(nèi)容? ? ? ? 文件類型? ? ? ? 修改的文件名

S.5....T. c /etc/httpd/conf/httpd.conf

如果有提示,一般是8個字符魁索,表示信息如下:

如果沒有改變就用 “.”表示

驗證內(nèi)容中的8個信息的具體內(nèi)容如下:

◆S 文件大小是否改變

◆M 文件的類型或文件的權(quán)限(rwx)是否被改變

◆5 文件MD5校驗和是否改變(可以看成文件內(nèi)容是否改變)

◆D 設(shè)備的中融撞,從代碼是否改變

◆L 文件路徑是否改變

◆U 文件的屬主(所有者)是否改變

◆G 文件的屬組是否改變

◆T 文件的修改時間是否改變

文件類型

◆c配置文件( config file)

◆d普通文檔( documentation)

◆g "鬼”文件( ghost file),很少見蛾默,就是該文件不應(yīng)該被這個RPM包包含

◆l 授權(quán)文件( license file)

◆r 描述文件( read me)

2.RPM包中文件提扰称獭(一般多用于恢復(fù)被修改、破壞的系統(tǒng)文件)

[root@localhost~]#rpm2cpio 包全名 | \

cpio -idv . 文件絕對路徑

這條命令表示:要把安全包rpm轉(zhuǎn)換為cpio支鸡,然后再從cpio中提取所要的文件〕们裕“\”這個符號表示命令太長牧挣,要換行⌒崖剑“.”表示把指定的文件提取到當(dāng)前路徑瀑构,當(dāng)前路徑一般是當(dāng)前要工作的目錄

如:rpm2cpio

#將rpm包轉(zhuǎn)換為pio格式的命令

cpio

#是一個標(biāo)準(zhǔn)工具,它用于創(chuàng)建軟件檔案文件和從檔案文件中提取文件

如:1.whereis ls? :查詢ls在哪里

2.rpm -qf /bin/ls :查詢ls命令屬于哪個軟件包

3.mv /bin/ls /tmp :造成ls命令誤刪的假象

4. rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-47.el6.x86_64.rpm | cpio -idv ./bin/ls? :提取rpm包中l(wèi)s命令到當(dāng)前目錄的/bin/ls下

5.cp /root/bin/ls /bin/ :把ls命令復(fù)制回/bin/目錄刨摩,修復(fù)文件丟失

注意:dir 可以查看當(dāng)前路徑下的目錄


RPM包管理-yum在線管理

yum在線管理-IP地址配置和網(wǎng)絡(luò)yum源

1.IP地址配置(可永久生效)

1)setup #使用setup工具

setup:配置網(wǎng)絡(luò),只有root用戶可以使用寺晌,永久生效

用法:setup

選擇 網(wǎng)絡(luò)配置,然后回車澡刹,-> 設(shè)備配置(回車)->

在DHCP中輸入 * 是自動獲取IP地址呻征,如果沒有 DHCP SERVER就不要寫這個,因為無法自動獲取

自己手動輸入IP地址罢浇,子網(wǎng)掩碼陆赋,網(wǎng)關(guān)

然后保存并退出,最后別忘了用命令:service network resatrt

重啟網(wǎng)絡(luò)服務(wù)

注意:setup命令是紅帽系列專有的

2)vi /etc/sysconfig/network-scripts/ifcfg-eth0 #啟動網(wǎng)卡嚷闭。如果有多個網(wǎng)卡攒岛,后面跟的就是eth1,eth2等

3)service network restart #重啟網(wǎng)絡(luò)服務(wù)

2.網(wǎng)絡(luò)yum源

root[@localhost yum.repos.d]# vi/etc/yum.repos.d/ CentoS-Base.repo

注意:后綴是 .repo都是合法的yum源

◆[base] 容器名稱,一定要放在[]中

◆name 容器說明胞锰,可以自己隨便寫

◆ mirrorlist 鏡像站點灾锯,這個可以注釋掉

◆ baseurl 我們的yum源服務(wù)器的地址。默認(rèn)是 Centos官方的yum源服務(wù)器嗅榕,是可以使用的顺饮,如果你覺得慢可以改成你喜歡的yum源地址

◆ enabled 此容器是否生效吵聪,如果不寫或?qū)懗?enable=1都是生效,寫成enable=0就是不生效

◆ gpgcheck 如果是1是指RPM的數(shù)字證書生效领突,如果是0則不生效

◆ gpgkey 數(shù)字證書的公鑰文件保存位置暖璧。不用修改

yum在線管理-yum命令(全部使用包名)

1)查詢:yum list

#查詢所有可用軟件包列表

yum search 關(guān)鍵字

#搜索服務(wù)器上所有和關(guān)鍵字相關(guān)的包

如:yum search httpd

搜索所有和httpd相關(guān)的包,以及安裝httpd所需要的的包

2)安裝

yum -y install 包名

選項:-y? 自動回答yes

install 安裝

如:yum -y install httpd

安裝httpd包

yum -y install gcc

安裝gcc君旦,是C語言編譯器澎办。之后可用(rpm -q gcc)命令查詢相關(guān)信息

3)升級

yum -y update 包名

選項:-y? 自動回答yes

update 升級

如:yum -y update httpd

表示升級httpd包

4)卸載

yum -y remove 包名

選項:-y? 自動回答yes

remove 卸載

如:yum -y remove httpd

注意:在安裝軟件,需要多少安裝多少金砍,采用最少安裝局蚀。盡量不要卸載,尤其是使用yum下載時要注意恕稠。因為軟件包之間存在依賴性琅绅,卸載這個包,可能會導(dǎo)致系統(tǒng)其它軟件包也被卸載了鹅巍,不能使用千扶。要安裝a,其依賴性有可能是 a->b->c骆捧,這樣安裝的順序就是:c,b,a

卸載剛好相反是:a,b,c

5)YUM軟件組管理命令

yum grouplist

#列出所有可用的軟件組列表

yum groupinstall? 軟件組名

[root@localhost ~]# yum grouplist

列出所有可用的軟件組列表

[root@localhost ~]#yum groupinstall 軟件組名

安裝指定軟件組澎羞,組名可以由grouplist查詢出來

[root@localhost ~]#yum groupremove 軟件組名

卸載指定軟件組

注意:如果軟件組名中有空格 如zulu Support,就要用雙引號,如“zulu Support”這樣敛苇,才能被識別為一個軟件組


yum在線管理-光盤yum源搭建

光盤yum源搭建步驟

可以先 cd /etc/yum.repo.d/? 下看看有有哪些yum源妆绞,默認(rèn)是CentOS-Base.repo 生效。其他三個人別是: CentOS-Debuginfo.repo,CentOS-Vault.repo,CentOS-Media.repo(這個代表光盤yum)

1)掛載光盤

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

2)讓網(wǎng)絡(luò)yum源文件失效(通過改名的方式)

[root@localhost ~]# cd /etc/yum.epos.d/

[root@localhost yum.epos.d]#mv CentOS-Base.repo? \

CentOS-Base.repo.bak

[root@localhost yum.epos.d]#mv CentOS-Debuginfo.repo? \

CentODS-Debuginfo.repo.bak

[root@localhost yum.epos.d]#mv CentOS-Vault.repo \

CentOS-Vault.repo.bak

3)修改光盤yum源

[root@localhost yum.epos.d]# vim CentOS-Media.repo

[c6-media]

name=CentOS-$releasever - Media

baseurl=file:///mnt/cdrom

#地址為你自已的光盤掛載地址.///最后一個/表示根目錄

# file:///media/cdrom/

# file:///media/cdrecorder/

#注釋這兩個不存在的地址

gpgcheck =1

enabled=1

#把 enabled=0改為 enabled=1枫攀,讓這個yum源配置文件生效

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

4)yum list

可以看到后面的yum源變成 c6-media


源碼包與RPM包的區(qū)別

1括饶、區(qū)別

◆安裝之前的區(qū)別:概念上的區(qū)別

◆安裝之后的區(qū)別:安裝位置不同

2、RPM包安裝位置

◆是安裝在默認(rèn)位置中

RPM包默認(rèn)安裝路徑如下:

/etc/ 配置文件安裝目錄

/usr/bin/? 可執(zhí)行的命令安裝且錄

/usr/lib/? 程序所使用的函數(shù)庫保存位置

/usr/share/doc 基本的軟件使用手冊保存位置

/usr/share/man/ 幫助文件保存位置

3来涨、源碼包安裝位置

■安裝在指定位置當(dāng)中图焰,一般是/usr/local/軟件名/

4、安裝位置不同帶來的影響

◆RPM包安裝的服務(wù)可以使用系統(tǒng)服務(wù)管理命令( service)來管理扫夜,例如RPM包安裝的 apache的啟動方法是:

/etc/rc.d/init.d/httpd start

通過絕對路徑加上軟件名來啟動楞泼。(cd /etc/rc.d/init.d/ 可以看到rpm包的執(zhí)行文件)

或者 service httpd start(紅帽專有,service可以找到絕對路徑)

cd /var/www/html 在這個目錄下可以看到httpd下的網(wǎng)頁

寫一個網(wǎng)頁:vi index.html

在網(wǎng)頁中輸入192.168.1.17,就能看到網(wǎng)頁信息(要記得關(guān)掉防火墻:service iptables stop)

◆而源碼包安裝的服務(wù)則不能被服務(wù)管理命令管理笤闯,因為沒有安裝到默認(rèn)路徑中堕阔。所以只能用絕對路徑進行服務(wù)的管理,如/usr/local/apache2/bin/apachectl start


源碼包管理-源碼包的安裝過程

1颗味、安裝準(zhǔn)備

◆安裝C語言編譯器

◆下載源碼包http://mirror.bit.edu.cn/apache/httpd

2超陆、安裝注意事項

◆源代碼保存位置:usr/local/src

(系統(tǒng)已經(jīng)給我們準(zhǔn)備了安裝源碼包的位置,其中usr是linux系統(tǒng)資源目錄,local是本地的意思时呀,src是源代碼的位置)

◆軟件安裝位置:/usr/local

◆如何確定安裝過程報錯:

? 安裝過程停止

? 并出現(xiàn)error张漂、 warning或no的提示

3、源碼包安裝過程

◆下載源碼包 如:httpd-2.4.43.tar.gz

◆解壓縮下載的源碼包? 如:tar -zxvf httpd-2.4.43.tar.gz

◆進入解壓縮目錄 如:cd /root/httpd-2.4.43

注意:du -sh httpd-2.4.43 通過這條命令可以看到這個源碼包有多大

4.? ./configure 軟件配置與檢查(執(zhí)行完會產(chǎn)生Makefile)

定義需要的功能選項

命令: ./configure --prefix=/usr/local/apache2

檢測系統(tǒng)環(huán)境是否符合安裝要求

把定義好的功能選項和檢測系統(tǒng)環(huán)境的信息都寫入 Makefile文件谨娜,用于后續(xù)的編輯航攒。

5.make? #編譯(把源碼包翻譯為機器語言)

make clean #清空編譯產(chǎn)生的臨時文件,沒有報錯不要執(zhí)行

make install? #編譯安裝趴梢,才會向目錄真正寫入文件

6.由yum安裝的httpd漠畜,啟用的httpd占用的端口也是80,所以要先停掉

service httpd stop

7.安裝完成后坞靶,進行啟動

命令:/usr/local/apache2/bin/apachectl start

8.在網(wǎng)頁中輸入 192.168.1.17

就可以發(fā)現(xiàn)首頁是啟動的是源碼包的apache

9.源碼包的卸載(一個服務(wù)器中憔狞,只能有一個httpd)

◆不需要卸載命令,直接刪除安裝目錄即可彰阴。

不會遺留任何垃圾文件

如:rm -rf /usr/local/apache2/

注意:1.通過 ./configure --help 可以看到其支持的編譯功能選項

2.通過 more INSTALL 可以看安裝的過程

3.httpd如果是2.4以上的版本瘾敢,要先安裝ARP

步驟如下:都是在根目錄下執(zhí)行,也就是要先 cd /root下尿这。

[root@localhost ~]#這個狀態(tài)下

1)下載所需工具包:

wget http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz

wget http://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz

2)將以前的刪除:yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs

分別進行便于安裝:

3)

tar -zxvf apr-1.5.0.tar.gz?

cd apr-1.5.0?

./configure --prefix=/usr/local/apr? && make && make install

tar -zxvf apr-util-1.5.3.tar.gz

cd apr-util-1.5.3

./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config && make && make install

tar -zxvf pcre-8.34.tar.gz?

cd pcre-8.34?

./configure --prefix=/usr/local/pcre? && make && make install

4)最后一步安裝httpd

wget http://apache.org/dist/httpd/httpd-2.4.9.tar.gz (如果之前沒下載簇抵,就可以用這個命令進行下載)

tar -zxvf httpd-2.4.43.tar.gz

cd /root/httpd-2.4.43

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util/ \

--with-pcre=/usr/local/pcre

make && make install


腳本安裝包

1、腳本安裝包

◆腳本安裝包并不是獨立的軟件包類型射众,常見安裝的是源碼包正压。

◆是人為把安裝過程寫成了自動安裝的腳本,只要執(zhí)行腳本责球,定義簡單的參數(shù),就可以完成安裝拓劝。

◆非常類似于 Windows下軟件的安裝方式雏逾。

2、 Webmin的作用

◆ Webmin是一個基于Web的 Linux系統(tǒng)管理界面郑临。您就可以通過圖形化的方式設(shè)置用戶帳號栖博、 Apache、DNS厢洞、文件共享等服務(wù)

3仇让、 Webmin安裝過程

◆下載軟件

>http://sourceforge.net/projects/webadmin/files/webmin/

◆解壓縮,并進入加壓縮目錄

tar -zvxf webmin-1.61..tar.gz

du -sh webmin-1.610(查看大小的命令)

cd webmin-1.610

◆執(zhí)行安裝腳本

./setup.sh

以回車作為默認(rèn)

最后可以修改用戶名和密碼躺翻。這里設(shè)置用戶名:admin 密碼:123456

使用的是本機的10000端口號

◆在網(wǎng)頁中:192.168.1.17:10000即可丧叽,然后輸入用戶名和密碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市公你,隨后出現(xiàn)的幾起案子踊淳,更是在濱河造成了極大的恐慌,老刑警劉巖陕靠,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迂尝,死亡現(xiàn)場離奇詭異脱茉,居然都是意外死亡,警方通過查閱死者的電腦和手機垄开,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門琴许,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人溉躲,你說我怎么就攤上這事榜田。” “怎么了签财?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵串慰,是天一觀的道長。 經(jīng)常有香客問我唱蒸,道長邦鲫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任神汹,我火速辦了婚禮庆捺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屁魏。我一直安慰自己滔以,他們只是感情好做入,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布蔬螟。 她就那樣靜靜地躺著,像睡著了一般豹储。 火紅的嫁衣襯著肌膚如雪桃漾。 梳的紋絲不亂的頭發(fā)上坏匪,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音撬统,去河邊找鬼适滓。 笑死,一個胖子當(dāng)著我的面吹牛恋追,可吹牛的內(nèi)容都是我干的凭迹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼苦囱,長吁一口氣:“原來是場噩夢啊……” “哼嗅绸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沿彭,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤朽砰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞧柔,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡漆弄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了造锅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撼唾。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哥蔚,靈堂內(nèi)的尸體忽然破棺而出倒谷,到底是詐尸還是另有隱情,我是刑警寧澤糙箍,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布渤愁,位于F島的核電站,受9級特大地震影響深夯,放射性物質(zhì)發(fā)生泄漏抖格。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一咕晋、第九天 我趴在偏房一處隱蔽的房頂上張望雹拄。 院中可真熱鬧,春花似錦掌呜、人聲如沸滓玖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽势篡。三九已至,卻和暖如春模暗,著一層夾襖步出監(jiān)牢的瞬間殊霞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工汰蓉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棒卷。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓顾孽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親比规。 傳聞我的和親對象是個殘疾皇子若厚,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355