{"id":330167,"date":"2022-02-28T03:00:20","date_gmt":"2022-02-28T03:00:20","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=330167"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=330167","title":{"rendered":"<span>\u0421\u0435\u0442\u044c \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u0445 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432 [reoser]<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0414\u043b\u044f \u0447\u0435\u0433\u043e<\/h2>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u0412 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 <a href=\"https:\/\/habr.com\/ru\/post\/653531\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435 <\/a>\u044f \u043e\u043f\u0438\u0441\u0430\u043b \u043e\u0431\u0449\u0443\u044e \u0438\u0434\u0435\u044e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438, \u0433\u0434\u0435 \u043b\u044e\u0434\u0438 \u0441\u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u043e\u0434\u043d\u0443 \u043e\u0431\u0449\u0443\u044e \u0436\u0435\u043b\u0435\u0437\u044f\u0447\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430. \u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u043e\u0439 \u0438\u0434\u0435\u0438 \u043b\u0435\u0436\u0438\u0442 \u0438\u0434\u0435\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Kubernetes\" rel=\"noopener noreferrer nofollow\">Kubernetes<\/a>, \u043a \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u0432 \u0441\u043a\u043e\u0440\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c.<\/p>\n<p>\u041d\u043e \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u0445 \u043b\u0438\u043d\u0443\u043a\u0441 \u043c\u0430\u0448\u0438\u043d, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u043e\u0438\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043b\u0438\u043d\u0443\u043a\u0441, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u0410 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0442.\u043a. \u0432\u0441\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043f\u043b\u0430\u043d\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u044f\u0434\u0440\u0430 \u0441\u0442\u043e\u044f\u0442 \u043a\u0430\u043a \u043c\u043e\u0434\u0443\u043b\u0438, \u0430 \u043a\u0430\u043a\u0438\u0435 \u0432\u043a\u043e\u043c\u043f\u0438\u043b\u0435\u043d\u044b \u0432 \u044f\u0434\u0440\u043e.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0438\u0437\u044a\u044f\u0432\u0438\u0442\u044c \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u044d\u0442\u043e\u0439 \u0441\u0435\u0442\u0438 \u043c\u043e\u0436\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441 \u043b\u044e\u0431\u044b\u043c\u0438 \u0436\u0435\u043b\u0435\u0437\u043e\u043c \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u043d\u0443\u043a\u0441, \u043d\u043e \u0438 bsd \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0430\u043d\u0434\u0440\u043e\u0438\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u043c), \u0442\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \/ \u043f\u0440\u043e\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0440\u0430\u0432\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u0445 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432 \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0432\u044b\u0448\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0436\u0435\u043b\u0435\u0437\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435, \u043a\u043e\u0433\u0434\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0442\u0440\u0435\u0437\u0430\u0435\u0442 \u043f\u043e\u0434 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0443\u0436\u0434\u044b \u0447\u0430\u0441\u0442\u044c \u0441\u0432\u043e\u0438\u0445 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043e\u0442\u0434\u0430\u0435\u0442 \u0438\u0445 \u0432 \u0441\u0435\u0442\u044c <a href=\"https:\/\/habr.com\/ru\/post\/653531\/\" rel=\"noopener noreferrer nofollow\">hardware \u0431\u0430\u043d\u043a\u0438\u043d\u0433\u0430<\/a>.<\/p>\n<h2>\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/h2>\n<p>\u042f \u043d\u0430\u0437\u0432\u0430\u043b \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 reoser (re-operation-system-er), \u0442.\u043a. \u043e\u043d \u043f\u0440\u0438\u0437\u0432\u0430\u043d \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0431\u0435\u0437 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044e, \u0438 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043b \u0435\u0433\u043e \u043a\u043e\u0434 \u0432 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431\u0435<\/a>. \u0420\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430 \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0442\u0430\u043c \u0435\u0449\u0435 \u043c\u043d\u043e\u0433\u043e <a href=\"https:\/\/trello.com\/b\/9XJNuiiT\/reoser-gitlabcom-paapcloud-reoser\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u0434\u0430\u0447 <\/a>, \u043d\u043e \u043e\u0431\u0449\u0438\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0443\u0436\u0435 \u044f\u0441\u0435\u043d. \u041d\u0438\u0436\u0435 \u044f \u0431\u0443\u0434\u0443 \u0441\u0442\u0430\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0438 \u0432 \u0442\u0435\u0445 \u043c\u0435\u0441\u0442\u0430\u0445, \u0433\u0434\u0435 \u043f\u0440\u043e\u0435\u043a\u0442 \u0435\u0449\u0435 \u043d\u0430 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d.<\/p>\n<p>\u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c. \u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0430 \u0436\u0435\u043b\u0435\u0437\u0430 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u043a \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443 \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u0438, \u0445\u043e\u0442\u044f \u0431\u044b \u0432 \u043f\u043b\u0430\u043d\u0435 \u0441\u043e\u0444\u0442\u0430.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/04e\/9c6\/356\/04e9c635693e83795073f76fbbb060f2.png\" width=\"928\" height=\"361\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/04e\/9c6\/356\/04e9c635693e83795073f76fbbb060f2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0441\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u043b\u0435\u0432\u0430 \u0443 \u043d\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c:<\/p>\n<ol>\n<li>\n<p>Ubuntu<\/p>\n<\/li>\n<li>\n<p>Fedora<\/p>\n<\/li>\n<li>\n<p>OpenSuse<\/p>\n<\/li>\n<li>\n<p>Archlinux<\/p>\n<\/li>\n<li>\n<p>Alpine<\/p>\n<\/li>\n<li>\n<p>Raspeberry Pi OS<\/p>\n<\/li>\n<li>\n<p>Android [<strong>\u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043e<\/strong>]<\/p>\n<\/li>\n<li>\n<p>FreeBsd [<strong>\u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043e<\/strong>]<\/p>\n<\/li>\n<\/ol>\n<p>\u0418 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043d\u0438\u0445 \u0432 Debian 11 Bullseye. \u0421\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c \u0438 \u0447\u0442\u043e \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438 \u0434\u0432\u0443\u043c\u044f \u043f\u043e\u043a\u0430 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u041d\u043e \u0446\u0435\u043b\u044c \u043e\u0434\u043d\u0430 &#8212; \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u044d\u0442\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0432 Debian, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0442\u0430\u043b\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b.<\/p>\n<p>Debian \u0432\u044b\u0431\u0440\u0430\u043d, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u043a\u0430\u043a debootstrap \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f chroot-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0442\u0440\u044f\u0441\u043d\u043e\u0439 <a href=\"https:\/\/habr.com\/ru\/post\/321696\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0432\u0442\u043e\u0440 <a href=\"https:\/\/habr.com\/ru\/users\/ioannes\/\" rel=\"noopener noreferrer nofollow\">@ioannes<\/a>  \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b \u043f\u043e \u043a\u043e\u0441\u0442\u043e\u0447\u043a\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u043b\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043b\u0438\u043d\u0443\u043a\u0441 \u0431\u0435\u0437 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443. \u041a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0442\u043e \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u0433\u043d\u0430\u0442\u044c \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434 \u0440\u0430\u0437\u043d\u044b\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 debian \u0432 debian, \u043d\u043e \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u041d\u0415 debian \u0441\u0438\u0441\u0442\u0435\u043c \u0432 debian.<\/p>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f<\/h2>\n<p>\u041d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0443, \u0433\u0434\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0421\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u043e \u0432\u0441\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u043f\u043e\u0437\u0436\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u044d\u0442\u043e \u043d\u0430 \u0441\u0435\u0442\u0438 &#171;\u043c\u0430\u043b\u0438\u043d\u043e\u043a&#187; <a href=\"https:\/\/www.raspberrypi.org\/\" rel=\"noopener noreferrer nofollow\">raspberrypi<\/a>, \u043d\u043e \u043f\u043e\u043a\u0430 \u043a \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435 \u043d\u0435 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u043b.<\/p>\n<p>\u0421\u0435\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f. \u0412\u0441\u0435 \u043e\u043d\u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u044b \u0432 VirtualBox \u043d\u0430 Windows<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e0f\/6e6\/981\/e0f6e6981015f8fdb008bbcf2ab1c364.png\" width=\"683\" height=\"561\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e0f\/6e6\/981\/e0f6e6981015f8fdb008bbcf2ab1c364.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043d\u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0431\u0434\u0438\u0442\u044c ssh \u0438 rsync \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043a \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0434\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0442\u044c shell-\u0441\u043a\u0440\u0438\u043f\u0442\u044b.<\/p>\n<p>\u0423 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u043d\u043e \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043e\u043d\u0438 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b \u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f. \u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 android \u0438 archlinux, \u043d\u043e \u044d\u0442\u043e \u0442\u0435\u043c\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">reoser <\/a>\u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0435\u0441\u0442\u044c README \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u044e ssh \u0438 rsync \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043c\u043e\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441\u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439. \u0412\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/virtualbox\/archlinux\/README.md\" rel=\"noopener noreferrer nofollow\">README <\/a>\u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u044e ssh \/ rsync \u0434\u043b\u044f ArchLinux.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u043e\u0447\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u044b \u0434\u043b\u044f &#171;\u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439&#187; \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438. &#171;\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439&#187; \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u0445, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u043f\u0440\u043e\u043a\u0438\u043d\u0443\u0442\u044c \u043f\u043e\u0440\u0442\u044b. \u041f\u043e\u043a\u0430\u0436\u0443 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 ArchLinux<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/968\/d1b\/135\/968d1b1359f5f42a6050f3a1f723be6b.png\" width=\"695\" height=\"299\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/968\/d1b\/135\/968d1b1359f5f42a6050f3a1f723be6b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0437 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043a\u0438\u043d\u0443\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 22-\u043e\u0439 (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 ssh) \u0438 11122 (\u043f\u043e\u0440\u0442 ssh \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0431\u0438\u0439\u0446\u0435, \u0440\u0435\u0447\u044c \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0439\u0434\u0435\u0442 \u043d\u0438\u0436\u0435). \u0422\u0435\u0440\u043c\u0438\u043d  &#171;\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0431\u0438\u0439\u0446\u0430&#187; \u0432\u0437\u044f\u0442 \u0438\u0437 <a href=\"https:\/\/habr.com\/ru\/post\/321696\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0443\u0436\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u0432\u044b\u0448\u0435. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u043c\u0435\u043d\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430 \u043d\u043e\u0432\u0443\u044e, \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0431\u0438\u0439\u0446\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442 11122, \u0430 \u0447\u0442\u043e\u0431\u044b \u043a \u043d\u0435\u043c\u0443 \u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u0435\u043d \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432.<\/p>\n<h2>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438 \u0438\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">reoser<\/a><\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/80b\/977\/317\/80b977317f29145185c7d13b7bd7023d.png\" width=\"319\" height=\"559\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/80b\/977\/317\/80b977317f29145185c7d13b7bd7023d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0447\u043d\u0443 \u0441 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e: \u0435\u0441\u0442\u044c \u043e\u0431\u0449\u0438\u0439 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/README.md\" rel=\"noopener noreferrer nofollow\">README<\/a>, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u0435 \u0446\u0435\u043b\u0438 \u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443. \u041f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043f\u0430\u043f\u043e\u0447\u043a\u0430 \u0432 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 virtualbox. \u0418 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u043e\u0434\u043f\u0430\u043f\u043e\u0447\u0435\u043a \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0438 \u0444\u0430\u0439\u043b\u044b README, \u0433\u0434\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0443. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0433\u0438\u0442\u043b\u0430\u0431 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u044f \u043d\u0435 \u043c\u043e\u0433\u0443, \u0442.\u043a. \u043e\u043d \u0432\u0435\u0441\u0438\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0412 \u044d\u0442\u043e\u043c \u0434\u0435\u043b\u0435, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0438 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 README \u0444\u0430\u0439\u043b\u044b \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0441\u044c \u043d\u0430 \u0438\u0445 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0438 \u0432 \u044d\u0442\u043e\u043c \u0430\u0431\u0437\u0430\u0446\u0435.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0441\u0443\u0442\u0438. \u0420\u0430\u0431\u043e\u0447\u0438\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f 3 \u0444\u0430\u0439\u043b\u0430: <\/p>\n<ol>\n<li>\n<p>docker-compose.yml<\/p>\n<\/li>\n<li>\n<p>Dockerfile<\/p>\n<\/li>\n<li>\n<p>entrypoint.sh<\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f docker-compose, \u043e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 docker-\u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432 Dockerfile. \u0410 Dockerfile \u043f\u043e \u0441\u0443\u0442\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043a\u043b\u0430\u0434\u0435\u0442 \u0432 debian-\u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0444\u0430\u0439\u043b\u0438\u043a \u0441\u043a\u0440\u0438\u043f\u0442\u0430 entrypoint.sh. \u041d\u043e \u044d\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u043d\u0435 \u043b\u0438\u0447\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 docker-compose. \u0412\u0441\u044f \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0438\u043a\u0435 entrypoint.sh, \u0442.\u043a. \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043c \u043e\u043f\u0438\u0441\u0430\u043d shell-\u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Debian 11 Bullseye. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u044d\u0442\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0438\u0436\u0435 \u0438 \u0432\u044b\u0448\u0435 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443 \u044f \u043c\u043e\u0433\u0443 reoser \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c, \u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c. \u041f\u043e \u0441\u0432\u043e\u0435\u0439 \u0441\u0443\u0442\u0438 &#8212; \u044d\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u0432\u044f\u0437\u043a\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0440\u0430\u0437\u0431\u043e\u0440\u0443 \u0444\u0430\u0439\u043b\u0438\u043a\u0430 entrypoint.sh, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u043d\u0438\u0436\u0435 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker\/Dockerfile\" rel=\"noopener noreferrer nofollow\">Dockerfile <\/a><\/p>\n<pre><code class=\"dart\">FROM debian:stable-slim COPY entrypoint.sh \/root\/entrypoint.sh ENTRYPOINT ~\/entrypoint.sh<\/code><\/pre>\n<p>\u0438  \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 docker-compose.yml. \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker-compose.yml\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431\u0435<\/a>, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u0441\u0432\u043e\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0438\u0437 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432\u044b\u0448\u0435<\/p>\n<pre><code class=\"yaml\">version: \"3.8\"  services:   reoser-archlinux:     build:       context: docker       dockerfile: Dockerfile     image: reoser     environment:       # my virtual box ports forwarding       PORT: 10522       KILLER_PORT: 10622       # initial user credentials       INITIAL_USER_NAME: peaceful-coder       INITIAL_USER_PASSWORD: 1       # debian releases       KILLER_DEBIAN_RELEASE_NAME: bullseye       NEW_DEBIAN_RELEASE_NAME: bullseye<\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u0430\u043a PORT \u0438 KILLER_PORT &#8212; \u044d\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0435 \u0441\u0430\u043c\u044b\u0435 \u0444\u043e\u0440\u0432\u0430\u0440\u0434-\u043f\u043e\u0440\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0431\u0440\u043e\u0448\u0435\u043d\u044b \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0435 \u0432\u044b\u0448\u0435 \u0438 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0434\u0442\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043d\u043e\u0432\u0443\u044e. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b INITIAL_USER_NAME \u0438 INITIAL_USER_PASSWORD &#8212; \u044d\u0442\u043e \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e ssh \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0410 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b KILLER_DEBIAN_RELEASE_NAME \u0438 NEW_DEBIAN_RELEASE_NAME &#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u0438\u043c\u0435\u043d\u0430 debian-\u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u0431\u0438\u0439\u0446\u044b \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043d\u043e\u0432\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<h2>\u0421\u0430\u043c\u043e\u0435 \u0441\u043b\u0430\u0434\u043a\u043e\u0435<\/h2>\n<p>\u041f\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0433\u043b\u0430\u0432\u043d\u043e\u043c\u0443, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u043a \u0441\u043a\u0440\u0438\u043f\u0442\u0443 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker\/entrypoint.sh\" rel=\"noopener noreferrer nofollow\">entrypoint.sh<\/a>, \u0433\u0434\u0435 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser. \u041d\u0435 \u0443\u0441\u0442\u0430\u043d\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c, \u0447\u0442\u043e \u043e\u0442\u0434\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/321696\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043b\u0435\u0433\u043b\u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u0443 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0435\u0435 <a href=\"https:\/\/habr.com\/ru\/users\/ioannes\/\" rel=\"noopener noreferrer nofollow\">\u0430\u0432\u0442\u043e\u0440\u0430, <\/a>\u044f \u0443\u0437\u043d\u0430\u043b \u043c\u043d\u043e\u0433\u043e\u0435 \u043e \u043b\u0438\u043d\u0443\u043a\u0441\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u043b \u0440\u0430\u043d\u0435\u0435, \u0442.\u043a. \u0441\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u044f \u043d\u0435 \u0437\u0430\u044f\u0434\u043b\u044b\u0439 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0438\u0434 \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0445\u043e\u0434\u0443.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u044e \u0432\u0441\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u041f\u043e\u043b\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431<\/a>, \u0430 \u0442\u0443\u0442 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u0432\u0430\u0436\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438.<\/p>\n<p>\u0418\u0442\u0430\u043a. \u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442, \u044d\u0442\u043e \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442  \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0421\u0434\u0435\u043b\u0430\u043d\u043e \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 environment.sh, \u0430 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 rsync. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0448\u0435 \u044f \u043f\u0438\u0441\u0430\u043b, \u0447\u0442\u043e \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u043d\u044f\u0442\u044b \u0441\u0435\u0440\u0432\u0438\u0441\u044b ssh \u0438 rsync<\/p>\n<pre><code class=\"bash\">#!\/bin\/bash -xe  # \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 rsync \u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u043e\u043b\u044f apt update; apt install -y sshpass rsync;  # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f environment.sh printf \"#!\/bin\/bash -xe\\n\\n\" > ~\/environment.sh; echo \"INITIAL_USER_PASSWORD=${INITIAL_USER_PASSWORD};\" >> ~\/environment.sh; echo \"KILLER_DEBIAN_RELEASE_NAME=${KILLER_DEBIAN_RELEASE_NAME};\" >> ~\/environment.sh; echo \"NEW_DEBIAN_RELEASE_NAME=${NEW_DEBIAN_RELEASE_NAME};\" >> ~\/environment.sh;  # \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 environment.sh \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 rsync --inplace --rsh=\"sshpass -p ${INITIAL_USER_PASSWORD} ssh -o StrictHostKeyChecking=no -p ${PORT}\" ~\/environment.sh ${INITIAL_USER_NAME}@host.docker.internal:~\/environment.sh;    <\/code><\/pre>\n<p>\u041b\u0443\u0447\u0448\u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430, \u043a\u0430\u043a \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0435\u0434\u0438\u043d\u043e\u0433\u043e shell-\u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0437\u0430\u043a\u0438\u043d\u0443\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u0437 \u0434\u043e\u043a\u0435\u0440\u0430 \u0432 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0432 virtualbox, \u044f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0442\u0443\u0442 \u043c\u043d\u0435 \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u043e\u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b, \u043a\u0430\u043a \u043b\u044e\u0434\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u043b\u0438\u043d\u0443\u043a\u0441, \u0447\u0435\u043c \u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043c\u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0438\u0434\u0430<\/p>\n<pre><code class=\"bash\">sshpass -p ${INITIAL_USER_PASSWORD} ssh -o StrictHostKeyChecking=no ${INITIAL_USER_NAME}@host.docker.internal -p ${PORT} 'bash -xe' &lt;&lt;'ENDSSH'     # \u0442\u0443\u0442 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u0431\u0438\u0439\u0446\u044b \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 ENDSSH<\/code><\/pre>\n<p>\u0418 \u0442\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 3: \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0431\u0438\u0439\u0446\u0435, \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043d\u043e\u0432\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438. <\/p>\n<h2>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u041e\u0421, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u043e\u043f\u0430\u043b\u0438<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0430\u043a\u043e\u0439 \u0431\u043b\u043e\u043a. \u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0433\u043d\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u044b \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0432 \u043a\u0430\u043a\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u044b \u043f\u043e\u043f\u0430\u043b\u0438<\/p>\n<pre><code class=\"bash\"># \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f chmod u+x ~\/environment.sh; . ~\/environment.sh;  # \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f if test -f \"\/etc\/os-release\"; then distribution=$(cat \/etc\/os-release | grep ^ID= | sed 's\/^ID=\/\/'); else distribution=$(uname -a | tr '[:upper:]' '[:lower:]'); fi<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f alias-\u044b \u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u043c\u0443 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0443, \u0442.\u043a. \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0432\u0441\u0435\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 \u043b\u0438\u043d\u0443\u043a\u0441\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u043f\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430. \u0422\u0430\u043a\u0436\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0438\u043c\u0435\u043d\u0430\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041d\u0438\u0436\u0435 \u043f\u043e\u043a\u0430\u0436\u0435\u043c \u044d\u0442\u043e\u0442 if-\u0431\u043b\u043e\u043a \u0432 \u0443\u0440\u0435\u0437\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0434\u0432\u0443\u0445 \u0441\u0438\u0441\u0442\u0435\u043c (\u043f\u043e\u043b\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker\/entrypoint.sh\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431\u0435<\/a>)<\/p>\n<pre><code class=\"bash\">if [[ \"$distribution\" == *\"fedora\"* ]]; then     needUnmounting=true;     osKernelType=linux;      alias sudo=\"echo -n ${INITIAL_USER_PASSWORD} | sudo -S\";      alias sudoSPackageManagerUpdate=\"sudo dnf upgrade --refresh\";     alias sudoSPackageManagerInstall=\"sudo dnf install -y dpkg util-linux perl debootstrap\";   elif [[ \"$distribution\" == *\"freebsd\"* ]]; then     needUnmounting=false;     osKernelType=freebsd;      alias sudo=\"echo -n ${INITIAL_USER_PASSWORD} | sudo -S\";      alias sudoSPackageManagerUpdate=\"sudo pkg update\";     alias sudoSPackageManagerInstall=\"sudo pkg install -y dpkg util-linux perl5 debootstrap\";                      else     echo \"Couldn't define linux distribution\";     exit 1;   fi<\/code><\/pre>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 alias-\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0444\u043b\u0430\u0433 needUnmounting \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435 \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0435\u0431\u044f, \u043f\u043e\u043a\u0430 \u0434\u0438\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u0422\u0430\u043a\u0436\u0435 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0442\u0438\u043f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 osKernelType, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043d\u0438\u0436\u0435.<\/p>\n<h3>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u043e\u043f\u0430\u043b\u0438<\/h3>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f detectArchitecture, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0437\u0432\u0430\u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u043e\u043f\u0430\u043b\u0438. \u041f\u043e\u043a\u0430 \u0442\u0430\u043c \u0442\u043e\u043b\u044c\u043a\u043e amd64 \u0438 x86, \u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c\u0441\u044f. \u0412 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0442\u0430\u043c \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f ARM-\u044b.<\/p>\n<pre><code class=\"bash\">function detectArchitecture {     architecture=$(uname -m);     correctedArchitecture=$(echo -n $architecture | awk -F'-' '{print $NF}');      # \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043a\u0430\u043a termux-\u0430\u043d\u0434\u0440\u043e\u0438\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 dpkg \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0435\u0437\u0434\u0435. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c     if [ \"$correctedArchitecture\" = \"x86_64\" ] || [ \"$correctedArchitecture\" = \"amd64\" ]; then       correctedArchitecture=amd64;     elif [ \"$correctedArchitecture\" = \"x86\" ] || [ \"$correctedArchitecture\" = \"i386\" ] || [ \"$correctedArchitecture\" = \"386\" ] || [ \"$correctedArchitecture\" = \"i686\" ] || [ \"$correctedArchitecture\" = \"686\" ]; then                     correctedArchitecture=i386;     else       echo \"Couldn't detect architecture for $correctedArchitecture\";       exit 1;     fi      echo $correctedArchitecture; }<\/code><\/pre>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b &#171;\u0443\u0431\u0438\u0439\u0446\u044b&#187; \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u043e\u044f\u0441\u043d\u044e \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e, \u043d\u0443\u0436\u043d\u043e \u043d\u0430 \u0434\u0438\u0441\u043a\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043b\u0438\u0442\u044c \u043d\u0430\u0448\u0443 \u043d\u043e\u0432\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043a\u0443. \u041d\u043e \u043f\u043e\u043a\u0430 \u0434\u0438\u0441\u043a\u0438 \u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043a\u0430, \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u044b \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0439\u0442\u0438 \u0441 \u0434\u0438\u0441\u043a\u043e\u0432 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 chroot, \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0441\u044c \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0442\u0440\u044b\u0432 \u0434\u0438\u0441\u043a\u043e\u0432. \u041a\u043e\u0433\u0434\u0430 \u043e\u0442\u0440\u044b\u0432 \u0434\u0438\u0441\u043a\u043e\u0432 \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d \u0442\u043e, \u0432\u0441\u0435 \u0435\u0449\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0441\u044c \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0435, \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0434\u0438\u0441\u043a\u0430\u043c \u0438 \u0437\u0430\u043b\u0438\u0442\u044c \u043d\u0430 \u043d\u0438\u0445 \u043d\u043e\u0432\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0447\u0442\u043e \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0446\u0435\u043b\u044c\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0430\u043f\u043a\u0443 \/target, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438<\/p>\n<pre><code class=\"bash\"># \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0434\u043b\u044f \u00ab\u0421\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u0431\u0438\u0439\u0446\u044b\u00bb, \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0435\u0451 sudo mkdir -p \/target; sudo mount -t tmpfs -o size=1G none \/target\/;<\/code><\/pre>\n<p>\u0418 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0432 \u044d\u0442\u043e\u0442 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u044b \u0438\u0437 \u0434\u043e\u043a\u0435\u0440\u0430 \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u044b \u0432\u044b\u0448\u0435<\/p>\n<pre><code class=\"bash\">sudo mkdir -p \/target\/root;  sudo cp ~\/environment.sh \/target\/root\/environment.sh;  # \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \"\u0443\u0431\u0438\u0439\u0446\u0443\" printf \"#!\/bin\/bash -xe\\n\\n\" > ~\/environment_from_origin.sh; echo \"osKernelType=${osKernelType};\" >> ~\/environment_from_origin.sh; sudo cp ~\/environment_from_origin.sh \/target\/root\/environment_from_origin.sh;<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a \u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 environment.sh \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 environment_from_origin.sh \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043b\u0435\u0442\u0443 \u0447\u0435\u0440\u0435\u0437 printf-\u044b \u0438 echo-\u0438.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0430\u043f\u0434\u0435\u0439\u0442\u0438\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0442\u043e, \u0447\u0435\u0433\u043e \u0432 \u043d\u0435\u0439 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442, \u0447\u0435\u0440\u0435\u0437 \u0430\u043b\u0438\u0430\u0441\u044b <strong>sudoSPackageManagerUpdate<\/strong> \u0438 <strong>sudoSPackageManagerInstall<\/strong>, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435.<\/p>\n<p>\u041f\u043e\u043d\u0438\u043c\u0430\u044f, \u0447\u0442\u043e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u043f\u043e\u0434\u0443\u0441\u0442\u0430\u043b, \u044f \u0431\u0443\u0434\u0443 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0442\u044c \u0438\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0442.\u043a. \u043c\u044b \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker\/entrypoint.sh\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431\u0435<\/a>, \u043d\u043e \u043f\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u0432\u0435\u0445\u0430\u043c \u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u0440\u043e\u0439\u0434\u0435\u043c\u0441\u044f.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b\u0448\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f needUnmounting \u0431\u044b\u043b\u0430 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 true, \u0442\u043e \u0434\u0430\u043b\u0435\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0435\u0445 \u0434\u0438\u0441\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u044f\u0434\u0440\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 ext4 \u0438 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 LVM, \u0442.\u043a. \u043d\u043e\u0432\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f osKernelType, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0440\u0430\u043d\u0435\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432 \u043b\u0438\u043d\u0443\u043a\u0441\u0435 \u0438 osKernelType=linux, \u0442\u043e \u0434\u0430\u043b\u0435\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0435\u0449\u0435 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b<\/p>\n<pre><code class=\"bash\">sudo modprobe ext4; sudo modprobe dm_mod;<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 debootstrap \u0432 \u043f\u0430\u043f\u043a\u0435 \/target \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043a\u0435 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0447\u0442\u0438 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u043b\u0438\u043d\u0443\u043a\u0441. &#171;\u041f\u043e\u0447\u0442\u0438&#187;, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b. \u0418 \u043f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0440\u0435\u043c \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0442\u0443\u0434\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 chroot<\/p>\n<pre><code class=\"bash\">sudo debootstrap --arch=$(detectArchitecture) ${KILLER_DEBIAN_RELEASE_NAME} \/target\/ http:\/\/ftp.debian.org\/debian\/;                   sudo chroot \/target bin\/bash -xe;<\/code><\/pre>\n<p>\u0433\u0434\u0435 $(detectArchitecture) &#8212; \u044d\u0442\u043e \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435, \u0430 ${KILLER_DEBIAN_RELEASE_NAME} &#8212; \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 docker-compose.<\/p>\n<h2>\u0417\u0430\u043f\u0443\u0441\u043a ssh-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 &#171;\u0443\u0431\u0438\u0439\u0446\u0435&#187;<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 &#171;\u0443\u0431\u0438\u0439\u0446\u0443&#187; \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0439\u0442\u0438 \u0432 \u043d\u0435\u0435 \u043f\u043e ssh. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u0432\u044b\u0448\u0435 \u044f \u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u0430 11122. \u0412\u043e\u0442 \u0435\u0433\u043e \u0442\u043e \u043c\u044b \u0438 \u0437\u0430\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u043e\u0434 \u044d\u0442\u0438 \u043d\u0443\u0436\u0434\u044b. \u0418 \u0442\u0443\u0442 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u043c\u043e\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0448\u0430\u043c\u0430\u043d\u0441\u0442\u0432\u0430.<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432 \u0430\u043d\u0434\u0440\u043e\u0438\u0434\u0435, \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0440\u044f\u0434 \u0433\u0440\u0443\u043f\u043f \u0441 GID-\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0430\u043d\u0434\u0440\u043e\u0438\u0434\u0435 \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0441\u0442\u043e\u044f \u0432 \u044d\u0442\u0438\u0445 \u0433\u0440\u0443\u043f\u043f\u0430\u0445 \u043d\u0430\u0448 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044e. \u0415\u0441\u043b\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u0435, \u0442\u043e \u0443\u0442\u043e\u0447\u043d\u044e, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u0441 GID=3003, \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438\u0437 \u0430\u043d\u0434\u0440\u043e\u0438\u0434\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043a\u0430\u043a _apt \u0438 sshd \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u0443 \u0433\u0440\u0443\u043f\u043f\u0443. \u0418\u043d\u0430\u0447\u0435 \u043d\u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441\u043e\u0444\u0442 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430, \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0443\u0431\u0438\u0439\u0446\u0435\u0439 \u043f\u043e ssh \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043a\u0430\u043a \u0430\u043d\u0434\u0440\u043e\u0438\u0434, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 &#171;\u0443\u0431\u0438\u0439\u0446\u0443&#187; \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u044f\u0434\u0440\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u044f\u0434 \u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 osKernelType. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0434\u043b\u044f linux<\/p>\n<pre><code class=\"bash\">mount none -t proc \/proc\/; mount none -t sysfs \/sys\/;  mount none -t devtmpfs \/dev\/; mount none -t devpts \/dev\/pts\/;<\/code><\/pre>\n<p>\u0411\u0435\u0437 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043d\u0438 \u043e\u0442\u043e\u0440\u0432\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u0438 \u043f\u0440\u0438\u0446\u0435\u043f\u0438\u0442\u044c \u0438\u0445 \u043a \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0440\u0430\u0437\u043b\u043e\u0433\u0438\u043d\u043e\u043c \u0438 \u0432\u0445\u043e\u0434\u043e\u043c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 &#171;\u0443\u0431\u0438\u0439\u0446\u0443&#187; &#8212; \u044d\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u0440\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: sshd \u0438 atd. Sshd &#8212; \u043d\u0443\u0436\u043d\u043e \u043f\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u0430 atd \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0434\u043d\u0435\u0435, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0441\u0442\u0430\u0440\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u043a \u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u043f\u0440\u043e\u0441\u0443 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435, \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c).<\/p>\n<pre><code class=\"bash\">apt install -y openssh-server openssh-client at --no-install-recommends;  # \u0437\u0430\u043f\u0443\u0441\u043a atd \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 at \/etc\/init.d\/atd restart;  # \u0421\u043e\u0437\u0434\u0430\u0435\u043c ssh-\u043a\u043e\u043d\u0444\u0438\u0433\u0438. \u0421\u0442\u0430\u0432\u0438\u043c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0434\u043b\u044f ssh \u0434\u0435\u043c\u043e\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 chroot \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e ssh. # \u0418 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043b\u044f root. \u041c\u043e\u0436\u043d\u043e \u043d\u0435 \u0434\u0430\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f root, \u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0434\u0430\u0442\u044c \u0435\u043c\u0443 sudo \u043f\u0440\u0430\u0432\u0430, \u043d\u043e \u0442\u0443\u0442 \u044f \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u044e.           echo \"Port 11122\" > \/etc\/ssh\/sshd_config; echo \"PermitRootLogin yes\" >> \/etc\/ssh\/sshd_config;  # \u0437\u0430\u043f\u0443\u0441\u043a ssh \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \/etc\/init.d\/ssh restart;  # \u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f root (\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u043e\u043b\u044f 2), \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e debootstrap \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 echo root:2 | chpasswd;<\/code><\/pre>\n<h2>\u041f\u043e\u0440\u0430 \u0434\u043e\u0431\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/h2>\n<p>\u0412\u044b\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0444\u0438\u043d\u0438\u0448\u043d\u0443\u044e \u043f\u0440\u044f\u043c\u0443\u044e. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a, \u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0432\u044b\u0448\u0435, \u0442\u043e \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e: \u043e\u0442\u043e\u0440\u0432\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u0445 \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u041f\u043e\u0435\u0445\u0430\u043b\u0438.<\/p>\n<pre><code class=\"bash\">sshpass -p 2 ssh -o StrictHostKeyChecking=no root@host.docker.internal -p ${KILLER_PORT} 'bash -xe' &lt;&lt;'ENDSSH'      # \u0432\u0441\u0435 \u0432\u044b\u0440\u0435\u0437\u043a\u0438 \u0438\u0437 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u0430\u043b\u0435\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u0431\u043b\u043e\u043a\u0435 ENDSSH<\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0430\u0432\u0438\u043c \u0432\u0435\u0441\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u0441\u043e\u0444\u0442<\/p>\n<pre><code class=\"bash\">apt install -y lvm2 debootstrap parted arch-install-scripts;<\/code><\/pre>\n<p>\u0433\u0434\u0435<\/p>\n<ul>\n<li>\n<p>lvm2 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0442.\u043a. \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e LVM \u0432 \u043d\u0430\u0448\u0435\u0439 \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435<\/p>\n<\/li>\n<li>\n<p>parted \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>arch-install-scripts \u043d\u0443\u0436\u0435\u043d, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0437\u0436\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u043a\u0440\u0443\u0442\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 \u0438\u0437 arch-\u043b\u0438\u043d\u0443\u043a\u0441\u0430 \u043a\u0430\u043a genfstab, \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f fstab<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0434\u0438\u0441\u043a\u043e\u0432, \u043e\u0442\u043e\u0440\u0432\u0430\u0442\u044c \u0438\u0445 \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0437\u0430\u043d\u043e\u0432\u043e \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u0438\u0442\u044c, \u043d\u043e \u0443\u0436\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 &#171;\u0443\u0431\u0438\u0439\u0446\u0435&#187;<\/p>\n<pre><code class=\"bash\"># \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u0434\u0438\u0441\u043a\u043e\u0432 function getDisks {   echo $(lsblk --output NAME,TYPE,MOUNTPOINT --noheadings | grep disk | grep -vi swap | sed 's\/disk\/\/g');       }  # \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432\u0441\u0435 \u0434\u0438\u0441\u043a\u0438 disks=$(getDisks);  # \u0417\u0430\u0442\u0438\u0440\u0430\u0435\u043c \u0434\u0438\u0441\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043d\u0438 \u0432 \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043f\u043e\u0434\u0446\u0435\u043f\u0438\u043b\u0438\u0441\u044c LVM-\u043e\u043c for disk in $disks; do dd if=\/dev\/zero of=\/dev\/${disk} bs=1M count=100; done  # \u041e\u0442\u0440\u044b\u0432\u0430\u0435\u043c \u0434\u0438\u0441\u043a\u0438 for disk in $disks; do echo 1 > \/sys\/block\/${disk}\/device\/delete; done  # \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0434\u0438\u0441\u043a\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e for scsiHost in \/sys\/class\/scsi_host\/host?; do echo \"- - -\" > ${scsiHost}\/scan; done<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0430\u043b\u0435\u0435 \u043d\u0430 \u0434\u0438\u0441\u043a\u0430\u0445 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f LVM<\/p>\n<pre><code class=\"bash\"># \u041d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u043c \u0434\u0438\u0441\u043a\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043d\u0430 \u0432\u0435\u0441\u044c \u0434\u0438\u0441\u043a, \u0438 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043e\u0442\u0434\u0430\u0442\u044c LVM-\u0443, \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043d\u0430 \u043d\u0435\u0433\u043e \u0441\u043c\u043e\u0433 \u0432\u0441\u0442\u0430\u0442\u044c grub.               # \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0441\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c LVM-\u0443 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432.  # \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0438 \u043e\u0434\u0438\u043d \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u0442\u0438\u043f\u0430 8e (Linux LVM) \u043d\u0430 \u0432\u0435\u0441\u044c \u0434\u0438\u0441\u043a: counter=0; for disk in $disks; do   # \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432   echo \"Removing partitions\";   wipefs -a \/dev\/${disk};   partprobe \/dev\/${disk};    # \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432   echo \"Creating partitions\";   if [ $counter = 0 ]; then     # \u043d\u0443\u0436\u0435\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0438\u043a\u0440\u043e\u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e\u0434 grub     parted -a optimal \/dev\/${disk} --script mklabel gpt unit MiB mkpart primary ext2 0% 2MiB mkpart primary ext4 2MiB 100%;   else   parted -a optimal \/dev\/${disk} --script mklabel gpt mkpart primary ext4 0 100%;   fi   partprobe \/dev\/${disk};    # \u0417\u0430\u0434\u0430\u043d\u0438\u0435 \u0442\u0438\u043f\u043e\u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432   echo \"Setting types for partitions\";   if [ $counter = 0 ]; then     parted \/dev\/${disk} set 1 bios_grub on; # \u043d\u0443\u0436\u0435\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0438\u043a\u0440\u043e\u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e\u0434 grub     parted \/dev\/${disk} set 2 lvm on;   else   parted \/dev\/${disk} set 1 lvm on;   fi   partprobe \/dev\/${disk};    counter=$((counter +1)); done<\/code><\/pre>\n<p>\u0420\u0430\u0437\u043c\u0435\u0447\u0430\u0435\u043c \u0434\u0438\u0441\u043a\u0438 \u043f\u043e\u0434 LVM<\/p>\n<pre><code class=\"bash\"># \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 LVM \u0432 1-\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 1-\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430 # \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430\u0434\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u043e\u0447\u0435\u043a \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432.      counter=0; for disk in $disks; do   if [ $counter = 0 ]; then     # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430     pvcreate --force \/dev\/${disk}2;      # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u043e\u043b\u044c\u044e\u043c-\u0433\u0440\u0443\u043f\u043f\u044b vg_root     vgcreate vg_root \/dev\/${disk}2;      # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430 lv_swap0     lvcreate -Zn -L500M -n lv_swap0 vg_root;      # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430 lv_root     lvcreate -Zn -L1G -n lv_root vg_root;     # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430 lv_usr     lvcreate -Zn -L2G -n lv_usr vg_root;     # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430 lv_var     lvcreate -Zn -L2G -n lv_var vg_root;     # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430 lv_var_log     lvcreate -Zn -L1G -n lv_var_log vg_root;     # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430 lv_home     lvcreate -Zn -L1G -n lv_home vg_root;   else     # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043e\u043b\u044c\u044e\u043c\u0430     pvcreate --force \/dev\/${disk}1;   fi    counter=$((counter +1)); done<\/code><\/pre>\n<p>\u041e\u0441\u0442\u0430\u043b\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0448\u0430\u0433 \u043f\u0435\u0440\u0435\u0434 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0438\u0441\u043a\u0430\u0445. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0442\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0438 \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0438\u0445<\/p>\n<pre><code class=\"bash\"># \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0432\u043e\u043b\u044c\u044e\u043c\u043e\u0432 mkswap \/dev\/vg_root\/lv_swap0; mkfs.ext4 \/dev\/mapper\/vg_root-lv_root; mkfs.ext4 \/dev\/mapper\/vg_root-lv_usr; mkfs.ext4 \/dev\/mapper\/vg_root-lv_var; mkfs.ext4 \/dev\/mapper\/vg_root-lv_var_log; mkfs.ext4 \/dev\/mapper\/vg_root-lv_home;  # \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c LVM mkdir \/target; mount \/dev\/mapper\/vg_root-lv_root \/target\/; mkdir \/target\/usr; mount \/dev\/mapper\/vg_root-lv_usr \/target\/usr; mkdir \/target\/var; mount \/dev\/mapper\/vg_root-lv_var \/target\/var; mkdir \/target\/var\/log; mount \/dev\/mapper\/vg_root-lv_var_log \/target\/var\/log; mkdir \/target\/home; mount \/dev\/mapper\/vg_root-lv_home \/target\/home;<\/code><\/pre>\n<h2>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/h2>\n<p>\u0421\u043d\u043e\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c debootstrap, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e debian \u0443\u0436\u0435 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438<\/p>\n<pre><code class=\"bash\">debootstrap --arch=$(detectArchitecture) ${NEW_DEBIAN_RELEASE_NAME} \/target\/ https:\/\/ftp.debian.org\/debian\/            <\/code><\/pre>\n<p>\u0433\u0434\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b $(detectArchitecture) \u043c\u044b \u043e\u0431\u0441\u0443\u0434\u0438\u043b\u0438 \u0440\u0430\u043d\u0435\u0435, \u0430 ${NEW_DEBIAN_RELEASE_NAME} &#8212; \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 docker-compose.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \/etc\/fstab \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043e\u0442 arch linux \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 arch-install-scripts, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0432 debian \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0432\u044b\u0448\u0435<\/p>\n<pre><code class=\"bash\">genfstab -U \/target >> \/target\/etc\/fstab;<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0447\u0435\u0440\u0435\u0437 chroot<\/p>\n<pre><code class=\"bash\">chroot \/target \/bin\/bash -xe;<\/code><\/pre>\n<p>\u0438 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0441\u0435\u0440\u0432\u0438\u0441, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u0430\u0440\u0442\u044b \u0438\u043b\u0438 wlan<\/p>\n<pre><code class=\"bash\"># \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0438 (\u0431\u0435\u0437 \u043d\u0438\u0445 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443) # \u041f\u0440\u0438\u0447\u0435\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0430\u043c \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 # \u0432 \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0435 \u043c\u044b \u0432\u0441\u0435 \u0435\u0449\u0435 \u0432\u0438\u0434\u0438\u043c \u0438\u043c\u0435\u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b # \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442 \u0441\u0435\u0442\u044c echo \"#!\/bin\/bash\" > \/usr\/bin\/network-prepare.sh; echo \"\" >> \/usr\/bin\/network-prepare.sh; echo \"networkDevices=\\$(ls -al \/sys\/class\/net\/ | grep ^l | sed 's\/\\(.*\\)\\\/\\(.*\\)\/\\2\/' | grep \\\"^\\(eth\\|enp\\|wlan\\)\\\");\" >> \/usr\/bin\/network-prepare.sh;            echo \"networkDevicesCount=\\$(echo \\${networkDevices} | wc -w);\" >> \/usr\/bin\/network-prepare.sh; echo \"if [ \\$networkDevicesCount != 1 ]; then\" >> \/usr\/bin\/network-prepare.sh; echo \"  echo \\\"Network devices count is $networkDevicesCount but must be 1\\\";\" >> \/usr\/bin\/network-prepare.sh; echo \"  exit 1;\" >> \/usr\/bin\/network-prepare.sh; echo \"fi\" >> \/usr\/bin\/network-prepare.sh; echo \"\" >> \/usr\/bin\/network-prepare.sh; echo \"echo \\\"auto \\${networkDevices}\\\" > \/etc\/network\/interfaces;\" >> \/usr\/bin\/network-prepare.sh; echo \"echo \\\"iface \\${networkDevices} inet dhcp\\\" >> \/etc\/network\/interfaces;\" >> \/usr\/bin\/network-prepare.sh; echo \"\" >> \/usr\/bin\/network-prepare.sh; echo \"\/etc\/init.d\/networking restart;\" >> \/usr\/bin\/network-prepare.sh; chmod +x \/usr\/bin\/network-prepare.sh;  echo \"[Unit]\" > \/etc\/systemd\/system\/network-prepare.service; echo \"Description=\/usr\/bin\/network-prepare.sh\" >> \/etc\/systemd\/system\/network-prepare.service; echo \"\" >> \/etc\/systemd\/system\/network-prepare.service; echo \"[Service]\" >> \/etc\/systemd\/system\/network-prepare.service; echo \"ExecStart=\/usr\/bin\/network-prepare.sh\" >> \/etc\/systemd\/system\/network-prepare.service; echo \"\" >> \/etc\/systemd\/system\/network-prepare.service; echo \"[Install]\" >> \/etc\/systemd\/system\/network-prepare.service; echo \"WantedBy=multi-user.target\" >> \/etc\/systemd\/system\/network-prepare.service;  # \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0432\u044b\u0437\u043e\u0432\u0443 'systemctl enable network-prepare.service', \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043d\u0435\u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d ln -s \/etc\/systemd\/system\/network-prepare.service \/etc\/systemd\/system\/multi-user.target.wants\/network-prepare.service;<\/code><\/pre>\n<p>\u0418\u0437-\u0437\u0430 \u043c\u043d\u043e\u0433\u0438\u0445 echo-\u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u043e\u0434 \u0432\u044b\u0448\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u044d\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043a\u0430\u043a-\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u043e \u043f\u043e\u043a\u0430 \u0442\u0430\u043a&#8230;<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0438 \u0432 \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/p>\n<pre><code class=\"bash\">mount none -t proc \/proc\/; mount none -t sysfs \/sys\/; mount none -t devtmpfs \/dev\/; mount none -t devpts \/dev\/pts\/;<\/code><\/pre>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c ssh-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/p>\n<pre><code class=\"bash\">apt install -y openssh-server openssh-client --no-install-recommends;<\/code><\/pre>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c ssh-\u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f root<\/p>\n<pre><code class=\"bash\">echo \"Port 22\" > \/etc\/ssh\/sshd_config; echo \"PermitRootLogin yes\" >> \/etc\/ssh\/sshd_config;  # \u0435\u0441\u0442\u044c \u043f\u043b\u0430\u043d\u044b \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 docker-compose, \u043d\u043e \u043f\u043e\u043a\u0430 \u0441\u0442\u0430\u0432\u043b\u044e 3 :) echo root:3 | chpasswd;<\/code><\/pre>\n<p>\u0423 \u043d\u0430\u0441 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c 2 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0448\u0430\u0433\u0430, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430 \u0441\u0432\u0435\u0436\u0435\u043d\u044c\u043a\u0438\u0439 Linux Debian 11 Bullseye \u0441 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u0432 \u043a\u0443\u0431\u0435\u0440-\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u043d\u0430\u0448\u0435\u0433\u043e <a href=\"https:\/\/habr.com\/ru\/post\/653531\/\" rel=\"noopener noreferrer nofollow\">hardware-\u0431\u0430\u043d\u043a\u0438\u043d\u0433\u0430<\/a>. \u042d\u0442\u0438 2 \u0448\u0430\u0433\u0430 \u0442\u0430\u043a\u0438\u0435:<\/p>\n<ol>\n<li>\n<p>\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \u043d\u0430\u0448\u0435 debootstrap \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u044f\u0434\u0440\u043e \u043b\u0438\u043d\u0443\u043a\u0441\u0430 debian \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u044b\u0439 \u0448\u0430\u0433, \u0442.\u043a. \u043f\u0440\u043e\u0441\u0442\u0430\u044f debootstrap \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 \u044f\u0434\u0440\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u043c\u044b \u0435\u0435 \u0441\u043d\u0435\u0441\u043b\u0438. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u043e\u0432\u043e\u0435 \u044f\u0434\u0440\u043e \u043f\u043e\u0434 \u043d\u0430\u0448\u0443 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c grub-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"bash\"># \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u044b, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c apt install -y nano sudo linux-image-$(detectImageArchitecture) lvm2 psmisc vlan grub-pc-bin grub2-common dnsutils;           # \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c grub mainDisk=$(getDisks | head -n 1); grub-install \/dev\/${mainDisk}; update-grub;<\/code><\/pre>\n<p>\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 chroot-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0443\u0431\u0438\u0439\u0446\u0443<\/p>\n<pre><code>exit;<\/code><\/pre>\n<p>\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0435\u0441\u0442\u0430\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/p>\n<pre><code class=\"bash\"># \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c SysRq (\u043e\u043d, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d, \u043d\u043e \u043d\u0430\u043c \u0436\u0435 \u043d\u0430\u0434\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f). echo 1 > \/proc\/sys\/kernel\/sysrq;  # \u0418 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u0441\u044f, \u043e\u0442\u0441\u0442\u0440\u0435\u043b\u0438\u0432 \u0444\u043e\u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u0443\u0441\u043f\u0435\u0442\u044c \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 ssh-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f     echo \"sleep 10; echo b > \/proc\/sysrq-trigger;\" | at now;  exit;<\/code><\/pre>\n<p>\u041f\u043e \u043a\u043e\u0434\u0443 \u0432\u044b\u0448\u0435 \u0432\u0438\u0434\u043d\u043e \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 atd. \u041e\u043d \u043d\u0443\u0436\u0435\u043d, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0440\u0435\u0441\u0442\u0430\u0440\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0447\u0435\u0440\u0435\u0437 10 \u0441\u0435\u043a\u0443\u043d\u0434. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0439\u0442\u0438 \u0434\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b exit \u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f ssh-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0443\u0431\u0438\u0439\u0446\u0435\u0439. \u0422\u043e \u0435\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0438 \u0442\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 Debian, \u043d\u043e \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u0432\u0438\u0441\u043d\u0435\u0442. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0444\u043e\u043d\u043e\u0432\u043e\u0441\u0442\u044c \u0442\u0443\u0442 \u043d\u0443\u0436\u043d\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0438\u0437\u0431\u0435\u0433\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0432\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0447\u0442\u043e \u0432\u0441\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0434\u0430\u0447\u043d\u043e. \u0422\u0443\u0442 \u044f \u044d\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u0442.\u043a. \u0441\u0442\u0430\u0442\u044c\u044f \u0438\u0442\u0430\u043a \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u0437\u0430\u0442\u044f\u043d\u0443\u043b\u0430\u0441\u044c. \u0412\u0441\u0435 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0435 \u043c\u043e\u0433\u0443\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker\/entrypoint.sh\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser<\/a>.<\/p>\n<h2>\u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 reoser, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">\u0442\u0443\u0442<\/a>, \u0441\u043e\u0437\u0434\u0430\u043d \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e <a href=\"https:\/\/habr.com\/ru\/post\/653531\/\" rel=\"noopener noreferrer nofollow\">harware-\u0431\u0430\u043d\u043a\u0438\u043d\u0433\u0430<\/a>. \u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0432\u043e\u043c \u0448\u0430\u0433\u0435 \u043b\u044e\u0431\u043e\u0439 \u0432\u0430\u0448 \u0440\u0435\u0441\u0443\u0440\u0441: \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 &#8212; \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u0434\u0430\u043d \u0432 \u0431\u0430\u043d\u043a \u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d \u0432 \u0447\u0430\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u043e \u043f\u043e\u043a\u0430 \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u0443\u044e \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u0443\u0431\u0435\u0440-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0448\u0430\u0433\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043a\u0430 \u0432 \u0431\u0430\u043d\u043a\u0438\u043d\u0433 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043b\u0438\u0448\u044c \u043c\u043e\u0451 \u0436\u0435\u043b\u0435\u0437\u043e \u0438 \u043f\u043e \u043c\u0435\u0440\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438 \u044f \u043d\u0430\u0447\u043d\u0443 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0432 \u043e\u0431\u0449\u0435\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u043c, \u043a\u0442\u043e \u0433\u043e\u0442\u043e\u0432 \u0441\u0442\u0430\u0442\u044c \u0435\u0435 \u0431\u0435\u0442\u0430-\u0442\u0435\u0441\u0442\u0435\u0440\u0430\u043c\u0438. \u0410 \u043b\u044e\u0434\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u043f\u043e \u043d\u0430\u0448\u0438\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c <a href=\"https:\/\/trello.com\/paapcloud\" rel=\"noopener noreferrer nofollow\">\u0442\u0443\u0442<\/a>, \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u0431\u0435\u0437\u0432\u043e\u0437\u043c\u0435\u0437\u0434\u043d\u043e\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041f\u043e\u043c\u043e\u0449\u044c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B5%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82\" rel=\"noopener noreferrer nofollow\">MVP<\/a>, \u043a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0432 \u043f\u0430\u0431\u043b\u0438\u043a \u0432\u0435\u0440\u0441\u0438\u044f 0.0.1 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b <a href=\"http:\/\/www.paap.cloud\/\" rel=\"noopener noreferrer nofollow\">PaaP<\/a>.<\/p>\n<h2>\u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0435 \u0448\u0430\u0433\u0438<\/h2>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0435\u0442\u044c \u0438\u0437 \u043c\u0430\u0448\u0438\u043d \u0441 \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438, \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0432\u0435\u0440\u0445 \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u043c\u0430\u0448\u0438\u043d \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0434\u0430\u043b \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 kubos. \u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043b\u0435\u0436\u0438\u0442 kubernetes, \u043d\u0430 \u043f\u043e\u0434\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0432\u0441\u0435, \u0447\u0442\u043e \u043c\u044b \u0441 \u0432\u0430\u043c\u0438 \u0437\u0430\u0445\u043e\u0442\u0438\u043c. <\/p>\n<p>\u0417\u0430\u0445\u043e\u0442\u0438\u043c SonarQube &#8212; \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0432\u043e\u0439 \u0441\u043e\u043d\u0430\u0440, \u0437\u0430\u0445\u043e\u0442\u0438\u043c GitLab &#8212; \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0432\u043e\u0439 \u0433\u0438\u0442\u043b\u0430\u0431. \u0422\u0430\u043a \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043c\u044b \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u0441 \u0432\u0430\u043c\u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 &#171;\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439&#187; \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 <a href=\"https:\/\/habr.com\/ru\/post\/653531\/\" rel=\"noopener noreferrer nofollow\">\u0431\u0430\u043d\u043a\u0438\u043d\u0433\u0430<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u044d\u0442\u043e\u0439 &#171;\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043a\u0438&#187;.<\/p>\n<h2>P.S.<\/h2>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443 <a href=\"http:\/\/www.paap.cloud\/\" rel=\"noopener noreferrer nofollow\">PaaP<\/a> \u0431\u0443\u0434\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0442\u0443\u0442 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435. \u041c\u0435\u043b\u043a\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043a\u0438\u0434\u044b\u0432\u0430\u044e \u0432 <a href=\"https:\/\/t.me\/paap_cloud\" rel=\"noopener noreferrer nofollow\">\u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u043a\u0430\u043d\u0430\u043b<\/a>.<\/p>\n<p>\u041a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430, \u0436\u0434\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u043b\u044e\u0434\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0431\u0443\u0434\u0443\u0449\u0435\u0435.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/653693\/\"> https:\/\/habr.com\/ru\/post\/653693\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0414\u043b\u044f \u0447\u0435\u0433\u043e<\/h2>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u0412 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 <a href=\"https:\/\/habr.com\/ru\/post\/653531\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435 <\/a>\u044f \u043e\u043f\u0438\u0441\u0430\u043b \u043e\u0431\u0449\u0443\u044e \u0438\u0434\u0435\u044e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438, \u0433\u0434\u0435 \u043b\u044e\u0434\u0438 \u0441\u043c\u043e\u0433\u0443\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u043e\u0434\u043d\u0443 \u043e\u0431\u0449\u0443\u044e \u0436\u0435\u043b\u0435\u0437\u044f\u0447\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430. \u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u043e\u0439 \u0438\u0434\u0435\u0438 \u043b\u0435\u0436\u0438\u0442 \u0438\u0434\u0435\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Kubernetes\" rel=\"noopener noreferrer nofollow\">Kubernetes<\/a>, \u043a \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u0432 \u0441\u043a\u043e\u0440\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c.<\/p>\n<p>\u041d\u043e \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u0445 \u043b\u0438\u043d\u0443\u043a\u0441 \u043c\u0430\u0448\u0438\u043d, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u043e\u0438\u0442 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043b\u0438\u043d\u0443\u043a\u0441, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u0410 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0442.\u043a. \u0432\u0441\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043f\u043b\u0430\u043d\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u044f\u0434\u0440\u0430 \u0441\u0442\u043e\u044f\u0442 \u043a\u0430\u043a \u043c\u043e\u0434\u0443\u043b\u0438, \u0430 \u043a\u0430\u043a\u0438\u0435 \u0432\u043a\u043e\u043c\u043f\u0438\u043b\u0435\u043d\u044b \u0432 \u044f\u0434\u0440\u043e.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0438\u0437\u044a\u044f\u0432\u0438\u0442\u044c \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u044d\u0442\u043e\u0439 \u0441\u0435\u0442\u0438 \u043c\u043e\u0436\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441 \u043b\u044e\u0431\u044b\u043c\u0438 \u0436\u0435\u043b\u0435\u0437\u043e\u043c \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u043d\u0443\u043a\u0441, \u043d\u043e \u0438 bsd \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0430\u043d\u0434\u0440\u043e\u0438\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u043c), \u0442\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \/ \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \/ \u043f\u0440\u043e\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u0440\u0430\u0432\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u043e\u0434\u043d\u043e\u0440\u043e\u0434\u043d\u044b\u0445 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0432 \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0432\u044b\u0448\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0436\u0435\u043b\u0435\u0437\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435, \u043a\u043e\u0433\u0434\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0442\u0440\u0435\u0437\u0430\u0435\u0442 \u043f\u043e\u0434 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0443\u0436\u0434\u044b \u0447\u0430\u0441\u0442\u044c \u0441\u0432\u043e\u0438\u0445 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043e\u0442\u0434\u0430\u0435\u0442 \u0438\u0445 \u0432 \u0441\u0435\u0442\u044c <a href=\"https:\/\/habr.com\/ru\/post\/653531\/\" rel=\"noopener noreferrer nofollow\">hardware \u0431\u0430\u043d\u043a\u0438\u043d\u0433\u0430<\/a>.<\/p>\n<h2>\u041e\u0431\u0449\u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/h2>\n<p>\u042f \u043d\u0430\u0437\u0432\u0430\u043b \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 reoser (re-operation-system-er), \u0442.\u043a. \u043e\u043d \u043f\u0440\u0438\u0437\u0432\u0430\u043d \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0431\u0435\u0437 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044e, \u0438 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043b \u0435\u0433\u043e \u043a\u043e\u0434 \u0432 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431\u0435<\/a>. \u0420\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430 \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0442\u0430\u043c \u0435\u0449\u0435 \u043c\u043d\u043e\u0433\u043e <a href=\"https:\/\/trello.com\/b\/9XJNuiiT\/reoser-gitlabcom-paapcloud-reoser\" rel=\"noopener noreferrer nofollow\">\u0437\u0430\u0434\u0430\u0447 <\/a>, \u043d\u043e \u043e\u0431\u0449\u0438\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0443\u0436\u0435 \u044f\u0441\u0435\u043d. \u041d\u0438\u0436\u0435 \u044f \u0431\u0443\u0434\u0443 \u0441\u0442\u0430\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0438 \u0432 \u0442\u0435\u0445 \u043c\u0435\u0441\u0442\u0430\u0445, \u0433\u0434\u0435 \u043f\u0440\u043e\u0435\u043a\u0442 \u0435\u0449\u0435 \u043d\u0430 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d.<\/p>\n<p>\u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c. \u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0430 \u0436\u0435\u043b\u0435\u0437\u0430 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u043a \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443 \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u0438, \u0445\u043e\u0442\u044f \u0431\u044b \u0432 \u043f\u043b\u0430\u043d\u0435 \u0441\u043e\u0444\u0442\u0430.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0441\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u043b\u0435\u0432\u0430 \u0443 \u043d\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c:<\/p>\n<ol>\n<li>\n<p>Ubuntu<\/p>\n<\/li>\n<li>\n<p>Fedora<\/p>\n<\/li>\n<li>\n<p>OpenSuse<\/p>\n<\/li>\n<li>\n<p>Archlinux<\/p>\n<\/li>\n<li>\n<p>Alpine<\/p>\n<\/li>\n<li>\n<p>Raspeberry Pi OS<\/p>\n<\/li>\n<li>\n<p>Android [<strong>\u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043e<\/strong>]<\/p>\n<\/li>\n<li>\n<p>FreeBsd [<strong>\u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043e<\/strong>]<\/p>\n<\/li>\n<\/ol>\n<p>\u0418 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043d\u0438\u0445 \u0432 Debian 11 Bullseye. \u0421\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c \u0438 \u0447\u0442\u043e \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438 \u0434\u0432\u0443\u043c\u044f \u043f\u043e\u043a\u0430 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u041d\u043e \u0446\u0435\u043b\u044c \u043e\u0434\u043d\u0430 &#8212; \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u044d\u0442\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0432 Debian, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0442\u0430\u043b\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b.<\/p>\n<p>Debian \u0432\u044b\u0431\u0440\u0430\u043d, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043f\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u043a\u0430\u043a debootstrap \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f chroot-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0442\u0440\u044f\u0441\u043d\u043e\u0439 <a href=\"https:\/\/habr.com\/ru\/post\/321696\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0432\u0442\u043e\u0440 <a href=\"https:\/\/habr.com\/ru\/users\/ioannes\/\" rel=\"noopener noreferrer nofollow\">@ioannes<\/a>  \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b \u043f\u043e \u043a\u043e\u0441\u0442\u043e\u0447\u043a\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u043b\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043b\u0438\u043d\u0443\u043a\u0441 \u0431\u0435\u0437 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443. \u041a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0442\u043e \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u0433\u043d\u0430\u0442\u044c \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434 \u0440\u0430\u0437\u043d\u044b\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 debian \u0432 debian, \u043d\u043e \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u041d\u0415 debian \u0441\u0438\u0441\u0442\u0435\u043c \u0432 debian.<\/p>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f<\/h2>\n<p>\u041d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0443, \u0433\u0434\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0421\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u043e \u0432\u0441\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u043f\u043e\u0437\u0436\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u044d\u0442\u043e \u043d\u0430 \u0441\u0435\u0442\u0438 &#171;\u043c\u0430\u043b\u0438\u043d\u043e\u043a&#187; <a href=\"https:\/\/www.raspberrypi.org\/\" rel=\"noopener noreferrer nofollow\">raspberrypi<\/a>, \u043d\u043e \u043f\u043e\u043a\u0430 \u043a \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435 \u043d\u0435 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u043b.<\/p>\n<p>\u0421\u0435\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f. \u0412\u0441\u0435 \u043e\u043d\u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u044b \u0432 VirtualBox \u043d\u0430 Windows<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043d\u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0431\u0434\u0438\u0442\u044c ssh \u0438 rsync \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043a \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0434\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0442\u044c shell-\u0441\u043a\u0440\u0438\u043f\u0442\u044b.<\/p>\n<p>\u0423 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u043d\u043e \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043e\u043d\u0438 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b \u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f. \u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 android \u0438 archlinux, \u043d\u043e \u044d\u0442\u043e \u0442\u0435\u043c\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">reoser <\/a>\u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0435\u0441\u0442\u044c README \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u044e ssh \u0438 rsync \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043c\u043e\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441\u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439. \u0412\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/virtualbox\/archlinux\/README.md\" rel=\"noopener noreferrer nofollow\">README <\/a>\u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u044e ssh \/ rsync \u0434\u043b\u044f ArchLinux.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u043e\u0447\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u044b \u0434\u043b\u044f &#171;\u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439&#187; \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c\u0438. &#171;\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439&#187; \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u0445, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0435. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u043f\u0440\u043e\u043a\u0438\u043d\u0443\u0442\u044c \u043f\u043e\u0440\u0442\u044b. \u041f\u043e\u043a\u0430\u0436\u0443 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 ArchLinux<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418\u0437 \u043f\u043e\u0440\u0442\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043a\u0438\u043d\u0443\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 22-\u043e\u0439 (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 ssh) \u0438 11122 (\u043f\u043e\u0440\u0442 ssh \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0431\u0438\u0439\u0446\u0435, \u0440\u0435\u0447\u044c \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0439\u0434\u0435\u0442 \u043d\u0438\u0436\u0435). \u0422\u0435\u0440\u043c\u0438\u043d  &#171;\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0431\u0438\u0439\u0446\u0430&#187; \u0432\u0437\u044f\u0442 \u0438\u0437 <a href=\"https:\/\/habr.com\/ru\/post\/321696\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0443\u0436\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u0432\u044b\u0448\u0435. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u043c\u0435\u043d\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430 \u043d\u043e\u0432\u0443\u044e, \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0431\u0438\u0439\u0446\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442 11122, \u0430 \u0447\u0442\u043e\u0431\u044b \u043a \u043d\u0435\u043c\u0443 \u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u0435\u043d \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432.<\/p>\n<h2>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438 \u0438\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">reoser<\/a><\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0447\u043d\u0443 \u0441 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e: \u0435\u0441\u0442\u044c \u043e\u0431\u0449\u0438\u0439 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/README.md\" rel=\"noopener noreferrer nofollow\">README<\/a>, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u0435 \u0446\u0435\u043b\u0438 \u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443. \u041f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043f\u0430\u043f\u043e\u0447\u043a\u0430 \u0432 \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 virtualbox. \u0418 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043f\u043e\u0434\u043f\u0430\u043f\u043e\u0447\u0435\u043a \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0438 \u0444\u0430\u0439\u043b\u044b README, \u0433\u0434\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0443. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0433\u0438\u0442\u043b\u0430\u0431 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u044f \u043d\u0435 \u043c\u043e\u0433\u0443, \u0442.\u043a. \u043e\u043d \u0432\u0435\u0441\u0438\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0412 \u044d\u0442\u043e\u043c \u0434\u0435\u043b\u0435, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0438 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 README \u0444\u0430\u0439\u043b\u044b \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0441\u044c \u043d\u0430 \u0438\u0445 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0438 \u0432 \u044d\u0442\u043e\u043c \u0430\u0431\u0437\u0430\u0446\u0435.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0441\u0443\u0442\u0438. \u0420\u0430\u0431\u043e\u0447\u0438\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f 3 \u0444\u0430\u0439\u043b\u0430: <\/p>\n<ol>\n<li>\n<p>docker-compose.yml<\/p>\n<\/li>\n<li>\n<p>Dockerfile<\/p>\n<\/li>\n<li>\n<p>entrypoint.sh<\/p>\n<\/li>\n<\/ol>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f docker-compose, \u043e\u043d \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 docker-\u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432 Dockerfile. \u0410 Dockerfile \u043f\u043e \u0441\u0443\u0442\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043a\u043b\u0430\u0434\u0435\u0442 \u0432 debian-\u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0444\u0430\u0439\u043b\u0438\u043a \u0441\u043a\u0440\u0438\u043f\u0442\u0430 entrypoint.sh. \u041d\u043e \u044d\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u043d\u0435 \u043b\u0438\u0447\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 docker-compose. \u0412\u0441\u044f \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0438\u043a\u0435 entrypoint.sh, \u0442.\u043a. \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043c \u043e\u043f\u0438\u0441\u0430\u043d shell-\u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Debian 11 Bullseye. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u044d\u0442\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043d\u0438\u0436\u0435 \u0438 \u0432\u044b\u0448\u0435 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443 \u044f \u043c\u043e\u0433\u0443 reoser \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c, \u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c. \u041f\u043e \u0441\u0432\u043e\u0435\u0439 \u0441\u0443\u0442\u0438 &#8212; \u044d\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u0432\u044f\u0437\u043a\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0440\u0430\u0437\u0431\u043e\u0440\u0443 \u0444\u0430\u0439\u043b\u0438\u043a\u0430 entrypoint.sh, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u043d\u0438\u0436\u0435 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker\/Dockerfile\" rel=\"noopener noreferrer nofollow\">Dockerfile <\/a><\/p>\n<pre><code class=\"dart\">FROM debian:stable-slim COPY entrypoint.sh \/root\/entrypoint.sh ENTRYPOINT ~\/entrypoint.sh<\/code><\/pre>\n<p>\u0438  \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 docker-compose.yml. \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker-compose.yml\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431\u0435<\/a>, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u0441\u0432\u043e\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0438\u0437 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432\u044b\u0448\u0435<\/p>\n<pre><code class=\"yaml\">version: \"3.8\"  services:   reoser-archlinux:     build:       context: docker       dockerfile: Dockerfile     image: reoser     environment:       # my virtual box ports forwarding       PORT: 10522       KILLER_PORT: 10622       # initial user credentials       INITIAL_USER_NAME: peaceful-coder       INITIAL_USER_PASSWORD: 1       # debian releases       KILLER_DEBIAN_RELEASE_NAME: bullseye       NEW_DEBIAN_RELEASE_NAME: bullseye<\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u0430\u043a PORT \u0438 KILLER_PORT &#8212; \u044d\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0435 \u0441\u0430\u043c\u044b\u0435 \u0444\u043e\u0440\u0432\u0430\u0440\u0434-\u043f\u043e\u0440\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0431\u0440\u043e\u0448\u0435\u043d\u044b \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0435 \u0432\u044b\u0448\u0435 \u0438 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0434\u0442\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043d\u043e\u0432\u0443\u044e. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b INITIAL_USER_NAME \u0438 INITIAL_USER_PASSWORD &#8212; \u044d\u0442\u043e \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e ssh \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0410 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b KILLER_DEBIAN_RELEASE_NAME \u0438 NEW_DEBIAN_RELEASE_NAME &#8212; \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u0438\u043c\u0435\u043d\u0430 debian-\u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u0431\u0438\u0439\u0446\u044b \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043d\u043e\u0432\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<h2>\u0421\u0430\u043c\u043e\u0435 \u0441\u043b\u0430\u0434\u043a\u043e\u0435<\/h2>\n<p>\u041f\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0433\u043b\u0430\u0432\u043d\u043e\u043c\u0443, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u043a \u0441\u043a\u0440\u0438\u043f\u0442\u0443 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\/-\/blob\/main\/docker\/entrypoint.sh\" rel=\"noopener noreferrer nofollow\">entrypoint.sh<\/a>, \u0433\u0434\u0435 \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 reoser. \u041d\u0435 \u0443\u0441\u0442\u0430\u043d\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c, \u0447\u0442\u043e \u043e\u0442\u0434\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/321696\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043b\u0435\u0433\u043b\u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u0443 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0435\u0435 <a href=\"https:\/\/habr.com\/ru\/users\/ioannes\/\" rel=\"noopener noreferrer nofollow\">\u0430\u0432\u0442\u043e\u0440\u0430, <\/a>\u044f \u0443\u0437\u043d\u0430\u043b \u043c\u043d\u043e\u0433\u043e\u0435 \u043e \u043b\u0438\u043d\u0443\u043a\u0441\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u043b \u0440\u0430\u043d\u0435\u0435, \u0442.\u043a. \u0441\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u044f \u043d\u0435 \u0437\u0430\u044f\u0434\u043b\u044b\u0439 \u043b\u0438\u043d\u0443\u043a\u0441\u043e\u0438\u0434 \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0445\u043e\u0434\u0443.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u044e \u0432\u0441\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e. \u041f\u043e\u043b\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/gitlab.com\/paap.cloud\/reoser\" rel=\"noopener noreferrer nofollow\">\u0433\u0438\u0442\u043b\u0430\u0431<\/a>, \u0430 \u0442\u0443\u0442 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u0432\u0430\u0436\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438.<\/p>\n<p>\u0418\u0442\u0430\u043a. \u041f\u0435\u0440\u0432\u043e\u0435 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442, \u044d\u0442\u043e \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442  \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0421\u0434\u0435\u043b\u0430\u043d\u043e \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 environment.sh, \u0430 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 rsync. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0448\u0435 \u044f \u043f\u0438\u0441\u0430\u043b, \u0447\u0442\u043e \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u043d\u044f\u0442\u044b \u0441\u0435\u0440\u0432\u0438\u0441\u044b ssh \u0438 rsync<\/p>\n<pre><code class=\"bash\">#!\/bin\/bash -xe  # \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 rsync \u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u043e\u043b\u044f apt update; apt install -y sshpass rsync;  # \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f environment.sh printf \"#!\/bin\/bash -xe\\n\\n\" > ~\/environment.sh; echo \"INITIAL_USER_PASSWORD=${INITIAL_USER_PASSWORD};\" >> ~\/environment.sh; echo \"KILLER_DEBIAN_RELEASE_NAME=${KILLER_DEBIAN_RELEASE_NAME};\" >> ~\/environment.sh; echo \"NEW_DEBIAN_RELEASE_NAME=${NEW_DEBIAN_RELEASE_NAME};\" >> ~\/environment.sh;  # \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 environment.sh \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 rsync --inplace --rsh=\"sshpass -p ${INITIAL_USER_PASSWORD} ssh -o StrictHostKeyChecking=no -p ${PORT}\" ~\/environment.sh ${INITIAL_USER_NAME}@host.docker.internal:~\/environment.sh;    <\/code><\/pre>\n<p>\u041b\u0443\u0447\u0448\u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430, \u043a\u0430\u043a \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0435\u0434\u0438\u043d\u043e\u0433\u043e shell-\u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0437\u0430\u043a\u0438\u043d\u0443\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u0437 \u0434\u043e\u043a\u0435\u0440\u0430 \u0432 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0432 virtualbox, \u044f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0442\u0443\u0442 \u043c\u043d\u0435 \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u043e\u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b, \u043a\u0430\u043a \u043b\u044e\u0434\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u043b\u0438\u043d\u0443\u043a\u0441, \u0447\u0435\u043c \u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043c\u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0438\u0434\u0430<\/p>\n<pre><code class=\"bash\">sshpass -p ${INITIAL_USER_PASSWORD} ssh -o StrictHostKeyChecking=no ${INITIAL_USER_NAME}@host.docker.internal -p ${PORT} 'bash -xe' &lt;&lt;'ENDSSH'     # \u0442\u0443\u0442 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u0431\u0438\u0439\u0446\u044b \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 ENDSSH<\/code><\/pre>\n<p>\u0418 \u0442\u0430\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 3: \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0431\u0438\u0439\u0446\u0435, \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043d\u043e\u0432\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438. <\/p>\n<h2>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u041e\u0421, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u043e\u043f\u0430\u043b\u0438<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0430\u043a\u043e\u0439 \u0431\u043b\u043e\u043a. \u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-330167","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=330167"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330167\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=330167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=330167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=330167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}