|
本帖最后由 xinle 于 2012-11-11 14:48 编辑 ! D% \( Q7 S3 V7 S6 }$ |
7 Q# {) b1 s. c! X' w
这个技巧应该适用webOS 2.0和更高版本的设备7 z! e0 O- W8 ?0 P+ Z: J. p% X! f
# o q2 ?: _3 ]' j1 }, r8 k H6 D. d$ R) S
如果你曾经遇到过Application database is full这个提示,你会不文明用语很多次的。比如咱们论坛这位网友---,以及清风老大的地铁刷机“梦幻”之旅。。。5 V7 g8 C5 B5 Q' h0 B* U1 _
" P! c+ D0 n: \+ `4 O( R( ?# u
当然如果了解出这事儿是多么无奈抓狂,那咱还没遇到的该庆幸下。这里Application database所包括的不是你U盘上的那些文档啊音乐啊等等,而是指在webOS 2.0中管理你大量数据的内部数据库.(webOS 2.0提供了一​​个新的应用程序数据存储功能。它允许您将数据存储在一个数据库称为DB8。DB8很有意思,它允许应用程序通过权限共享数据。但是,这个功能有一个致命的缺陷。它被放置在其自己独立的分区。在一定程度上,这是不错的保护数据的方式。但它限制了可以存储多少数据。苦逼的是这个分区的大小只有135MB ...). b( k# g1 L; f+ ^
7 g2 i9 n$ \8 z, q 当我们遇到Database full时可以会删掉一些邮件呀事件啊短信啥的,但是这基。本上不起作用。。。当然它提示你要重启,接着你就悲剧了。它自动执行"erase apps and data",你程序设置个人资料啥都没了,重新要你激活手机(装了忠哲就冻屏了)更操蛋的是,如果你palm profile重新同步,你然后接着遇到这个问题。。。2 [$ Z5 h9 d2 W) ~8 }+ r
来自webOSNation的开发者Donald Kirker的解决办法是提高那个分区的大小(于此同时U盘空间会减少)。为了确保你不会再遇到这个问题,我们将向你展示如何将分区扩展到512MB,你也可以根据你自己的需要调整这个数字。(如果出错了的话,可能会导致某名问题)。
% `* v9 s" e% S4 U 以下操作可以通过webOS quick install里的工具下面linux命令行来执行。请注意这个方法仅仅在pre3上测试,不过应该通用webOS 2.X的设备(包括touchpad)。+ m' c/ }9 _- ~7 r4 M
# k V# V, h: E$ t5 ]/ I备份好你所有的数据,并认真把所有步骤看完,了解潜在的风险,确定自己是否需要。& [8 i* h, H" _1 b0 x
. p! C& i# w$ k0 E7 A8 j
最后在开始之前,我们需要检查几个东西。通过linux命令,输入“df -h”(不带引号)。1 @3 V' S& N6 h' u6 s- G
注意下列几项信息:" p4 b/ G: S1 l
Total "Size" of /dev/mapper/store-media.
$ O+ d5 Y/ p5 v' \$ A# Q: WThe "Used" size of /dev/mapper/store-media
8 K- k8 H# w- ]The "Size" of /dev/mapper/store-cryptodb
+ O/ y3 h: a$ p/ j; S- ]" ]: n1 kThe "Use%" of /dev/mapper/store-cryptodb3 j; T' E8 ?/ S' O _; s z% J* J; ^
我们假定“store-media”大小为12.8G。(如果你的不同,请记下数值)确保store-media上有大约600MB剩余空间(建议备份U盘资料,然后清空)。store-cryptodb大小是135MB左右,Use%应该接近100%。执行下列步骤后这个Use%会小很多。% E% q6 i, z2 b8 b. Q
P& P5 ?/ _2 L$ ~$ [+ O# D. T0 `第一部分:收缩media分区大小* \, Q) x$ X( J% _" G# ]; F
#停止cryptofs进程" E1 q, z! ?6 p
pkill -SIGUSR1 cryptofs
4 s* G X1 f" U" `. r
* U! y+ E' L! Y#卸载/media/internal分区8 |+ ~ q% S" B6 D% |. c7 w7 u( o" p
umount /media/internal
; W3 b& _# w/ ]9 z `/ | C1 ~/ t Q9 ^
) n' K/ a3 }- r- E k8 v, T#调整分区(之前是12.8G,现在调整为12.2G)- d6 D0 v7 \$ O3 P$ e
resizefat -v /dev/mapper/store-media 12.2G
9 q t$ E; h: J: K
4 k0 t" e0 d1 R d* |#调整逻辑卷,和上面一样& L8 D6 o# {( x$ v. {% S
lvreduce -L 12.2G /dev/mapper/store-media
( `' u2 K& l+ D4 `9 ^7 [/ D( C#挂载. s2 f" n6 I2 [6 B2 [
mount /media/internal; Q1 G5 V3 [" V5 H8 ]7 G
' C( i( F1 `% H( W#重启cryptofs服务, [7 k, `9 ~% D0 X" A! ^. V! b& j
pkill -SIGUSR2 cryptofs
6 X4 H7 [, F4 w+ ~: ~
6 z5 t) ]5 Z/ n8 t" V第二部分,调增Application Database! l' e5 U+ `0 s' @3 k
#停止mojodb服务
# _3 g* K( _0 I9 X9 E5 c& ~1 }( F/sbin/stop mojodb
2 f* N+ |/ R( c5 w , U0 L) f7 T. ?! F' o# W! w
#卸载filesystem
3 J; D, z Y ?/ b$ n4 ?. ^umount /dev/mapper/store-cryptodb
7 V2 i% A4 K& I* t1 H' q % t6 l8 S) j% p% t2 x$ {
#扩展filesystem) y0 w6 W& h9 ^ W6 Z- ^8 F! M- L' D
lvextend -L 512M /dev/mapper/store-mojodb7 S; P2 h' x6 Y( @
* l9 q' q% i. x#扩展encrypted% @( {. m: R& }4 e" ?) z
cryptsetup resize /dev/mapper/store-cryptodb. M0 d+ Q3 T* Y8 A9 Q- ]: h
1 k0 ^1 K- I2 n* o( p1 x1 m#调整底层filesystem
( l1 `) A- V0 X4 ^1 `8 j6 }# Sresize2fs -f -p /dev/mapper/store-cryptodb: K4 |! z/ W* H
( i: J* m) ] K) ?- m- C" Z#挂载% w" \/ f7 g' e# r. R& J- ^
mount /dev/mapper/store-cryptodb
( m# s2 p V2 o) s+ w$ h ( S# D# i) Z/ U3 [/ a1 ^. w# X
#重启mojodb服务- g+ c4 L* Y+ E9 M$ F, r1 K1 @
/sbin/start mojodb
/ r8 \9 n: }$ A; p2 N; S+ Q . U b6 q G" E+ E: a
然后完全重启你的设备(不是luna重启)。一旦它被重新加载,执行linux的命令行并运行 “df -h”。您现在应该看到/dev/mapper/store-cryptodb为512MB,Use%会比之前小得多。如果一切顺利的话,你应该也不再看到“Database full”了。
& D5 R& U+ i1 \2 G, B* C(去原文对照代码是否有错误,我看了几遍)) A: q. L$ | h$ N0 d
8 o) C$ J9 x' i s万一什么搞错了,重新刷机吧。7 U! g( o; d0 @4 M7 O
! J3 L6 J9 c! V4 F原文/webosnation原作者/ADAM MARKS 翻译/xinle
5 M( H, R; y( w9 J# ~" w+ ^" E: h+ ^4 b' y0 B/ h
treo8编辑好难···· |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
×
|