溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么為tinyco linux制作應用包

發布時間:2021-11-23 16:09:52 來源:億速云 閱讀:179 作者:iii 欄目:大數據

本篇內容主要講解“怎么為tinyco linux制作應用包”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么為tinyco linux制作應用包”吧!

ram中運行rootfs

首先在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制作應用包”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女