லினக்ஸ் கட்டளைகளை சாதாரணமாக உள்ளீடுசெய்து செயல்படுத்தி பயன்பெறுவது எளிதாகும். ஏனெனில் லினக்ஸை நிறுவும்போது அவை கணினியுடன் தொகுக்கப் படுகின்றன, மேலும் அவை ஏன் உள்ளன என்று நாம் அடிக்கடி கேள்வி கேட்பதில்லை. cd, kill, , echo போன்ற சில அடிப்படை கட்டளைகள் எப்போதும் சுதந்திரமான பயன்பாடுகள் அல்ல, ஆனால் அவை உண்மையில் உறைபொதியில் கட்டமைக்கப்பட்டுள்ளன. மற்றவை, ls, mv, cat போன்றவை ஒரு முக்கிய பயன்பாட்டு தொகுப்பின் ஒரு பகுதியாகும் (குறிப்பாக பெரும்பாலும் குனுவின்(GNU) முக்கிய பயன்பாடுகளாகும்). ஆனால் திறமூல உலகில் எப்போதும் மாற்று வழிகள் உள்ளன, மேலும் BusyBox ஆனது மிகவும் மகிழ்ச்சியாக செயல்படுத்திடுகின்ற ஒரு பயன்பாடாகும்.
BusyBox என்றால் என்ன?
BusyBox என்பது ஒரு திறமூல (GPL) செயல்திட்டமாகும், இது ls, mv, ln, mkdir, ps, gzip, bzip2, tar , grep உட்பட கிட்டத்தட்ட 400 இற்குஅதிகமான லினக்ஸின் பொதுவான கட்டளைகளை எளிமையாக செயல்படுத்த உதவுகின்ற ஒரு பயன்பாடாகும். இது awk எனும் நிரலாக்க மொழி, sed எனும் தாரையாக்க பதிப்பாளர், fsck எனும்கோப்பு முறைமை சரிபார்ப்பு , rpm . dpkg ஆகிய தொகுப்பு மேலாளர்கள் போன்ற பணிகளை நிச்சயமாக செயல்படுத்திடுகின்றது, இந்த கட்டளைகள் அனைத்திற்கும் எளிதாக அணுகலை வழங்குகின்ற உறைபொதியையும் (sh) கொண்டுள்ளது. சுருக்கமாக, POSIXஇன் அமைப்புக்கு பொதுவான கணினி பராமரிப்பு பணிகள்,பயனாளர் , நிர்வாக பணிகளை செய்ய தேவையான அனைத்து கட்டளைகளையும் கொண்டுள்ளது.
உண்மையில், இது ஒரு init கட்டளையைக் கொண்டுள்ளது, இது மற்ற அனைத்து கணினி சேவைகளுக்கும் பெற்றோர் செயல்முறையாக சேவை செய்ய PID 1 ஆக தொடங்கப்படலாம். வேறு சொற்களில் கூறுவதானால், Systemd, OpenRC, sinit, init போன்ற பிற வெளியீட்டு தேமான்கள் எனும் ஏவலாட்களுக்கு மாற்றாக BusyBox ஐப் பயன்படுத்தலாம்.
BusyBoxஎன்பது மிகவும் சிறியதாகவும். நன்கு செயல்படக்கூடியதாகவும் 1 எம்பிக்கு கீழ் கொள்ளளவு கொண்டதாகவும் உள்ளது, எனவே இது உட்பொதிக்கப்பட்ட, Edge , IoTஇன் காலிநினைவகம் ஆகியவற்றில் அதிக புகழ் பெற்றுள்ளது, அங்கு இயக்கியின் காலிநினைவக பிரீமியத்தில் உள்ளது. கொள்கலன்கள் , மேககணினி உலகில், இது பிரபலமானகுறைந்தபட்ச லினக்ஸ் கொள்கலன் imageகளுக்கான அடித்தளமாகவும் உள்ளது.
குறைந்தபட்சஅளவு
இந்த பயன்பாட்டினுடைய ஒரு பகுதி அதன் குறைந்தபட்சஅளவு ஆகும் . அதன் அனைத்து கட்டளைகளும் ஒரு ஒற்றை எண்மமாக தொகுக்கப்பட்டுள்ளன, மேலும் நாம் பயன்படுத்திடுகின்ற பக்கங்கள் வெறும் 81 பக்கங்கள் மட்டுமே ( Iகணக்கீட்டின் மூலம் மனிதனுக்கு PR ஐ கணக்கிடுகிறது) ஆனால் கிட்டத்தட்ட 400 கட்டளைகளை உள்ளடக்கியது.
இதனுடைய வேறுபாடுகளானவை வசதியாக உள்ளனவா இல்லையா என்பது இதனுடைய கட்டளைகளில் 20 வாய்ப்புகளை மட்டும் வைத்திருக்க விரும்புகின்றோமா அல்லது பத்து வாய்ப்புகளை மட்டும் வைத்திருக்க விரும்புகின்றோமா என்பதைப் பொறுத்தது ஆகும். சில பயனர்களும் பயன்பாட்டு நிகழ்வுகளுக்கும், இதனுடைய குறைந்தபட்சஅளவு என்ன செய்ய வேண்டும் என்பதற்கு போதுமான செய்தியை வழங்குகிறது. மற்றவர்களுக்கு, Bash, Zsh, GNU Awk போன்ற பல வலுவான கருவிகளை நிறுவுவதற்கான ஒரு அடித்தளமாக அல்லது பின்புலமாக இருப்பது குறைந்தபட்ச நல்ல சூழலாகும்.
இதனை(busybox)நிறுவுகைைசெய்தல்
லினக்ஸில், தொகுப்பு மேலாளரைப் பயன்படுத்தி BusyBox ஐ நிறுவுகை செய்திடலாம். உதாரணமாக, ஃபெடோரா போன்றவற்றில்:
$ sudo dnf install busybox
Chsh --shell
என்றவாறு கட்டளைவரிகளைப் பயன்படுத்தி BusyBox ஐ நம்முடைய உறைபொதியாக அமைக்கலாம், அதைத் தொடர்ந்து BusyBoxஇன் sh பயன்பாட்டிற்கான பாதையான. BusyBox ஐ /lib64 இல் வைத்திடலாம், ஆனால் அதன் இருப்பிடம் லினக்ஸ் விநியோகம் நிறுவப்பட்ட இடத்தைப் பொறுத்தது ஆகும்.
$ which busybox
/lib64/busybox/busybox
$ chsh --shell /lib64/busybox/sh
அனைத்து பொதுவான கட்டளைகளையும் மொத்தமாக BusyBox உடன் மாற்றுவது சற்று சிக்கலானது, ஏனெனில் பெரும்பாலான லினக்ஸ்விநியோகங்கள் குறிப்பிட்ட கட்டளைகளுக்கு குறிப்பிட்ட தொகுப்புகளைப் பார்க்க "hard-wired" ஆகும். வேறு சொற்களில் கூறுவதானால், இதனுடைய init உடன் init ஐ மாற்றுவது தொழில்நுட்ப ரீதியாக சாத்தியம் என்றாலும், நம்முடைய கணினி அமைவு துவக்க முடியாததாக ஆகிவிடும் என்ற பயத்தில் init உள்ள கட்டுகளை அகற்ற கட்டு களின் மேலாளர் மறுக்கலாம். இது சில லினக்ஸ் விநியோகங்களில் கட்டப்பட்டுள்ளன, எனவே புதிதாக தொடங்குவது ஒருவேளை இதனைச் சுற்றி கட்டப்பட்ட ஒரு அமைப்பை அனுபவிக்க எளிதான வழியாகும்.
BusyBox ஐ செயல்படுத்திடுதல்
இந்த BusyBoxஐ செயல்படுத்திடுவதற்காக நம்முடைய உறைபொதியைநிரந்தரமாக BusyBox க்கு மாற்ற வேண்டியதில்லை. தற்போதைய உறைபொதியிலிருந்து இதனுடைய ஒருஉறைபொதியை தொடங்கலாம் அதற்கான கட்டளைவரிகள்:
$ busybox sh
~ $
நம்முடைய கணினியில் இன்னும் இதிலில்லாத கட்டளைகளின் பதிப்புகள் நிறுவப்பட்டுள்ளன, இருப்பினும், இதனுடைய கருவிகளை அனுபவிக்க, இதில் இயங்கக்கூடிய தருமதிப்புகளாக கட்டளைகளை வழங்க வேண்டும்:
~ $ busybox echo $0
sh
~ $ busybox ls --help
BusyBox vX.YY.Z (2021-08-25 07:31:48 NZST) multi-call binary.
Usage: ls [-1AaCxdLHRFplinshrSXvctu] [-w WIDTH] [FILE]...
List directory contents
-1 One column output
-a Include entries that start with .
-A Like -a, but exclude . and ..
-x List by lines
[…]
இதனுடைய "முழு (full)" அனுபவத்திற்கு, ஒவ்வொரு கட்டளைக்கும் பிஸி பாக்ஸில் symlinks களை உருவாக்கலாம். (for-loop)எனும் ஒரு சூழலைப் பயன்படுத்தும் வரை இது விரைவானது எளிதானது:
$ mkdir bbx
$ for i in $(bbx --list); do \
ln -s /path/to/busybox bbx/$i \
done
பாதையின் தொடக்கத்தில் symlinks களின் கோப்பகத்தைச் சேர்த்து, இதைத் தொடங்கிடுக:
$ PATH=$(pwd)/bbx:$PATH bbx/sh
இது ஒரு வேடிக்கையான செயல்திட்டம் ஆகும்.ஒரு பழங்கால கணினிக்கு ஒரு பளுவான சூழலாக BusyBox ஐப் பயன்படுத்தினாலும், இதுஒரு உட்பொதிக்கப்பட்ட சாதனத்திற்கான வேடிக்கையானபுதிய, கட்டளைவரிகளை கொண்டதாகும்