自動還原問題 - Linux

Connor avatar
By Connor
at 2011-10-25T23:18

Table of Contents

我的eeepc上也是用read-only /, 直接把改過的東西丟出來吧XD
fstab:
UUID=1b7d3c50-7650-4504-94b3-cd0935d0d80a / ext4 ro 0 0
UUID=63169301-1345-4cd9-a369-303994a16009 /home xfs ro 00
tmpfs /tmp tmpfs defaults 0 0
tmpfs /aufs tmpfs uid=1000,gid=1000,mode=755 0 0
aufs /home/user aufs br:/aufs=rw:/home/rouser=rr 0 0

on filesystem:
lrwxrwxrwx 1 root root 12 May 1 00:45 /var/log -> /lib/init/rw
1 root root 4 May 1 00:46 lock -> /tmp
1 root root 12 May 1 00:44 run -> /lib/init/rw
1 root root 16 Aug 9 16:45 resolv.conf -> /tmp/resolv.conf
1 root root 16 Aug 9 16:46 resolv.conf.dhclient-new -> /tmp/resolv.conf

aufs用到/上有點麻煩,
/tmp一定要可以寫,要不然 Xorg 開不了

試新軟體時的chroot:
#!/bin/bash
target=/dev/shm/rwroot
m () { sudo mount -B /$1 $target/r/$1; }
sudo mkdir $target && sudo mount -t tmpfs rwroot $target
sudo mkdir $target/{rw,ro,r}
sudo mount -B / $target/ro
sudo mount -t aufs aufsroot -o br:$target/rw:$target/ro $target/r
m tmp
m dev
m dev/pts
m cdrom
sudo mount -B /cdrom/deb $target/r/var/cache/apt/archives
xhost +
exec sudo chroot /dev/shm/rwroot/r


我現在關機都直接sysrq-o, reboot sysrq-b,沒在怕
sda 的md5sum也好久沒變 :)
希望你改的出你想要的系統
你可以把game的資料 sync mount起來


※ 引述《mathfeel (mathfeel)》之銘言:
: ※ 引述《lovetiffany (咕咕)》之銘言:
: : 大家好,最近加入軟體業,創新開發了個主機板遊戲,
: : 用的是ubuntu 10.04 但該遊戲並非pc遊戲,開關機只能開切電,
: : 無法做到reboot,導致每次開機後都要scan好一段時間,
: : 版子上的遊戲也需要做到保護,不能因開切電導致系統或遊戲錯亂,
: : 目前四處打聽幾個方法,我該用什麼方法克服?
: : 1) 將system file設置為read-only,因為沒有寫所以不用scan?
: : 設定之後如果要修改系統或是更新遊戲該怎麼辦也是個問題?
: : 是不是設定後再也不能更動了,除非格式化?
: : 2) 用還原軟體(如再生龍)自動覆蓋原本的os,需有兩個磁區,但具體做法?
: : 今天剛玩了下再生龍,我用VM開兩個,把其中一個備份裝到另一個,
: : 似乎是可以,不過系統內什麼都沒有;但用遊戲版備份CF就出問題了。
: : 而再生龍本身似乎也沒有可以設定安裝在系統內,
: : 每次開機都還原系統,而這樣子花費的時間會不會跟scan沒什麼差?
: : 不好意思,本身linux無能,第一次寫遊戲也是第一次接觸ubuntu,
: : 好多東西都是從沒聽過的,好多問題不知道該如何克服,
: : 希望各位前輩給點意見,或是有其他的解決方法也可以給點方向,
: : 謝謝 m(_ _)m
: 其實我没有完全看懂你要甚麼但直覺跟我最近做的一件事情很像。所以回一下。
: 我電腦的Linux已經装了一段時間。要装的軟體也很少變動。基本上就是偶尔的update。
: 也就是說/usr以下的檔案其實改變很少。我不是每禮拜跑update的人。
: 如果可以把/usr mount成ro,那可以防疫文件系統損壞和碎片化等問題。
: 而且ro的讀取非常快,所以可以增高系統效率。
: 但當然不能完全把/usr mount成ro,因為無論如何有時候有需要寫一下。
: 解决方法:squashfs + aufs。
: 先把現有/usr壓縮成一個squashfs的磁盤映像檔。(這樣原本用了20G的/usr突然就變成7G,省很多不值錢的空間)。
: 開機時以唯讀形式把它mount在/mnt/aufs/usr/ro下。
: 然後用以aufs把/mnt/aufs/usr/ro和/mnt/aufs/usr/rw合并成正式的/usr。
: 當系統要讀取/usr裡没有變動的檔案時,它會懂得去ro裡提取。
: 當系統要讀取或寫入新的檔案時,它會懂得去rw裡弄。
: 然後以後每幾個月記得把整個/usr重新壓成新的映像檔就可以了。
: 這做法不能直接應用到系統根目錄/上去,1. 因為/var,/home那些經常讀寫的部分把讀和寫分開没有甚麼特别好處。
: 2. 要自己寫initrdfs的script來手動mount /。
: 但你是可以要求把部分系統mount成唯讀,然後要更新的時候短暫性地以讀寫remount。

--
Tags: Linux

All Comments

Dorothy avatar
By Dorothy
at 2011-10-28T09:16
先推 謝謝(〒﹏〒)
Enid avatar
By Enid
at 2011-10-29T10:46
其實我遊戲做好後,不應該在被修改到,唯一會做讀取的
部分是用一塊特殊的nvram並不在一般記憶體或儲存媒體
Ivy avatar
By Ivy
at 2011-10-30T15:21
上,所以才考慮用read-only,但是os的部分就比較難搞
Franklin avatar
By Franklin
at 2011-11-03T00:24
期待樓上的遊戲:)
Xanthe avatar
By Xanthe
at 2011-11-04T03:11
那樣只要/tmp, /var/run&log&lock處理一下就好了XD

自動還原問題

Gilbert avatar
By Gilbert
at 2011-10-25T22:26
※ 引述《lovetiffany (咕咕)》之銘言: : 大家好,最近加入軟體業,創新開發了個主機板遊戲, : 用的是ubuntu 10.04 但該遊戲並非pc遊戲,開關機只能開切電, : 無法做到reboot,導致每次開機後都要scan好一段時間, : 版子上的遊戲也需要做到保護,不能因開切電導致系統或遊戲 ...

只要開了星海就不能聽音樂

Rae avatar
By Rae
at 2011-10-25T21:23
最近重灌了電腦 把Arch Linux 2.6.37升到了3.0 但是現在出現了問題 就是如果我先開一些播Mp3的軟體比如Audacious 那我的星海就會沒聲音 如果我先開星海 那就會換我不能播Mp3或是影片檔 用Smplayer看影片就會先跑出兩張圖就卡住不動了 不知道是不是wine會跟啥 ...

請問一下大家 cross compiler

John avatar
By John
at 2011-10-25T20:48
請問一下大家 如果今天cross-compilerand#34;貌似and#34;安裝好了 但是 arm-elf-gcc test.c -o test 卻出現 /arm-elf/bin/ld: crti.o: no such file or directory, ld returned 1 exit ...

自動還原問題

Dorothy avatar
By Dorothy
at 2011-10-25T19:50
大家好,最近加入軟體業,創新開發了個主機板遊戲, 用的是ubuntu 10.04 但該遊戲並非pc遊戲,開關機只能開切電, 無法做到reboot,導致每次開機後都要scan好一段時間, 版子上的遊戲也需要做到保護,不能因開切電導致系統或遊戲錯亂, 目前四處打聽幾個方法,我該用什麼方法克服? 1) ...

在linux 使用gcc

Regina avatar
By Regina
at 2011-10-25T19:24
作業系統是ubuntu server 之前實作system call 今天在使用時突然壞掉 gcc test.c 出現test.c:2:fatal error: linux/linkage.h ******* compilation terminated. 由於看不到****的訊息 上 ...