Penggunaan fungsi CHROOT pada PHP

PHP: Tips of the Day

PHP: How to sort an array of associative arrays by value of a given key in PHP?

Here's an example taken straight from the manual and adapted to your case:

$price = array();
foreach ($inventory as $key => $row)
{
    $price[$key] = $row['price'];
}
array_multisort($price, SORT_DESC, $inventory);

As of PHP 5.5.0 you can use array_column() instead of that foreach:

$price = array_column($inventory, 'price');

array_multisort($price, SORT_DESC, $inventory);

Ref : https://bit.ly/3kUuxOj

Berkali-kali, terutama ketika mengotak-atik, kami mendapati diri kami dalam masalah karena tidak dapat mengakses sistem untuk memperbaikinya, tetapi solusinya mudah: gunakan perintah chroot dari LiveCD / RepairCD manapun.

Di banyak tempat (forum, blog ...) perintah ini disebutkan dan "salin / tempel" kode diberikan, tetapi maksud saya dengan posting ini adalah untuk menjelaskan sedikit langkah-langkah tersebut, untuk memanfaatkan ini dengan baik alat, dengan pengetahuan tentang sebab.

Indeks

  • 1 Pengantar
  • 2 BAGAIMANA CARA
  • 3 Contoh penggunaan: pulihkan GRUB2

Pengantar

Perintah chroot Ini dikenal sebagai CHangeROOT, yaitu perintah yang memungkinkan Anda mengubah root sistem yang sedang Anda kerjakan. Dengan kata lain: jika Anda berasal dari LiveCD dan Anda ingin semua yang Anda kerjakan di konsol berdampak pada sistem yang diinstal, Anda harus terlebih dahulu menggunakan chroot.

Masalahnya adalah tidak cukup untuk digunakan chroot Karena itu, sebelumnya kita harus memasang partisi tertentu dengan benar.

BAGAIMANA CARA

Pertama kita perlu memulai terminal, baik dari sistem terinstal lain (di partisi / disk lain) atau dari LiveCD. PENTING: arsitektur LiveCD harus sesuai dengan sistem yang akan diperbaiki (32 atau 64 bit).
Setelah kami berada di terminal, kami akan mulai dengan mengidentifikasi partisi kami:
fdisk -l

  • Dengan perintah ini kami akan mencantumkan semua partisi / disk kami. Kita harus mengidentifikasi partisi target, di mana sistem kami untuk memperbaiki diinstal, mulai sekarang kami akan menyebutnya sistem rusak.

Untuk contoh ini kami akan mempertimbangkan bahwa sistem rusak kami masuk / Dev / sda1 .

Kami melanjutkan untuk merakit sistem. Pertama kita akan membuat folder tempat kita akan bekerja dan kemudian kita memasang partisi tempat sistem rusak kita berada di folder itu
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Jika Anda memiliki foldernya / Home o / var atau yang lainnya di partisi lain, Anda harus memasangnya sebagai berikut:
mount /dev/sda2 /mnt/my_linux/var

  • CATATAN: Saya telah mengambil contoh partisi / dev / sda2 untuk folder / var, biarkan masing-masing menyesuaikan kode dengan karakteristiknya.

Biasanya ini sudah cukup jika Anda hanya perlu mengedit file dengan tangan, tetapi jika kita ingin menjalankan beberapa perintah yang mengkonfigurasi sistem, kita perlu memasang folder sistem khusus tertentu: / dev, / proc y  / sys.
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev

  • Dengan opsi -t kami memberitahu meningkat jenis "sistem berkas" yang ingin kita pasang. Itu perlu untuk menentukannya karena sifat khusus folder / proc y / sys.
  • Dengan opsi -o kami menentukan opsi meningkat. Pilihan mengikat itu berfungsi untuk "link". Di UNIX semua perangkat keras dapat diakses melalui folder / dev, itulah mengapa kita harus memasang arus kita / dev di folder tempat sistem kami rusak sekarang. Karena folder ini sudah dipasang, itu hanya perlu memberi tahu meningkat di tempat asalnya dipasang.

Itu dilakukan dengan cara ini chroot memiliki akses ke folder ini seolah-olah folder tersebut adalah sistem yang rusak, meskipun folder tersebut harus dari sistem saat ini (misalnya: sesi LiveCD) karena folder tersebut terkait dengan status sistem, proses, dan perangkat keras.

Sekaranglah waktunya untuk menggunakan chroot:
chroot /mnt/my_linux/ /bin/bash

  • Perintah diteruskan sebagai argumen jalur dari root baru «/» (yang dalam kasus kami adalah / mnt / my_linux) dan konsol yang ingin Anda gunakan (dalam hal ini kami telah memilih bash terkenal, dapat ditemukan di / bin / bash). Jika kita tidak menentukan konsol, kita akan menemukan diri kita sebelum penerjemah perintah yang agak kuno (tidak terisi saat menekan tab, dll).

Sekarang kita dapat menggunakan konsol seolah-olah kita memulai sesi root pada sistem kita yang rusak (edit file, periksa skrip, instal / hapus paket ...). PERINGATAN! Agar perubahan yang dibuat dapat diterapkan, Anda harus melepas sistem file setelah keluar chrootLihat contoh di bawah ini.

Informasi lebih lanjut di https://wiki.archlinux.org/index.php/Change_Root (lebih dari bacaan yang direkomendasikan).

Contoh penggunaan: pulihkan GRUB2

Salah satu penggunaan yang paling luas chroot Ini sebagai alat untuk memperbaiki GRUB. Karena jika grub rusak, hampir tidak mungkin untuk mem-boot sistem kami untuk memperbaikinya.

PEMBERITAHUAN: tutorial singkat ini hanyalah contoh, ini berfungsi pada berbagai distribusi yang berasal dari Debian, Ubuntu dan openSUSE antara lain. Meski begitu, periksa dokumentasi distribusi Anda, karena di banyak perintah tidak ditemukan perbarui-grub.
# CATATAN: perintah ini dijalankan sekali di dalam chroot.update-grub
grub-install /dev/sda

  • dengan update-grub Kami memperbarui menu masukan GRUB2, sehingga menambahkan masukan yang hilang. Kemudian kami menginstal ulang GRUB pada disk kami, karena telah rusak.

Dalam hal ini saya telah mengambil / Dev / sda seperti album tempat kami memiliki sistem kami, ini harus disesuaikan dengan kasus Anda.

GRUB kita seharusnya sudah diperbaiki, jadi kita harus keluar chroot, lepaskan sistem file (PENTING) dan boot ulang agar perubahan diterapkan. Jika kita lupa melepas sistem berkas, mungkin saja me-reboot berkas tidak akan di-unmount dengan benar dan oleh karena itu beberapa perubahan tidak akan berpengaruh.
# kami meninggalkan chrootexit
# lepaskan sistem berkas dan boot ulangumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

Dan itu saja. Saya harap Anda menikmatinya dan itu membantu Anda. Salam!


Isi artikel mengikuti prinsip kami etika editorial. Untuk melaporkan kesalahan, klik di sini.