Pemahaman mendalam tentang sistem fail standard Linux (Ext2/Ext3/Ext4)
Ext
Nama penuh ialah sistem fail lanjutan Linux, extfs, iaitu sistem fail lanjutan Linux Ext2 mewakili sistem sambungan fail generasi kedua, Ext3/Ext4 dan seterusnya Semuanya adalah versi Ext2 yang dinaik taraf, tetapi ia menambah fungsi pengelogan dihalakan ke arah satu sama lain Ia serasi dengan yang berikut, jadi Ext2 dipanggil sistem fail diindeks, dan Ext3/Ext4 dipanggil sistem fail jurnal.
Nota: Linux menyokong banyak sistem fail, termasuk Sistem Fail Rangkaian (NFS) dan sistem fail Fat Windows.
Semak sistem fail yang disokong oleh Linux: ls -l /lib/modules/$(uname -r)/kernel/fs
Lihat sistem fail yang disokong oleh Linux (dimuatkan ke dalam memori): cat /proc/filesystems
Reka Bentuk Teras
Kawasan data
Elemen ini agak stabil dan akan diperbaiki selepas cakera diformat.
1. inod (nod indeks)
Catatkan kebenaran, atribut fail dan nombor blok di mana data berada. Setiap fail mempunyai satu dan hanya satu inode.
2. blok(blok data)
Kandungan fail yang disimpan juga dipanggil blok data Setiap blok mempunyai nombor sendiri Kapasiti blok unit yang disokong oleh Ext2 hanya 1k, 2k, dan 4k.
Nota: Untuk memudahkan rakaman inod, saiz blok telah ditetapkan selepas cakera diformatkan. Setiap blok hanya boleh menyimpan data satu fail Jika fail terlalu besar, ia akan menduduki berbilang blok jika fail terlalu kecil, ruang yang tinggal pada blok tidak boleh digunakan, yang akan menyebabkan pembaziran ruang cakera. Oleh itu, selepas cakera dipisahkan, fail Sebelum memformat sistem anda, fikirkan dengan teliti tentang jangkaan penggunaan sistem fail.
Metadata
Elemen ini direka bentuk untuk mengekalkan status sistem fail terutamanya mewakili maklumat konfigurasi dinamik sistem fail dan merupakan maklumat deskriptif.
1. superblock
Rekodkan maklumat keseluruhan sistem fail (sistem fail), termasuk jumlah keseluruhan, penggunaan, jumlah baki, saiz inode/blok, serta format dan maklumat berkaitan sistem fail.
Catatan: Semua maklumat asas keseluruhan sistem fail direkodkan dalam superblock Saiznya biasanya 1024Bytes Jika ia mati, ia akan mengambil banyak masa untuk membaikinya. ! !
2. kumpulan blok
Bayangkan sahaja, jika kapasiti cakera kita setinggi ratusan G, apabila kita memformatnya, inode dan blok akan menjadi sangat besar untuk memudahkan pengurusan, sistem fail Ext memperkenalkan konsep kumpulan blok (block group). apabila memformat , setiap kumpulan blok mengekalkan inod/blok/superblock bebas, dengan bilangan blok tetap, yang dibahagikan kepada kumpulan sistem subfail asas.
Catatan: Superblock terlalu penting untuk sistem fail, tetapi hanya terdapat satu superblock dalam sistem fail, jadi sebagai tambahan kepada kumpulan blok pertama yang mengandungi superblock, kumpulan blok berikutnya mungkin mengandungi superblock sandaran titik kegagalan superblock masalah.
3. peta bit blok (jadual perbandingan blok)
Sebuah blok hanya boleh digunakan oleh satu fail Apabila kita menambah fail baru, kita pasti perlu menggunakan blok baru untuk merekodkan data fail. Jadi bagaimana untuk mengetahui dengan cepat blok mana yang baharu? Blok mana yang sudah digunakan? Peta bit blok direka bentuk dengan cara ini untuk merekod semua nombor blok yang digunakan dan tidak digunakan. Begitu juga, apabila kami memadamkan fail, kami mula-mula mencari nombor blok yang sepadan daripada peta bit blok, kemudian mengemas kini bendera kepada yang tidak digunakan, dan akhirnya melepaskan blok itu.
peta bit inod(jadual perbandingan inod)
Konsep reka bentuk yang sama seperti peta bit blok, kecuali ia merekodkan nombor inod yang digunakan dan tidak digunakan, yang tidak akan diterangkan di sini.
penerangan kumpulan
Terangkan nombor blok pada permulaan dan penghujung setiap bahagian (kumpulan blok), dan terangkan nombor blok mana setiap bahagian (inodemap, blockmap, jadual inod) berada di antara.
Senaraikan semua peranti berformat dalam sistem semasa:blkid
Pilih peranti yang diformat dan lihat butiran sistem fail: dumpe2fs /dev/vda1
Nota: Tanda tangan Magic di atas ialah 0xEF53, menunjukkan bahawa partition cakera kami ialah sistem fail ext2 dan ext3. Sama seperti Magic pada permulaan fail, anda boleh menentukan jenis fail.
Ringkasan
Keluarga Ext ialah sistem fail yang paling banyak disokong dan lengkap dalam Linux Selepas kami memformat cakera, semua inode/block/metadate dan data lain telah dirancang untuk kami, supaya sistem boleh digunakan secara langsung tanpa pengubahsuaian lanjut konfigurasi juga merupakan ciri terbaiknya, tetapi ia juga merupakan kelemahan yang paling ketara Semakin besar kapasiti cakera, semakin perlahan pemformatan Centos7.x telah memilih xfs sebagai sistem fail lalai.
Atas ialah kandungan terperinci Pemahaman mendalam tentang sistem fail standard Linux (Ext2/Ext3/Ext4). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Sebab utama mengapa anda tidak boleh log masuk ke MySQL sebagai akar adalah masalah kebenaran, ralat fail konfigurasi, kata laluan tidak konsisten, masalah fail soket, atau pemintasan firewall. Penyelesaiannya termasuk: periksa sama ada parameter pengikat di dalam fail konfigurasi dikonfigurasi dengan betul. Semak sama ada kebenaran pengguna root telah diubahsuai atau dipadam dan ditetapkan semula. Sahkan bahawa kata laluan adalah tepat, termasuk kes dan aksara khas. Semak tetapan dan laluan kebenaran fail soket. Semak bahawa firewall menyekat sambungan ke pelayan MySQL.

C Language Conditional Compilation adalah mekanisme untuk selektif menyusun blok kod berdasarkan keadaan kompilasi masa. Kaedah pengenalan termasuk: menggunakan arahan #if dan #Else untuk memilih blok kod berdasarkan syarat. Ekspresi bersyarat yang biasa digunakan termasuk STDC, _WIN32 dan LINUX. Kes praktikal: Cetak mesej yang berbeza mengikut sistem operasi. Gunakan jenis data yang berbeza mengikut bilangan digit sistem. Fail header yang berbeza disokong mengikut pengkompil. Penyusunan bersyarat meningkatkan kebolehgunaan dan fleksibiliti kod, menjadikannya boleh disesuaikan dengan pengkompil, sistem operasi, dan perubahan seni bina CPU.

1.0.1 Preface Projek ini (termasuk kod dan komen) telah direkodkan semasa karat saya yang diajar sendiri. Mungkin ada kenyataan yang tidak tepat atau tidak jelas, sila minta maaf. Jika anda mendapat manfaat daripadanya, ia lebih baik. 1.0.2 Mengapa Rustrust boleh dipercayai dan cekap? Karat boleh menggantikan C dan C, dengan prestasi yang sama tetapi keselamatan yang lebih tinggi, dan tidak memerlukan rekompilasi yang kerap untuk memeriksa kesilapan seperti C dan C. Kelebihan utama termasuk: Keselamatan Memori (mencegah penunjuk null dari dereferences, penunjuk menggantung, dan perbalahan data). Thread-safe (pastikan kod multi-threaded selamat sebelum pelaksanaan). Elakkan tingkah laku yang tidak ditentukan (mis., Arus dari batas, pembolehubah yang tidak diinisialisasi, atau akses kepada memori yang dibebaskan). Karat menyediakan ciri bahasa moden seperti generik

Terdapat banyak sebab mengapa permulaan MySQL gagal, dan ia boleh didiagnosis dengan memeriksa log ralat. Penyebab umum termasuk konflik pelabuhan (periksa penghunian pelabuhan dan ubah suai konfigurasi), isu kebenaran (periksa keizinan pengguna yang menjalankan perkhidmatan), ralat fail konfigurasi (periksa tetapan parameter), rasuah direktori data (memulihkan data atau membina semula ruang meja), isu ruang jadual InnoDB (semak fail ibdata1) Apabila menyelesaikan masalah, anda harus menganalisisnya berdasarkan log ralat, cari punca utama masalah, dan mengembangkan tabiat sandaran data secara teratur untuk mencegah dan menyelesaikan masalah.

Lima komponen asas Linux adalah: 1. Kernel, menguruskan sumber perkakasan; 2. Perpustakaan sistem, menyediakan fungsi dan perkhidmatan; 3. Shell, antara muka pengguna untuk berinteraksi dengan sistem; 4. Sistem fail, menyimpan dan menganjurkan data; 5. Aplikasi, menggunakan sumber sistem untuk melaksanakan fungsi.

MySQL tidak boleh berjalan secara langsung di Android, tetapi ia boleh dilaksanakan secara tidak langsung dengan menggunakan kaedah berikut: menggunakan pangkalan data ringan SQLite, yang dibina di atas sistem Android, tidak memerlukan pelayan yang berasingan, dan mempunyai penggunaan sumber kecil, yang sangat sesuai untuk aplikasi peranti mudah alih. Sambungkan jauh ke pelayan MySQL dan sambungkan ke pangkalan data MySQL pada pelayan jauh melalui rangkaian untuk membaca dan menulis data, tetapi terdapat kelemahan seperti kebergantungan rangkaian yang kuat, isu keselamatan dan kos pelayan.

Perpustakaan Fungsi Bahasa C adalah kotak alat yang mengandungi pelbagai fungsi, yang dianjurkan dalam fail perpustakaan yang berbeza. Menambah perpustakaan memerlukan menyatakannya melalui pilihan baris perintah pengkompil, contohnya, pengkompil GCC menggunakan pilihan -L diikuti dengan singkatan nama perpustakaan. Jika fail perpustakaan tidak berada di bawah laluan carian lalai, anda perlu menggunakan pilihan -L untuk menentukan laluan fail perpustakaan. Perpustakaan boleh dibahagikan kepada perpustakaan statik dan perpustakaan dinamik. Perpustakaan statik secara langsung dikaitkan dengan program pada masa kompilasi, manakala perpustakaan dinamik dimuatkan semasa runtime.

Penyelesaian kepada ralat pemasangan MySQL adalah: 1. Berhati -hati memeriksa persekitaran sistem untuk memastikan keperluan perpustakaan ketergantungan MySQL dipenuhi. Sistem operasi dan keperluan versi yang berbeza adalah berbeza; 2. Berhati -hati membaca mesej ralat dan mengambil langkah -langkah yang sepadan mengikut arahan (seperti fail perpustakaan yang hilang atau kebenaran yang tidak mencukupi), seperti memasang kebergantungan atau menggunakan arahan sudo; 3 Jika perlu, cuba pasang kod sumber dan periksa dengan teliti log kompilasi, tetapi ini memerlukan pengetahuan dan pengalaman Linux tertentu. Kunci untuk menyelesaikan masalah akhirnya adalah dengan teliti memeriksa persekitaran sistem dan maklumat ralat, dan merujuk kepada dokumen rasmi.
