{"id":34957,"date":"2024-09-06T14:01:51","date_gmt":"2024-09-06T07:01:51","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/09\/06\/use-cloud-init-to-install-and-update-software-on-new-servers\/"},"modified":"2024-09-06T14:01:51","modified_gmt":"2024-09-06T07:01:51","slug":"use-cloud-init-to-install-and-update-software-on-new-servers","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/09\/06\/use-cloud-init-to-install-and-update-software-on-new-servers\/","title":{"rendered":"S\u1eed d\u1ee5ng Cloud-Init \u0111\u1ec3 c\u00e0i \u0111\u1eb7t v\u00e0 c\u1eadp nh\u1eadt ph\u1ea7n m\u1ec1m tr\u00ean server m\u1edbi"},"content":{"rendered":"<p><a href=\"https:\/\/cloudinit.readthedocs.io\/en\/latest\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud-init<\/a>&nbsp;cung c\u1ea5p ph\u01b0\u01a1ng ph\u00e1p ti\u1ebfp c\u1eadn \u0111a n\u1ec1n t\u1ea3ng, ph\u00e2n ph\u1ed1i ch\u00e9o \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng kh\u1edfi t\u1ea1o m\u00e1y ch\u1ee7. V\u1edbi d\u1ecbch v\u1ee5&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/metadata\/\">Metadata<\/a>&nbsp;c\u1ee7a Akamai , b\u1ea1n c\u00f3 th\u1ec3 t\u1eadn d\u1ee5ng cloud-init \u0111\u1ec3 tri\u1ec3n khai Compute Instances, s\u1eed d\u1ee5ng c\u00e1c t\u1eadp l\u1ec7nh d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng t\u00f9y ch\u1ec9nh \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh thi\u1ebft l\u1eadp mong mu\u1ed1n c\u1ee7a b\u1ea1n.<\/p>\n<p>Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, h\u00e3y t\u00ecm hi\u1ec3u c\u00e1ch qu\u1ea3n l\u00fd c\u00e1c g\u00f3i tr\u00ean m\u00e1y ch\u1ee7 m\u1edbi b\u1eb1ng cloud-init. Cho d\u00f9 b\u1ea1n mu\u1ed1n n\u00e2ng c\u1ea5p c\u00e1c g\u00f3i h\u1ec7 th\u1ed1ng, c\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i trong qu\u00e1 tr\u00ecnh kh\u1edfi t\u1ea1o hay qu\u1ea3n l\u00fd kho l\u01b0u tr\u1eef c\u1ee7a m\u00ecnh, h\u01b0\u1edbng d\u1eabn n\u00e0y s\u1ebd ch\u1ec9 cho b\u1ea1n c\u00e1ch th\u1ef1c hi\u1ec7n.<\/p>\n<p>Tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u, b\u1ea1n n\u00ean xem l\u1ea1i h\u01b0\u1edbng d\u1eabn c\u1ee7a ch\u00fang t\u00f4i v\u1ec1 c\u00e1ch&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/configure-and-secure-servers-with-cloud-init\/\">s\u1eed d\u1ee5ng Cloud-Init \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng c\u1ea5u h\u00ecnh v\u00e0 b\u1ea3o m\u1eadt m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n<\/a>&nbsp;. \u1ede \u0111\u00f3, b\u1ea1n c\u00f3 th\u1ec3 xem c\u00e1ch t\u1ea1o t\u1ec7p cloud-config, t\u1ec7p m\u00e0 b\u1ea1n c\u1ea7n l\u00e0m theo c\u00f9ng v\u1edbi h\u01b0\u1edbng d\u1eabn hi\u1ec7n t\u1ea1i. Khi b\u1ea1n \u0111\u00e3 s\u1eb5n s\u00e0ng tri\u1ec3n khai cloud-config, h\u01b0\u1edbng d\u1eabn \u0111\u01b0\u1ee3c li\u00ean k\u1ebft \u1edf tr\u00ean s\u1ebd ch\u1ec9 cho b\u1ea1n c\u00e1ch th\u1ef1c hi\u1ec7n.<\/p>\n<h2 id=\"upgrade-packages\">G\u00f3i n\u00e2ng c\u1ea5p<a href=\"https:\/\/www.linode.com\/docs\/guides\/install-and-update-software-with-cloud-init\/#upgrade-packages\"><\/a><\/h2>\n<p>Cloud-init bao g\u1ed3m m\u1ed9t m\u00f4-\u0111un \u0111\u1ec3 qu\u1ea3n l\u00fd c\u00e1c b\u1ea3n c\u1eadp nh\u1eadt v\u00e0 n\u00e2ng c\u1ea5p g\u00f3i trong qu\u00e1 tr\u00ecnh kh\u1edfi t\u1ea1o.&nbsp;<code>package_update<\/code>T\u00f9y ch\u1ecdn n\u00e0y, khi \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh&nbsp;<code>true<\/code>, s\u1ebd \u00e1p d\u1ee5ng c\u00e1c b\u1ea3n c\u1eadp nh\u1eadt cho c\u00e1c g\u00f3i \u0111\u00e3 c\u00e0i \u0111\u1eb7t v\u00e0 c\u1eadp nh\u1eadt kho l\u01b0u tr\u1eef g\u00f3i. T\u00f9y ch\u1ecdn n\u00e0y th\u01b0\u1eddng h\u1eefu \u00edch \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o m\u00e1y ch\u1ee7 \u0111ang ho\u1ea1t \u0111\u1ed9ng t\u1eeb c\u00e1c tham chi\u1ebfu g\u00f3i m\u1edbi nh\u1ea5t.<\/p>\n<pre class=\"wp-block-code\"><code>package_update: true<\/code><\/pre>\n<p>T\u00f9y ch\u1ecdn n\u00e0y&nbsp;<code>package_upgrade<\/code>n\u00e2ng c\u1ea5p c\u00e1c g\u00f3i \u0111\u00e3 c\u00e0i \u0111\u1eb7t l\u00ean phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t. Tr\u1eeb khi b\u1ea1n c\u1ea7n c\u00e1c phi\u00ean b\u1ea3n g\u00f3i c\u1ee5 th\u1ec3, vi\u1ec7c ch\u1ea1y t\u00f9y ch\u1ecdn n\u00e0y trong qu\u00e1 tr\u00ecnh kh\u1edfi t\u1ea1o s\u1ebd gi\u00fap h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n \u1ed5n \u0111\u1ecbnh v\u00e0 an to\u00e0n h\u01a1n.<\/p>\n<pre class=\"wp-block-code\"><code>package_upgrade: true<\/code><\/pre>\n<p>Ngo\u00e0i ra, cloud-config c\u00f3 t\u00f9y ch\u1ecdn \u0111\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i cho b\u1ea5t k\u1ef3 n\u00e2ng c\u1ea5p ho\u1eb7c c\u00e0i \u0111\u1eb7t g\u00f3i n\u00e0o y\u00eau c\u1ea7u. V\u1edbi t\u00f9y ch\u1ecdn n\u00e0y, b\u1ea1n \u0111\u1ea3m b\u1ea3o r\u1eb1ng c\u00e1c n\u00e2ng c\u1ea5p v\u00e0 c\u00e0i \u0111\u1eb7t g\u00f3i \u0111\u00e3 s\u1eb5n s\u00e0ng \u0111\u1ec3 s\u1eed d\u1ee5ng ngay sau khi qu\u00e1 tr\u00ecnh cloud-init ho\u00e0n t\u1ea5t.<\/p>\n<pre class=\"wp-block-code\"><code>package_update: true\npackage_upgrade: true\npackage_reboot_if_required: true<\/code><\/pre>\n<h2 id=\"install-packages\">C\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i<a href=\"https:\/\/www.linode.com\/docs\/guides\/install-and-update-software-with-cloud-init\/#install-packages\"><\/a><\/h2>\n<p>\u0110\u1ec3 c\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i v\u1edbi cloud-init, h\u00e3y s\u1eed d\u1ee5ng&nbsp;<code>packages<\/code>t\u00f9y ch\u1ecdn trong cloud-config. Cung c\u1ea5p cho t\u00f9y ch\u1ecdn danh s\u00e1ch t\u00ean g\u00f3i v\u00e0 cloud-init x\u1eed l\u00fd c\u00e0i \u0111\u1eb7t trong qu\u00e1 tr\u00ecnh kh\u1edfi t\u1ea1o.<\/p>\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c v\u00ed d\u1ee5 c\u00e0i \u0111\u1eb7t c\u00e1c th\u00e0nh ph\u1ea7n ch\u00ednh c\u1ee7a ng\u0103n x\u1ebfp LAMP, m\u1ed9t thi\u1ebft l\u1eadp \u1ee9ng d\u1ee5ng web ph\u1ed5 bi\u1ebfn. Cloud-config y\u00eau c\u1ea7u t\u00ean g\u00f3i ch\u00ednh x\u00e1c, c\u00f3 th\u1ec3 kh\u00e1c nhau gi\u1eefa c\u00e1c b\u1ea3n ph\u00e2n ph\u1ed1i, c\u0169ng nh\u01b0 c\u00e1c \u0111i\u1ec1u ki\u1ec7n ti\u00ean quy\u1ebft chung cho m\u1ed9t thi\u1ebft l\u1eadp. \u0110\u1ec3 ch\u1ee9ng minh, c\u00e1c v\u00ed d\u1ee5 d\u01b0\u1edbi \u0111\u00e2y cho th\u1ea5y thi\u1ebft l\u1eadp s\u1ebd tr\u00f4ng nh\u01b0 th\u1ebf n\u00e0o gi\u1eefa hai b\u1ea3n ph\u00e2n ph\u1ed1i kh\u00e1c nhau.<\/p>\n<p>T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 ng\u0103n x\u1ebfp LAMP v\u00e0 c\u00e1c \u0111i\u1ec1u ki\u1ec7n ti\u00ean quy\u1ebft c\u1ee7a g\u00f3i trong h\u01b0\u1edbng d\u1eabn c\u1ee7a ch\u00fang t\u00f4i v\u1ec1&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-a-lamp-stack-on-ubuntu-22-04\/\">C\u00e1ch c\u00e0i \u0111\u1eb7t ng\u0103n x\u1ebfp LAMP<\/a>&nbsp;. S\u1eed d\u1ee5ng menu th\u1ea3 xu\u1ed1ng \u1edf \u0111\u1ea7u h\u01b0\u1edbng d\u1eabn \u0111\u00f3 \u0111\u1ec3 xem c\u00e1c b\u1ea3n ph\u00e2n ph\u1ed1i kh\u00e1c nhau.<\/p>\n<p>Ubuntu: <\/p>\n<pre class=\"wp-block-code\"><code>packages:\n  - apache2\n  - mysql-server\n  - php\n  - libapache2-mod-php\n  - php-mysql<\/code><\/pre>\n<p>Centos8:<\/p>\n<pre class=\"wp-block-code\"><code>packages:\n  - httpd\n  - mariadb-server\n  - php\n  - php-pear\n  - php-mysqlnd<\/code><\/pre>\n<p class=\"has-background\" style=\"background-color:#74f78c33\">Ghi ch\u00fa: T\u00f9y&nbsp;<code>package_reboot_if_required<\/code>ch\u1ecdn \u0111\u01b0\u1ee3c \u0111\u1ec1 c\u1eadp trong ph\u1ea7n tr\u01b0\u1edbc c\u0169ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn c\u00e0i \u0111\u1eb7t g\u00f3i. N\u1ebfu \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh&nbsp;<code>true<\/code>, n\u00f3 \u0111\u1ea3m b\u1ea3o r\u1eb1ng h\u1ec7 th\u1ed1ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i n\u1ebfu b\u1ea5t k\u1ef3 g\u00f3i m\u1edbi c\u00e0i \u0111\u1eb7t n\u00e0o y\u00eau c\u1ea7u.<\/p>\n<h2 id=\"add-software-repositories\">Th\u00eam kho ph\u1ea7n m\u1ec1m<a href=\"https:\/\/www.linode.com\/docs\/guides\/install-and-update-software-with-cloud-init\/?tabs=apt%2Ccentos-8%2Cdebian-ubuntu#add-software-repositories\"><\/a><\/h2>\n<p>Trong s\u1ed1 c\u00e1c c\u00f4ng c\u1ee5 qu\u1ea3n l\u00fd g\u00f3i n\u00e2ng cao h\u01a1n trong cloud-init l\u00e0 kh\u1ea3 n\u0103ng th\u00eam kho l\u01b0u tr\u1eef t\u00f9y ch\u1ec9nh trong qu\u00e1 tr\u00ecnh kh\u1edfi t\u1ea1o. Cloud-init s\u1eed d\u1ee5ng c\u00e1c m\u00f4-\u0111un c\u1ee5 th\u1ec3 \u0111\u1ec3 qu\u1ea3n l\u00fd c\u00e1c tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i kh\u00e1c nhau, do \u0111\u00f3 c\u00e1c b\u01b0\u1edbc s\u1ebd kh\u00e1c nhau t\u00f9y thu\u1ed9c v\u00e0o b\u1ea3n ph\u00e2n ph\u1ed1i c\u1ee7a b\u1ea1n. N\u1ed9i dung sau \u0111\u00e2y \u0111\u1ec1 c\u1eadp \u0111\u1ebfn hai trong s\u1ed1 nh\u1eefng c\u00f4ng c\u1ee5 ph\u1ed5 bi\u1ebfn nh\u1ea5t:&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/apt-package-manager\/\">APT<\/a>&nbsp;, th\u01b0\u1eddng th\u1ea5y nh\u1ea5t tr\u00ean c\u00e1c h\u1ec7 th\u1ed1ng Debian v\u00e0 Ubuntu, v\u00e0&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/yum-package-manager\/\">Yum<\/a>&nbsp;\/&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/dnf-package-manager\/\">DNF<\/a>&nbsp;, ch\u1ee7 y\u1ebfu \u0111\u01b0\u1ee3c t\u00ecm th\u1ea5y tr\u00ean CentOS, Fedora v\u00e0 c\u00e1c b\u1ea3n ph\u00e2n ph\u1ed1i d\u1ef1a tr\u00ean RHEL kh\u00e1c.<\/p>\n<p>Ngo\u00e0i ra, cloud-init c\u00f2n h\u1ed7 tr\u1ee3 tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/zypper-package-manager\/\">Zypper , \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng tr\u00ean c\u00e1c b\u1ea3n ph\u00e2n ph\u1ed1i openSUSE. B\u1ea1n c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u v\u1ec1 c\u00e1ch th\u00eam kho l\u01b0u tr\u1eef cho Zypper trong t\u00e0i li\u1ec7u tham kh\u1ea3o m\u00f4-&nbsp;<\/a><a href=\"https:\/\/cloudinit.readthedocs.io\/en\/latest\/reference\/modules.html#zypper-add-repo\" target=\"_blank\" rel=\"noreferrer noopener\">\u0111un Zypper Add Repo<\/a>&nbsp;c\u1ee7a cloud-init&nbsp;.<\/p>\n<ol>\n<li>APT<\/li>\n<\/ol>\n<p>Trong cloud-config,&nbsp;<code>apt<\/code>t\u00f9y ch\u1ecdn n\u00e0y cho ph\u00e9p qu\u1ea3n l\u00fd chi ti\u1ebft tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i APT. B\u1ea1n c\u00f3 th\u1ec3 t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 ph\u1ea1m vi t\u00ednh n\u0103ng th\u00f4ng qua tham chi\u1ebfu m\u00f4-\u0111un&nbsp;<a href=\"https:\/\/cloudinit.readthedocs.io\/en\/latest\/reference\/modules.html#apt-configure\" target=\"_blank\" rel=\"noreferrer noopener\">APT Configure<\/a>&nbsp;c\u1ee7a cloud-init .<\/p>\n<p>\u0110\u1ec3 th\u00eam kho l\u01b0u tr\u1eef c\u1ee7a b\u00ean th\u1ee9 ba v\u00e0o APT, h\u00e3y s\u1eed d\u1ee5ng&nbsp;<code>sources<\/code>t\u00f9y ch\u1ecdn trong m\u1ed9t&nbsp;<code>apt<\/code>kh\u1ed1i.&nbsp;<code>sources<\/code>T\u00f9y ch\u1ecdn n\u00e0y l\u00e0 m\u1ed9t t\u1eeb \u0111i\u1ec3n, v\u1edbi m\u1ed9t ho\u1eb7c nhi\u1ec1u m\u1ee5c nh\u1eadp kho l\u01b0u tr\u1eef. M\u1ed7i m\u1ee5c nh\u1eadp kho l\u01b0u tr\u1eef c\u1ea7n m\u1ed9t&nbsp;<code>source<\/code>chu\u1ed7i, ch\u1ec9 ra v\u1ecb tr\u00ed kho l\u01b0u tr\u1eef v\u00e0 m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c t\u00f9y ch\u1ecdn li\u00ean quan \u0111\u1ebfn kh\u00f3a, cung c\u1ea5p kh\u00f3a GPG cho kho l\u01b0u tr\u1eef.<\/p>\n<p>C\u00f3 hai c\u00e1ch \u0111\u1ec3 th\u00eam kho l\u01b0u tr\u1eef, d\u1ef1a tr\u00ean c\u00e1ch b\u1ea1n mu\u1ed1n cung c\u1ea5p kh\u00f3a GPG:<\/p>\n<p>\u0110\u1ec3 s\u1eed d\u1ee5ng m\u00e1y ch\u1ee7 kh\u00f3a GPG, b\u1ea1n c\u00f3 th\u1ec3 cung c\u1ea5p ID kh\u00f3a v\u00e0 v\u1ecb tr\u00ed m\u00e1y ch\u1ee7 nh\u01b0 trong v\u00ed d\u1ee5 n\u00e0y<\/p>\n<pre class=\"wp-block-code\"><code>apt:\n  sources:\n    docker:\n      source: deb &#91;arch=\"amd64\"] https:\/\/download.docker.com\/linux\/ubuntu $RELEASE stable\n      keyid: 8D81803C0EBFCD88\n      keyserver: 'https:\/\/download.docker.com\/linux\/ubuntu\/gpg'<\/code><\/pre>\n<p>Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, ID kh\u00f3a \u0111\u01b0\u1ee3c l\u1ea5y t\u1eeb kh\u00f3a c\u00f4ng khai GPG b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng b\u1ed9 l\u1ec7nh n\u00e0y:<\/p>\n<pre class=\"wp-block-code\"><code>wget https:\/\/download.docker.com\/linux\/ubuntu\/gpg -O docker.gpg.pub.key gpg --list-packets docker.gpg.pub.key | awk '\/keyid:\/{ print $2 }'<\/code><\/pre>\n<p>T\u00f9y ch\u1ecdn kh\u00e1c l\u00e0 th\u00eam kh\u00f3a GPG theo c\u00e1ch th\u1ee7 c\u00f4ng, s\u1eed d\u1ee5ng&nbsp;<code>key<\/code>t\u00f9y ch\u1ecdn nh\u01b0 trong v\u00ed d\u1ee5 n\u00e0y. Thay th\u1ebf chu\u1ed7i GPG m\u1eabu b\u1eb1ng kh\u00f3a c\u00f4ng khai GPG \u0111\u1ea7y \u0111\u1ee7, gi\u1ed1ng nh\u01b0 kh\u00f3a \u0111\u01b0\u1ee3c l\u1ea5y b\u1eb1ng l\u1ec7nh&nbsp;<code>wget<\/code>\u1edf tr\u00ean.<\/p>\n<pre class=\"wp-block-code\"><code>apt:\n  sources:\n    docker:\n      source: deb &#91;arch=\"amd64\"] https:\/\/download.docker.com\/linux\/ubuntu $RELEASE stable\n      key: |\n        -----BEGIN PGP PUBLIC KEY BLOCK-----\n\n        mQINBFit2ioBEADhWpZ8\/wvZ6hUTiXOwQHXMAlaFHcPH9hAtr4F1y2+OYdbtMuth\n        lqqwp028AqyY+PRfVMtSYMbjuQuu5byyKR01BbqYhuS3jtqQmljZ\/bJvXqnmiVXh\n        38UuLa+z077PxyxQhu5BbqntTPQMfiyqEiU+BKbq2WmANUKQf+1AmZY\/IruOXbnq\n        ...\n        jCxcpDzNmXpWQHEtHU7649OXHP7UeNST1mCUCH5qdank0V1iejF6\/CfTFU4MfcrG\n        YT90qFF93M3v01BbxP+EIY2\/9tiIPbrd\n        =0YYh\n        -----END PGP PUBLIC KEY BLOCK-----        <\/code><\/pre>\n<p>V\u1edbi c\u1ea3 hai ph\u01b0\u01a1ng ph\u00e1p, b\u1ea1n c\u00f3 th\u1ec3 x\u00e1c minh kho l\u01b0u tr\u1eef \u0111\u00e3 th\u00eam v\u00e0o h\u1ec7 th\u1ed1ng m\u1edbi b\u1eb1ng l\u1ec7nh nh\u01b0 sau:<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt-cache policy<\/code><\/pre>\n<pre class=\"wp-block-code\"><code>Package files:\n 100 \/var\/lib\/dpkg\/status\n     release a=now\n 500 https:\/\/download.docker.com\/linux\/ubuntu jammy\/stable amd64 Packages\n     release o=Docker,a=jammy,l=Docker CE,c=stable,b=amd64\n     origin download.docker.com\n...<\/code><\/pre>\n<p>2.YUM<\/p>\n<p>Cloud-config s\u1eed d\u1ee5ng&nbsp;<code>yum_repos<\/code>t\u00f9y ch\u1ecdn chuy\u00ean d\u1ee5ng \u0111\u1ec3 qu\u1ea3n l\u00fd kho l\u01b0u tr\u1eef trong Yum v\u00e0 DNF. M\u1ed7i kho l\u01b0u tr\u1eef \u0111\u01b0\u1ee3c th\u00eam v\u00e0o tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i s\u1ebd c\u00f3 m\u1ed9t m\u1ee5c b\u00ean d\u01b0\u1edbi t\u00f9y&nbsp;<code>yum_repos<\/code>ch\u1ecdn, v\u1edbi m\u00e3 \u0111\u1ecbnh danh, URL v\u00e0 th\u00f4ng tin kh\u00e1c.<\/p>\n<p>V\u00ed d\u1ee5 \u1edf \u0111\u00e2y b\u1ed5 sung kho l\u01b0u tr\u1eef Extra Packages for Enterprise Linux (EPEL), m\u1ed9t kho l\u01b0u tr\u1eef ph\u1ed5 bi\u1ebfn \u0111\u1ec3 truy c\u1eadp nhi\u1ec1u g\u00f3i h\u01a1n tr\u00ean c\u00e1c h\u1ec7 th\u1ed1ng d\u1ef1a tr\u00ean RHEL:<\/p>\n<pre class=\"wp-block-code\"><code>yum_repos:\n  epel-release:\n    name: Extra Packages for Enterprise Linux 8 - Release\n    baseurl: http:\/\/download.fedoraproject.org\/pub\/epel\/8\/Everything\/$basearch\n    enabled: true\n    failovermethod: priority\n    gpgcheck: true\n    gpgkey: http:\/\/download.fedoraproject.org\/pub\/epel\/RPM-GPG-KEY-EPEL-8<\/code><\/pre>\n<p>Ba t\u00f9y ch\u1ecdn \u0111\u1ea7u ti\u00ean (&nbsp;<code>name<\/code>,&nbsp;<code>baseurl<\/code>, v\u00e0&nbsp;<code>enabled<\/code>) d\u00e0nh ri\u00eang cho cloud-init&nbsp;<code>yum_repos<\/code>. Tuy nhi\u00ean,&nbsp;<code>yum_repos<\/code>c\u0169ng h\u1ed7 tr\u1ee3 vi\u1ec7c s\u1eed d\u1ee5ng c\u00e1c t\u00f9y ch\u1ecdn c\u1ea5u h\u00ecnh kho l\u01b0u tr\u1eef ri\u00eang c\u1ee7a Yum, m\u00e0 c\u00e1c t\u00f9y ch\u1ecdn c\u00f2n l\u1ea1i \u1edf tr\u00ean t\u1eadn d\u1ee5ng.<\/p>\n<p>Sau khi qu\u00e1 tr\u00ecnh kh\u1edfi t\u1ea1o ho\u00e0n t\u1ea5t, b\u1ea1n c\u00f3 th\u1ec3 x\u00e1c minh kho l\u01b0u tr\u1eef \u0111\u00e3 th\u00eam b\u1eb1ng&nbsp;<code>repolist<\/code>l\u1ec7nh Yum\/DNF:<\/p>\n<pre class=\"wp-block-code\"><code>sudo dnf repolist<\/code><\/pre>\n<pre class=\"wp-block-code\"><code>repo id                                                                  repo name\n...\nepel-release                                                             Extra Packages for Enterprise Linux 8 - Release\n...<\/code><\/pre>\n<h2 id=\"verify-update-and-installation\">X\u00e1c minh C\u1eadp nh\u1eadt v\u00e0 C\u00e0i \u0111\u1eb7t<a href=\"https:\/\/www.linode.com\/docs\/guides\/install-and-update-software-with-cloud-init\/?tabs=centos-8%2Cdebian-ubuntu%2Cyumdnf#verify-update-and-installation\"><\/a><\/h2>\n<p>Cloud-init l\u01b0u tr\u1eef m\u1ed9t b\u1ea3n ghi t\u1ea1i&nbsp;<code>\/var\/log\/cloud-init-output.log<\/code>v\u1edbi t\u1ea5t c\u1ea3 \u0111\u1ea7u ra t\u1eeb c\u00e1c b\u01b0\u1edbc kh\u1edfi t\u1ea1o c\u1ee7a cloud-init. V\u00ed d\u1ee5, \u0111\u1ea7u ra v\u00ed d\u1ee5 b\u00ean d\u01b0\u1edbi hi\u1ec3n th\u1ecb ph\u1ea7n nh\u1eadt k\u00fd cho APT c\u00e0i \u0111\u1eb7t g\u00f3i&nbsp;<code>apache2<\/code>.<\/p>\n<pre class=\"wp-block-code\"><code>sudo cat \/var\/log\/cloud-init-output.log<\/code><\/pre>\n<pre class=\"wp-block-code\"><code>...\nThe following additional packages will be installed:\n  apache2-bin apache2-data apache2-utils libapache2-mod-php8.1 libapr1\n  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcgi-fast-perl\n  libcgi-pm-perl libclone-perl libencode-locale-perl libevent-pthreads-2.1-7\n  libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl\n  libhtml-tagset-perl libhtml-template-perl libhttp-date-perl\n  libhttp-message-perl libio-html-perl liblua5.3-0 liblwp-mediatypes-perl\n  libmecab2 libprotobuf-lite23 libtimedate-perl liburi-perl mecab-ipadic\n  mecab-ipadic-utf8 mecab-utils mysql-client-8.0 mysql-client-core-8.0\n  mysql-common mysql-server-8.0 mysql-server-core-8.0 php-common php8.1\n  php8.1-cli php8.1-common php8.1-mysql php8.1-opcache php8.1-readline\n  ssl-cert\nSuggested packages:\n  apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser\n  php-pear libdata-dump-perl libipc-sharedcache-perl libbusiness-isbn-perl\n  libwww-perl mailx tinyca\nThe following NEW packages will be installed:\n  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php\n  libapache2-mod-php8.1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3\n  libaprutil1-ldap libcgi-fast-perl libcgi-pm-perl libclone-perl\n  libencode-locale-perl libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl\n  libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl\n  libhttp-date-perl libhttp-message-perl libio-html-perl liblua5.3-0\n  liblwp-mediatypes-perl libmecab2 libprotobuf-lite23 libtimedate-perl\n  liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0\n  mysql-client-core-8.0 mysql-common mysql-server mysql-server-8.0\n  mysql-server-core-8.0 php php-common php-mysql php8.1 php8.1-cli\n  php8.1-common php8.1-mysql php8.1-opcache php8.1-readline ssl-cert\n0 upgraded, 49 newly installed, 0 to remove and 11 not upgraded.\n...<\/code><\/pre>\n<p>M\u1eb7c d\u00f9 m\u1ee9c \u0111\u1ed9 chi ti\u1ebft cao c\u1ee7a nh\u1eadt k\u00fd h\u1eefu \u00edch cho vi\u1ec7c g\u1ee1 l\u1ed7i, nh\u01b0ng n\u00f3 khi\u1ebfn vi\u1ec7c x\u00e1c minh c\u00e1c g\u00f3i \u0111\u00e3 n\u00e2ng c\u1ea5p v\u00e0 c\u00e0i \u0111\u1eb7t tr\u1edf n\u00ean h\u01a1i c\u1ed3ng k\u1ec1nh. Thay v\u00e0o \u0111\u00f3, h\u00e3y s\u1eed d\u1ee5ng c\u00e1c l\u1ec7nh d\u00e0nh ri\u00eang cho tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i c\u1ee7a h\u1ec7 th\u1ed1ng \u0111\u1ec3 x\u00e1c minh c\u00e1c g\u00f3i n\u00e2ng c\u1ea5p v\u00e0 c\u00e0i \u0111\u1eb7t. D\u01b0\u1edbi \u0111\u00e2y, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y c\u00e1c b\u01b0\u1edbc \u0111\u1ec3 th\u1ef1c hi\u1ec7n vi\u1ec7c \u0111\u00f3 tr\u00ean c\u00e1c h\u1ec7 th\u1ed1ng Debian\/Ubuntu (s\u1eed d\u1ee5ng APT) v\u00e0 c\u00e1c h\u1ec7 th\u1ed1ng d\u1ef1a tr\u00ean RHEL nh\u01b0 CentOS v\u00e0 Fedora (s\u1eed d\u1ee5ng DNF ho\u1eb7c Yum).<\/p>\n<p>Debian ubuntu:<\/p>\n<p>Tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i APT bao g\u1ed3m m\u1ed9t&nbsp;<code>list<\/code>l\u1ec7nh cung c\u1ea5p c\u00e1c ch\u1ee9c n\u0103ng h\u1eefu \u00edch \u0111\u1ec3 xem x\u00e9t c\u00e1c g\u00f3i. S\u1eed d\u1ee5ng t\u00f9y&nbsp;<code>--upgradable<\/code>ch\u1ecdn v\u1edbi l\u1ec7nh s\u1ebd hi\u1ec3n th\u1ecb danh s\u00e1ch c\u00e1c g\u00f3i c\u00f3 b\u1ea3n n\u00e2ng c\u1ea5p kh\u1ea3 d\u1ee5ng.<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt list --upgradable<\/code><\/pre>\n<p>L\u00fd t\u01b0\u1edfng nh\u1ea5t l\u00e0 \u0111\u1ea7u ra s\u1ebd tr\u1ed1ng, nh\u01b0ng h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n th\u01b0\u1eddng c\u00f3 m\u1ed9t v\u00e0i g\u00f3i kh\u00f4ng \u0111\u01b0\u1ee3c n\u00e2ng c\u1ea5p b\u1eb1ng&nbsp;<code>apt upgrade<\/code>. Th\u00f4ng th\u01b0\u1eddng, \u0111i\u1ec1u n\u00e0y l\u00e0 do s\u1ef1 ph\u1ee5 thu\u1ed9c. N\u1ebfu \u0111\u00fang nh\u01b0 v\u1eady, l\u1ec7nh&nbsp;<code>upgrade<\/code>v\u00e0 nh\u1eadt k\u00fd cloud-init s\u1ebd ch\u1ec9 ra c\u00e1c g\u00f3i ch\u01b0a \u0111\u01b0\u1ee3c n\u00e2ng c\u1ea5p.<\/p>\n<pre class=\"wp-block-code\"><code>...\n0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.\n...<\/code><\/pre>\n<p><code>list<\/code>T\u00f9y ch\u1ecdn c\u1ee7a l\u1ec7nh&nbsp;cung&nbsp;<code>--installed<\/code>c\u1ea5p danh s\u00e1ch to\u00e0n di\u1ec7n c\u00e1c g\u00f3i \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t v\u1edbi tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i APT. Tuy nhi\u00ean, danh s\u00e1ch n\u00e0y c\u00f3 th\u1ec3 kh\u00f3 \u0111i\u1ec1u h\u01b0\u1edbng \u0111\u1ec3 x\u00e1c minh v\u00ec n\u00f3 c\u0169ng bao g\u1ed3m t\u1ea5t c\u1ea3 c\u00e1c g\u00f3i \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t d\u01b0\u1edbi d\u1ea1ng ph\u1ee5 thu\u1ed9c. \u0110\u1ec3 ch\u1ec9 xem c\u00e1c g\u00f3i \u0111\u00e3 \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t r\u00f5 r\u00e0ng, h\u00e3y s\u1eed d\u1ee5ng t\u00f9y&nbsp;<code>--manual-installed<\/code>ch\u1ecdn thay th\u1ebf.<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt list --manual-installed<\/code><\/pre>\n<p>V\u00ed d\u1ee5 c\u00e0i \u0111\u1eb7t g\u00f3i tr\u01b0\u1edbc \u0111\u00f3 trong h\u01b0\u1edbng d\u1eabn n\u00e0y ch\u1ec9 c\u00f3 m\u1ed9t v\u00e0i g\u00f3i, do \u0111\u00f3 b\u1ed9 l\u1ecdc v\u0103n b\u1ea3n ng\u1eafn th\u1eadm ch\u00ed c\u00f3 th\u1ec3 r\u00fat ng\u1eafn \u0111\u1ea7u ra h\u01a1n n\u1eefa. L\u1ec7nh b\u00ean d\u01b0\u1edbi th\u1ef1c hi\u1ec7n \u0111i\u1ec1u n\u00e0y b\u1eb1ng c\u00e1ch chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn&nbsp;<code>grep<\/code>. M\u1ed7i l\u1ec7nh&nbsp;<code>\\|<\/code>t\u00e1ch m\u1ed9t thu\u1eadt ng\u1eef t\u00ecm ki\u1ebfm v\u00e0 m\u1ed7i thu\u1eadt ng\u1eef t\u00ecm ki\u1ebfm x\u00e1c \u0111\u1ecbnh m\u1ed9t ho\u1eb7c nhi\u1ec1u g\u00f3i \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh trong cloud-config.<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt list --manual-installed | grep 'apache2\\|mysql-server\\|php'<\/code><\/pre>\n<pre class=\"wp-block-code\"><code>apache2\/jammy-updates,now 2.4.52-1ubuntu4.6 amd64 &#91;installed]\nlibapache2-mod-php\/jammy,now 2:8.1+92ubuntu1 all &#91;installed]\nmysql-server\/jammy-updates,jammy-security,now 8.0.34-0ubuntu0.22.04.1 all &#91;installed]\nphp-mysql\/jammy,now 2:8.1+92ubuntu1 all &#91;installed]\nphp\/jammy,now 2:8.1+92ubuntu1 all &#91;installed]<\/code><\/pre>\n<p>AlmaLinux, CentOS, Fedora, Rocky Linux<\/p>\n<p>V\u1edbi tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i Yum\/DNF,&nbsp;<code>check-update<\/code>l\u1ec7nh chuy\u00ean d\u1ee5ng s\u1ebd hi\u1ec3n th\u1ecb b\u1ea5t k\u1ef3 g\u00f3i n\u00e0o c\u00f3 b\u1ea3n n\u00e2ng c\u1ea5p kh\u1ea3 d\u1ee5ng. Sau khi kh\u1edfi t\u1ea1o cloud-init, \u0111\u1ea7u ra s\u1ebd tr\u1ed1ng, cho bi\u1ebft t\u1ea5t c\u1ea3 c\u00e1c g\u00f3i \u0111\u00e3 c\u00e0i \u0111\u1eb7t \u0111\u1ec1u \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt.<\/p>\n<p class=\"has-background\" style=\"background-color:#74f78c33\">Ghi ch\u00fa: C\u00e1c v\u00ed d\u1ee5 trong ph\u1ea7n n\u00e0y s\u1eed d\u1ee5ng r\u00f5 r\u00e0ng&nbsp;<code>dnf<\/code>, v\u00ec c\u00e1c h\u1ec7 th\u1ed1ng m\u1edbi h\u01a1n th\u01b0\u1eddng s\u1eed d\u1ee5ng tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i DNF thay v\u00ec Yum. Tuy nhi\u00ean, n\u1ebfu h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n s\u1eed d\u1ee5ng Yum thay th\u1ebf, c\u00e1c l\u1ec7nh t\u01b0\u01a1ng t\u1ef1 s\u1ebd ho\u1ea1t \u0111\u1ed9ng, ch\u1ec9 c\u1ea7n thay th\u1ebf&nbsp;<code>dnf<\/code> b\u1eb1ng&nbsp;<code>yum<\/code>.<\/p>\n<pre class=\"wp-block-code\"><code>sudo dnf check-update<\/code><\/pre>\n<p>Th\u00f4ng th\u01b0\u1eddng, ngay sau khi kh\u1edfi t\u1ea1o, c\u00e1ch tr\u1ef1c ti\u1ebfp nh\u1ea5t \u0111\u1ec3 x\u00e1c minh c\u00e1c g\u00f3i \u0111\u00e3 c\u00e0i \u0111\u1eb7t l\u00e0 th\u00f4ng qua l\u1ec7nh&nbsp;<code>history<\/code>. \u0110\u1ea7u ra hi\u1ec3n th\u1ecb c\u00e1c l\u1ec7nh g\u1ea7n \u0111\u00e2y do tr\u00ecnh qu\u1ea3n l\u00fd g\u00f3i ch\u1ea1y, bao g\u1ed3m c\u00e1c b\u1ea3n c\u1eadp nh\u1eadt v\u00e0 c\u00e0i \u0111\u1eb7t.<\/p>\n<pre class=\"wp-block-code\"><code>sudo dnf history<\/code><\/pre>\n<pre class=\"wp-block-code\"><code>ID     | Command line                                                                                                                  | Date and time    | Action(s)      | Altered\n------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n     2 | -y install httpd mariadb-server php php-pear php-mysqlnd                                                                      | 2023-08-09 12:12 | Install        |   76\n     1 | -y upgrade                                                                                                                    | 2023-08-09 12:11 | I, U           |  132<\/code><\/pre>\n<p>V\u1edbi Yum\/DNF, b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 ki\u1ec3m tra c\u1ee5 th\u1ec3 h\u01a1n c\u00e1c g\u00f3i \u0111\u00e3 c\u00e0i \u0111\u1eb7t b\u1eb1ng l\u1ec7nh&nbsp;<code>list installed<\/code>. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t v\u00ed d\u1ee5 c\u0169ng chuy\u1ec3n k\u1ebft qu\u1ea3 \u0111\u1ebfn&nbsp;<code>grep<\/code>t\u00ecm ki\u1ebfm v\u0103n b\u1ea3n, cho ph\u00e9p b\u1ea1n thu h\u1eb9p \u0111\u1ea7u ra ch\u1ec9 \u0111\u1ec3 kh\u1edbp v\u1edbi t\u00ean g\u00f3i. \u1ede \u0111\u00e2y, m\u1ed7i thu\u1eadt ng\u1eef t\u00ecm ki\u1ebfm \u0111\u01b0\u1ee3c ph\u00e2n t\u00e1ch b\u1eb1ng&nbsp;<code>\\|<\/code>. \u0110i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 h\u1eefu \u00edch khi b\u1ea1n ch\u1ec9 mu\u1ed1n x\u00e1c minh m\u1ed9t ph\u1ea1m vi gi\u1edbi h\u1ea1n c\u00e1c g\u00f3i \u0111\u00e3 c\u00e0i \u0111\u1eb7t.<\/p>\n<pre class=\"wp-block-code\"><code>sudo dnf list installed | grep 'httpd\\|mariadb-server\\|php'<\/code><\/pre>\n<pre class=\"wp-block-code\"><code>httpd.x86_64                       2.4.37-62.module_el8+657+88b2113f       @appstream\nhttpd-filesystem.noarch            2.4.37-62.module_el8+657+88b2113f       @appstream\nhttpd-tools.x86_64                 2.4.37-62.module_el8+657+88b2113f       @appstream\nmariadb-server.x86_64              3:10.3.28-1.module_el8.3.0+757+d382997d @appstream\nmariadb-server-utils.x86_64        3:10.3.28-1.module_el8.3.0+757+d382997d @appstream\nphp.x86_64                         7.2.24-1.module_el8.2.0+313+b04d0a66    @appstream\nphp-cli.x86_64                     7.2.24-1.module_el8.2.0+313+b04d0a66    @appstream\nphp-common.x86_64                  7.2.24-1.module_el8.2.0+313+b04d0a66    @appstream\nphp-fpm.x86_64                     7.2.24-1.module_el8.2.0+313+b04d0a66    @appstream\nphp-mysqlnd.x86_64                 7.2.24-1.module_el8.2.0+313+b04d0a66    @appstream\nphp-pdo.x86_64                     7.2.24-1.module_el8.2.0+313+b04d0a66    @appstream\nphp-pear.noarch                    1:1.10.5-9.module_el8.2.0+313+b04d0a66  @appstream\nphp-process.x86_64                 7.2.24-1.module_el8.2.0+313+b04d0a66    @appstream\nphp-xml.x86_64                     7.2.24-1.module_el8.2.0+313+b04d0a66    @appstrea<\/code><\/pre>\n<h2 id=\"more-information\">Th\u00f4ng tin th\u00eam<\/h2>\n<p>B\u1ea1n c\u00f3 th\u1ec3 mu\u1ed1n tham kh\u1ea3o c\u00e1c ngu\u1ed3n sau \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin v\u1ec1 ch\u1ee7 \u0111\u1ec1 n\u00e0y. M\u1eb7c d\u00f9 ch\u00fang t\u00f4i cung c\u1ea5p v\u1edbi hy v\u1ecdng r\u1eb1ng ch\u00fang s\u1ebd h\u1eefu \u00edch, nh\u01b0ng xin l\u01b0u \u00fd r\u1eb1ng ch\u00fang t\u00f4i kh\u00f4ng th\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh ch\u00ednh x\u00e1c ho\u1eb7c t\u00ednh k\u1ecbp th\u1eddi c\u1ee7a c\u00e1c t\u00e0i li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef b\u00ean ngo\u00e0i.<\/p>\n<ul>\n<li><a href=\"https:\/\/cloudinit.readthedocs.io\/en\/latest\/reference\/modules.html#package-update-upgrade-install\" target=\"_blank\" rel=\"noreferrer noopener\">T\u00e0i li\u1ec7u Cloud-init &#8211; Tham chi\u1ebfu m\u00f4-\u0111un: G\u00f3i C\u1eadp nh\u1eadt N\u00e2ng c\u1ea5p C\u00e0i \u0111\u1eb7t<\/a><\/li>\n<li><a href=\"https:\/\/cloudinit.readthedocs.io\/en\/latest\/reference\/examples.html#install-arbitrary-packages\" target=\"_blank\" rel=\"noreferrer noopener\">T\u00e0i li\u1ec7u Cloud-init &#8211; V\u00ed d\u1ee5 v\u1ec1 Cloud-config: C\u00e0i \u0111\u1eb7t c\u00e1c g\u00f3i t\u00f9y \u00fd<\/a><\/li>\n<\/ul>\n<p>Ngu\u1ed3n: https:\/\/www.linode.com\/docs\/guides\/install-and-update-software-with-cloud-init\/?tabs=almalinux-centos-fedora-rocky-linux%2Ccentos-8%2Cyumdnf<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cloud-init&nbsp;cung c\u1ea5p ph\u01b0\u01a1ng ph\u00e1p ti\u1ebfp c\u1eadn \u0111a n\u1ec1n t\u1ea3ng, ph\u00e2n ph\u1ed1i ch\u00e9o \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng kh\u1edfi t\u1ea1o m\u00e1y ch\u1ee7. V\u1edbi d\u1ecbch v\u1ee5&nbsp;Metadata&nbsp;c\u1ee7a Akamai , b\u1ea1n c\u00f3 th\u1ec3 t\u1eadn d\u1ee5ng cloud-init \u0111\u1ec3 tri\u1ec3n khai Compute Instances, s\u1eed d\u1ee5ng c\u00e1c t\u1eadp l\u1ec7nh d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng t\u00f9y ch\u1ec9nh \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh thi\u1ebft l\u1eadp mong mu\u1ed1n c\u1ee7a b\u1ea1n.<\/p>\n","protected":false},"author":1,"featured_media":35978,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[132],"tags":[],"class_list":["post-34957","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-init"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=34957"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34957\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/35978"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=34957"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=34957"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=34957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}