За Линук ОС постоји алат доступан под називом цхроот који пружа лакши и бржи начин заштићеног окружења за апликацију. Са цхроот-ом можете инсталирати и тестирати било коју апликацију без утицаја на остатак система.
Овај чланак ће објаснити како користити цхроот у Дебиан 10 Бустеру, заједно са неколико примера. За објашњење ћемо створити цхроот окружење за басх и неке од наредби, као што су наредбе „лс“, „ип“ и „пвд“.
Шта је цхроот?
Алат цхроот је наредба у Линуку која мења основни директоријум апликације у други директоријум. Процеси који се изводе у овом новом основном директоријуму не могу приступити датотекама изван њега. Стога изолује рад апликација од остатка система.
Како ради цхроот?
Цхроот ради копирањем апликације и свих њених извршних датотека и зависности унутар алтернативног коријенског директорија. Затим покреће апликацију из овог алтернативног основног директоријума, због чега је апликација сматра оригиналним основним директоријумом. Коријенски директориј је директориј с највише врхова у хијерархији и ниједна апликација не може досећи више од овог директоријума, па тако Цхроот изолује апликацију од остатка система.
Користите случајеве
- Постављање тестног окружења
- Покретање 32-битних програма на 64-битном систему
- Покретање старијих верзија програма на најновијој верзији ОС-а
- Повратак изгубљене шифре
Синтакса
Следи основна синтакса за наредбу цхроот:
$ цхроотСледите кораке у наставку да бисте помоћу наредбе цхроот у Дебиану поставили цхроот окружење.
1. Направите алтернативни основни директоријум
Прво створите алтернативни основни директоријум који ће се користити за цхроот окружење.
$ судо мкдир ~ / нев_роотГорња команда ће створити нев_роот директоријум под Кућа директоријум, који ће се користити као основни директоријум у цхроот окружењу.
2. Додајте основне директоријуме
Креирајте директоријуме „бин“, „либ“ и „либ64“ испод ~ / нев_роот именик:
$ судо мкдир -п ~ / нев_роот / бин, либ, либ643. Копирајте бинарне датотеке програма
Све што је потребно за покретање апликације у цхроот окружењу мора бити у алтернативном роот директоријуму. У овом чланку ћемо створити цхроот окружење за басх и неке наредбе, укључујући наредбе „лс“, „ип“ и „пвд“. Стога ћемо копирати бинарне датотеке из / бин директоријум на алтернативни ~ / нев_роот / бин именик. Да бисте пронашли бинарне датотеке наредби, користите наредбу:
$ који је басх ип пвд
Затим копирајте бинарне датотеке наредби у ~ / нев_роот / бин именик.
$ судо цп -в / бин / басх, лс, ип, пвд ~ / нев_роот / бин
4. Копирајте програмске зависности
Такође ћемо морати да откријемо које зависности су потребне нашем програму. Прво ћемо морати да утврдимо које су то зависности, а затим ћемо их копирати у ~ / нев_роот / либ директоријум.
Копирање зависности за басх
Прво сазнајте зависности за басх програм:
$ лдд / бин / басх
Затим копирајте ове зависности у ~ / нев_роот / либ именик.
$ цп -в / либ / к86_64-линук-гну / либтинфо.тако.6, либдл.тако.2, либц.тако.6 ~ / нев_роот / либЗа датотеке / либ64 их копирајте у ~ / нев_роот / либ64 именик.
$ цп -в / либ64 / лд-линук-к86-64.тако.2 ~ / нев_роот / либ64Копирајте зависности за команду лс
Прво сазнајте зависности за наредбу лс:
$ лдд / бин / лс
Затим копирајте ове зависности у ~ / нев_роот / либ именик.
$ судо цп -в / либ / к86_64-линук-гну / либселинук.тако.1, либц.тако.6, либпцре.тако.3,либдл.тако.2, либптхреад.тако.0 / либ64 / лд-линук-к86-64.тако.2 ~ / нев_роот / либ
За датотеке / либ64, копирајте их у ~ / нев_роот / либ64 именик.
$ судо цп -в / либ64 / лд-линук-к86-64.тако.2 ~ / нев_роот / либ64Копирајте зависности за ип наредбу
Прво сазнајте зависности за наредбу ип:
$ лдд / бин / ип
Затим копирајте ове зависности у ~ / нев_роот / либ именик.
$ цп -в / либ / к86_64-линукгну / либселинук.тако.1, клевета.тако.1, либмнл.тако.0, либцап.тако.2, либдл.тако.2, либц.тако.6,
либпцре.тако.3, либз.тако.1, либптхреад.тако.0 ~ / нев_роот / либ
За датотеке / либ64, копирајте их у ~ / нев_роот / либ64 именик.
$ судо цп -в / либ64 / лд-линук-к86-64.тако.2 ~ / нев_роот / либ64Копирај зависности за наредбу пвд
Прво сазнајте зависности за наредбу пвд:
$ лдд / бин / пвд
Затим копирајте ове зависности у ~ / нев_роот / либ именик.
$ судо цп -в / либ / к86_64-линук-гну / либц.тако.6 ~ / нев_роот / либЗа датотеке / либ64, копирајте их у ~ / нев_роот / либ64 именик.
$ судо цп -в / либ64 / лд-линук-к86-64.тако.2 ~ / нев_роот / либ64Да бисте прегледали све директоријуме у алтернативном коренском директоријуму, користите следећу наредбу:
$ лс -Р
5. Пребаците се на алтернативни основни директоријум
Сада смо коначно спремни да пређемо на наше ново цхроот окружење. Да бисте променили основни директоријум, покрените следећу наредбу у љусци са роот привилегијама:
$ судо цхроот ~ / нев_роот / бин / басхГде ~ / нев_роот је наш алтернативни основни директоријум и / бин / басх је апликација коју смо користили за подешавање цхроот окружења.
Након покретања горње наредбе, видећете да се басх одзив променио у басх-к.г што је у нашем случају басх-5.0 (где 5.0 је број басх верзије).
Белешка: након покретања цхроот наредбе можете наићи на следећу грешку, као што сам и ја урадио:
Ако се појави ова грешка, проверите да ли сте у нови основни директоријум додали све библиотеке и извршне датотеке повезане са потребним програмом.
Након уласка у цхроот окружење, моћи ћете приступити датотеци само у њему. Покушајте да покренете наредбе које сте поставили за ваше цхроот окружење, укључујући неке уграђене команде. Уграђене команде можете пронаћи покретањем помоћ команда у љусци.
Можете видети да смо испробали наредбе „лс“, „пв“ и „ип“ и све су успеле. Ако покренемо било коју наредбу осим ове три наредбе и уграђених наредби, наредба неће успети, јер је нисмо поставили за цхроот окружење. Као што можете видети на следећем снимку екрана, покушали смо да покренемо команде „тоуцх“, „пинг“ и „цлеар“ и све оне нису успеле.
6. Изађи цхроот
Да бисте изашли из цхроот окружења, користите излаз команда.
Закључак
У овом чланку сте сазнали шта је цхроот и како то ради у Линуку. Овај чланак вам је показао корак по корак како користити цхроот у Дебиан 10 Бустеру за креирање цхроот окружења за басх и друге наредбе. Сада би вам било угодно да користите команду цхроот за промену основног директоријума процеса и његових потпроцеса и изолацију од остатка система.