Šta je BusyBox?
@tomicstefan nas je zamolio da napišemo tekst o BusyBox-u. Šta je on zapravo i čemu služi.
BusyBox aplikacija koja pruža gomilu standardnih Unix alata. Dizajniran je da bude mali i da radi u simbiozi sa Linux kernelom. Zbog svoje veličine je idealan za uređaje sa ograničenom memorijom, kakvi su naši Android telefoni. Potpuno je open-source i izdat je pod GNU GPL licencom.
Kako je Android zapravo modifikovani Linux, BusyBox je i ovde našao svoje mesto. Originalno je napisan od strane Bruce Perensa 1996 i pakovao se na butabilnu disketu kao sigurnosni disk za popravku Debian distribucije. Nakon toga je postao osnovni paket za Linux uređaje. Pošto pruža gomilu novih komandi, jednostavno je prihvaćen od strane developera kao nezaobilazni alat.
Ima je nekoliko developera koji su ga održavali i menjali, sadašnji odgovorni developer je Denys Vlasenko.
BusyBox kada se instalira u Linux sistem omogućava dodatne komande u shell-u (Linux DOS).
Pošto je priroda Linuxa takva da je kod otvorenog tipa, tako aplikacije za Linux, u našem slučaju Android distribuciju Linux-a mogu da se oslone na BusyBox.
Prostim rečima rečeno, BusyBox je skup klasa i funkcija koje bilo koji program može da pozove, pa tako developer ne mora da ih piše iz početka i da ih uključi u svoju aplikaciju. Ovo dosta smanjuje veličinu aplikacija.
Ja sam se prvi put sreo, a verujem i svi vi, onog momenta kada sam prvi put root-ovao telefon. Ušao sam u Titanium Backup aplikaciju kako bih backup-ovao aplikacije, i naišao na obaveštenje da nemam busybox i dobio link da odem na market i skinem. Posle sam primetio da se dosta aplikacija oslanja na BusyBox, kao i da gotovo svaki Custom ROM u sebi sadrži neku verziju BusyBox-a.
Ako se sećate vremena kada je na Windows-u bilo neophodno instalirati gomilu codec-a kako bi se pustio neki video klip, pa se odjednom pojavio FFDShow koji je u sebi imao podrđku za sve codec-e. Danas većina player-a ima u sebi ugrađene codec-e kako nebi opterećivali krajnjeg korisnika njihovom instalacijom. BusyBox je sličan tome, samo nisu u pitanju codec-i već neke napredne komande koje aplikacije pozivaju.
Neke od komandi koje BusyBox pruža su:
- ash
- awk
- cat
- chmod
- cp – copy
- date
- dd – Copy a file with converting and formatting
- df – Print filesystem usage statistics
- dmesg
- echo
- egrep
- fgrep
- grep – Search for PATTERN in each FILE or standard input
- gunzip
- gzip
- kill – Kill a process
- ln – Create a link named LINK_NAME or DIRECTORY to the specified TARGET.
- login – Begin a new session on the system
- ls – list of files or folders
- mdu
- mkdir – Create a folder
- more – View FILE or standard input one screen full at a time, not long list to scroll
- mount
- mv – move file
- netstat – Display networking information
- ntpc
- ntpsync
- nvram
- pidof – List PIDs of all processes with names that match NAMEs
- ping – Send ICMP ECHO_REQUEST packets to network hosts
- ps – Report process status
- pwd – print working directory
- rm – erase file
- rmdir – remove directory
- rstats – copyright of BusyBox
- sed – script to interpret from file or input
- sh
- sleep
- sync – Write all buffered file system blocks to disk
- tar
- touch – Update the last-modified date on the given FILE[s]
- umount
- uname
- usleep – Pause for N [microseconds]
- vi – Edit FILE
- watch – Execute a program periodically
- zcat – Uncompress to stdout
Ove komande je moguće pokrenuti na Androidu ručno iz terminal emulatora.
BusyBox možete instalirati na vaš root-ovan telefon preko više busy box installer-a. Lično koristim ovu aplikaciju, mada možete instalirati i ovu, na koju inače Titanium Backup linkuje.
Tags: alataplikacijaBusyBoxkernelLinuxmodularnoUnix
BusyBox – The Swiss Army knife of Embedded Linux. Zaista jeste tako, gotovo da ne postoji arhitektura na koju nije portovan.
Jedini dependency mu je kernel, a C biblioteka na koju se linkuje je najcesce uclibc, koji takodje ima mali memory footprint. A mora se priznati da je skup alata impresivan, ali i neophodan.
Nego, zasto je chmod komanda bold? 🙂
🙂 Pa to mu na Androidu dodje ko glavna komanda 😛