本篇內容主要講解“怎么為tinyco linux制作應用包”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么為tinyco linux制作應用包”吧!
首先在conf/colinux.conf中root=/dev/ram0,initrd=microcore.gz,cobd0=/imgs/tinycolinux1g,這樣啟動起來的colinux其rootfs在/dev/ram0中,硬盤介質中僅用于保存用戶數據,即conf/colinux.conf中定義的四個掛載地址/opt=cobd0,/home=cobd0,local=cobd0,tce=cobd0,這四個可持化掛載點是colinux那些當且僅當需要修改的地方,所以需要被掛載持久,,我們還可以再定義幾個變量加強這個live rootfs的強度,如norestore,
啟動,運行。成功進入到tc用戶的cmdline.
當然,雖然這個live rootfs系統啟動起來了,這個rootfs還是有點raw form和不便的。比如:
通過df命令我們發現定義的四個掛載點,僅掛載了三個到/缺了/tce,但是硬盤中依然生成了四個文件夾/opt,/home,/tclocal對應/usr/local,和/tce,通過tce-load -w發現下載的包在/mnt/cobd0/tce中,這是正確的行為,能用但不好看,這四個掛載點的加載邏輯全在/etc/init.d/tc-config中,所以我們甚至可以重新打包microcore.gz修改tc-config加入缺失的/tce條目。
modprobe也會出錯,因為readonly live rootfs是不能加載原initrd.gz注入的lib/modules的,不過同樣地,我們可以重新打包microcore.gz手動加入這些文件。
還有一些必要的系統級持久無法完成,比如用戶密碼更改,它保存在readonly rootfs /etc/shadow中,我們必須這樣來完成:
sudo passwd root
輸入密碼二次
cp /etc/shadow /opt/shadow (做一次備份到硬盤中/opt)
然后修改下/opt/.bootsync.sh,加入以下:
cp /etc/shadow /etc/shadow_old cp /opt/shadow /etc/shadow
其實我們完全可以替換busybox中的passwd,改變/etc/shadow路徑到其它外部可持久位置,還比如,vm container子機環境不需要關機,可以去掉busybox中的halt,還比如我們可以編譯加入dropbear支持,畢竟sshd是最基本的發行包支持了。
我們就不定制microcore.cpio包了。太累。
官方提供了很多鏡像,這些包都很正交。且還有構建源碼,可往往我們還需要lnmp這樣的組合包,我們可以按《發布tinycolinux》part2中的硬盤安裝應用方法來組合一次性安裝包(當然,這樣它就不正交了但對一臺vm container通常情況下僅需承載安裝一次lnmp的情形下來說,非常合理和實用),以下是組合應用邏輯,舉例我們用了lnmp,組合到一個lnmp.tar.gz中。
首先,tce-load -w nginx,php5,sqlite3,發現會下載大量tcz到/mnt/cobd0/tce/options中:bsddb.tcz,bzip2-lib.tcz,curl.tcz,gmp.tcz,libgdbm.tcz,libiconv.tcz,libltdl.tcz,libmcrypt.tcz,libpng.tcz,libxml2.tcz,libxslt.tcz,mysql.tcz,ncurses.tcz,ncurses-common.tcz,nginx.tcz,openssl-0.9.8.tcz,pcre.tcz,perl5.tcz,php5.tcz,readline.tcz,sqlite3.tcz,這些都是我們要組合進一個大應用包的基礎。一個一個解壓它到my文件夾,sudo unsquashfs -f -d /mnt/cobd0/my/ /mnt/cobd0/tce/optional/xxx.tcz
作一些更改(這是因為原tcz全是綠色dropin包):
nginx conf/nginx.conf,root index加個index.php,把關于php的三條注釋去除注釋化使其有效,其中SCRIPT_FILENAME改成 $document_root$fastcgi_script_name;且把最大腳本內存由128m改為64mb
usr/local/etc加個my.cnf,內容如下:
[mysqld] socket = /tmp/mysql.sock port = 3306 pid-file = /tmp/hostname.pid datadir = /usr/local/var/mysql language = /usr/local/share/mysql/english user = tc
好了,現在重建數據庫,sudo /usr/local/bin/mysql_install_db,,嘗試啟動mysql: sudo /usr/local/bin/mysqld_safe & ,成功
然后我們cd /mnt/cobd0/my,打包它們sudo tar zcf lnmp.tar.gz *,,,安裝這個大應用測試下:cd到/,然后tar zxvf /mnt/cobd0/my/lnmp.tar.gz,然后在/opt/bootlocal.sh中啟動它們:
sudo nginx;sudo php-cgi -b 127.0.0.1:9000;sudo mysql_safe
成功。
到此,相信大家對“怎么為tinyco linux制作應用包”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。