{"id":142,"date":"2026-10-04T21:24:12","date_gmt":"2026-10-04T20:24:12","guid":{"rendered":"https:\/\/sla.ovh\/?p=142"},"modified":"2026-10-04T21:26:08","modified_gmt":"2026-10-04T20:26:08","slug":"kontrola-dyskow-w-linux-debian","status":"publish","type":"post","link":"https:\/\/sla.ovh\/index.php\/2026\/10\/04\/kontrola-dyskow-w-linux-debian\/","title":{"rendered":"Kontrola dysk\u00f3w w Linux\/Debian"},"content":{"rendered":"\n<div class=\"tech-article-wrapper\">\n  <style>\n    .tech-article-wrapper {\n      font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n      line-height: 1.75;\n      color: #24292f;\n      max-width: 820px;\n      margin: 0 auto;\n    }\n    .tech-article-wrapper h2 {\n      font-size: 1.85rem;\n      font-weight: 700;\n      color: #0f172a;\n      margin-top: 2.5rem;\n      margin-bottom: 1rem;\n      border-bottom: 2px solid #e2e8f0;\n      padding-bottom: 0.5rem;\n      display: flex;\n      align-items: center;\n      gap: 10px;\n    }\n    .tech-article-wrapper h3 {\n      font-size: 1.35rem;\n      font-weight: 600;\n      color: #1e293b;\n      margin-top: 1.75rem;\n      margin-bottom: 0.75rem;\n    }\n    .tech-article-wrapper p {\n      margin-bottom: 1.25rem;\n      font-size: 1.05rem;\n    }\n    .tech-lead {\n      font-size: 1.2rem !important;\n      font-weight: 400;\n      color: #475569;\n      margin-bottom: 2rem;\n      border-left: 4px solid #3b82f6;\n      padding-left: 1rem;\n      background: #f8fafc;\n      padding-top: 0.75rem;\n      padding-bottom: 0.75rem;\n      border-radius: 0 8px 8px 0;\n    }\n    .tech-code-box {\n      background: #0f172a;\n      border-radius: 10px;\n      margin: 1.25rem 0;\n      overflow: hidden;\n      box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);\n    }\n    .tech-code-header {\n      background: #1e293b;\n      padding: 8px 16px;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      font-size: 0.8rem;\n      color: #94a3b8;\n      text-transform: uppercase;\n      letter-spacing: 0.05em;\n      font-weight: 600;\n      border-bottom: 1px solid #334155;\n    }\n    .tech-code-header .dots {\n      display: flex;\n      gap: 6px;\n    }\n    .tech-code-header .dot {\n      width: 10px;\n      height: 10px;\n      border-radius: 50%;\n    }\n    .dot-red { background: #ef4444; }\n    .dot-yellow { background: #f59e0b; }\n    .dot-green { background: #10b981; }\n    .tech-code-box pre {\n      margin: 0;\n      padding: 16px 20px;\n      overflow-x: auto;\n      background: transparent;\n      color: #f8fafc;\n      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n      font-size: 0.95rem;\n      line-height: 1.5;\n    }\n    .tech-code-box code {\n      background: transparent !important;\n      padding: 0 !important;\n      color: inherit;\n    }\n    .cmd-prompt {\n      color: #38bdf8;\n      user-select: none;\n    }\n    .cmd-comment {\n      color: #64748b;\n      font-style: italic;\n    }\n    .tech-callout {\n      border-radius: 10px;\n      padding: 18px 20px;\n      margin: 1.5rem 0;\n      display: flex;\n      gap: 14px;\n      align-items: flex-start;\n    }\n    .callout-warning {\n      background: #fffbeb;\n      border-left: 5px solid #f59e0b;\n      color: #92400e;\n    }\n    .callout-info {\n      background: #eff6ff;\n      border-left: 5px solid #3b82f6;\n      color: #1e40af;\n    }\n    .callout-icon {\n      font-size: 1.4rem;\n      line-height: 1;\n      flex-shrink: 0;\n    }\n    .tech-table {\n      width: 100%;\n      border-collapse: separate;\n      border-spacing: 0;\n      margin: 1.5rem 0;\n      border-radius: 8px;\n      overflow: hidden;\n      border: 1px solid #e2e8f0;\n    }\n    .tech-table th {\n      background: #f1f5f9;\n      color: #1e293b;\n      font-weight: 600;\n      padding: 12px 16px;\n      text-align: left;\n      font-size: 0.95rem;\n      border-bottom: 2px solid #cbd5e1;\n    }\n    .tech-table td {\n      padding: 12px 16px;\n      font-size: 0.95rem;\n      border-bottom: 1px solid #f1f5f9;\n    }\n    .tech-table tr:last-child td {\n      border-bottom: none;\n    }\n    .tech-table tr:hover td {\n      background: #f8fafc;\n    }\n    .badge {\n      display: inline-block;\n      padding: 2px 8px;\n      border-radius: 6px;\n      font-size: 0.82rem;\n      font-weight: 600;\n      background: #e2e8f0;\n      color: #334155;\n      font-family: ui-monospace, monospace;\n    }\n  <\/style>\n\n  <p class=\"tech-lead\">\n    Awaria dysku to jeden z najgorszych scenariuszy dla administratora lub u\u017cytkownika systemu Linux. Na szcz\u0119\u015bcie system oferuje pot\u0119\u017cne, wbudowane narz\u0119dzia, kt\u00f3re pozwalaj\u0105 naprawi\u0107 system plik\u00f3w, zbada\u0107 stan fizyczny no\u015bnika oraz skonfigurowa\u0107 automatyczne alerty e-mail, zanim dojdzie do utraty danych.\n  <\/p>\n\n  <!-- SEKCJA 1: FSCK -->\n  <h2><span>\ud83d\udee0\ufe0f<\/span> 1. Sprawdzanie i naprawa systemu plik\u00f3w: fsck<\/h2>\n  <p>\n    Narz\u0119dzie <strong>fsck<\/strong> (<em>File System Consistency Check<\/em>) odpowiada za integralno\u015b\u0107 logiczn\u0105: sprawdza b\u0142\u0119dy w strukturze katalog\u00f3w, uszkodzone metadane czy osierocone w\u0119z\u0142y (inodes).\n  <\/p>\n\n  <div class=\"tech-callout callout-warning\">\n    <div class=\"callout-icon\">\u26a0\ufe0f<\/div>\n    <div>\n      <strong>Z\u0142ota zasada bezpiecze\u0144stwa:<\/strong> Nigdy nie uruchamiaj <code>fsck<\/code> na podmontowanej (aktywnej) partycji! Mo\u017ce to doprowadzi\u0107 do nieodwracalnego uszkodzenia struktury danych. Zawsze najpierw j\u0105 odmontuj lub u\u017cyj trybu Live USB.\n    <\/div>\n  <\/div>\n\n  <h3>Krok po kroku:<\/h3>\n  <p><strong>1. Zidentyfikuj i odmontuj partycj\u0119:<\/strong><\/p>\n\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-prompt\">$<\/span> lsblk\n<span class=\"cmd-comment\"># Odmontowujemy docelowy wolumen (np. \/dev\/sdb1)<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo umount \/dev\/sdb1<\/code><\/pre>\n  <\/div>\n\n  <p><strong>2. Przeskanuj i napraw partycj\u0119:<\/strong><\/p>\n\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-comment\"># Standardowe sprawdzanie z pytaniami o napraw\u0119<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo fsck \/dev\/sdb1\n\n<span class=\"cmd-comment\"># Opcjonalnie: automatyczne zatwierdzanie napraw (flaga -y)<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo fsck -y \/dev\/sdb1<\/code><\/pre>\n  <\/div>\n\n  <p>Po zako\u0144czeniu naprawy mo\u017cesz bezpiecznie podmontowa\u0107 dysk z powrotem:<\/p>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-prompt\">$<\/span> sudo mount \/dev\/sdb1 \/punkt\/montowania<\/code><\/pre>\n  <\/div>\n\n  <!-- SEKCJA 2: SMARTCTL -->\n  <h2><span>\ud83e\ude7a<\/span> 2. Diagnoza kondycji fizycznej: S.M.A.R.T. i smartctl<\/h2>\n  <p>\n    Nawet bezb\u0142\u0119dny system plik\u00f3w nie pomo\u017ce, je\u015bli zu\u017cy\u0142y si\u0119 kom\u00f3rki pami\u0119ci SSD lub talerz HDD ma uszkodzone sektory fizyczne. Do badania parametr\u00f3w elektroniki i zu\u017cycia s\u0142u\u017cy pakiet <strong>smartmontools<\/strong>. Co wa\u017cne, mo\u017cna go bezpiecznie u\u017cywa\u0107 podczas normalnej pracy systemu.\n  <\/p>\n\n  <h3>Instalacja<\/h3>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>Terminal<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-comment\"># Debian \/ Ubuntu \/ Mint<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo apt install smartmontools\n\n<span class=\"cmd-comment\"># Fedora \/ RHEL<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo dnf install smartmontools\n\n<span class=\"cmd-comment\"># Arch Linux<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo pacman -S smartmontools<\/code><\/pre>\n  <\/div>\n\n  <div class=\"tech-callout callout-info\">\n    <div class=\"callout-icon\">\ud83d\udca1<\/div>\n    <div>\n      W testach S.M.A.R.T. operujemy na <strong>ca\u0142ym urz\u0105dzeniu fizycznym<\/strong> (np. <code>\/dev\/sda<\/code> lub <code>\/dev\/nvme0n1<\/code>), a nie na pojedynczych partycjach (jak <code>sda1<\/code>).\n    <\/div>\n  <\/div>\n\n  <h3>Szybki test stanu (Health Check)<\/h3>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-prompt\">$<\/span> sudo smartctl -H \/dev\/sda<\/code><\/pre>\n  <\/div>\n  <p>\n    Wynik <span class=\"badge\" style=\"background:#dcfce7; color:#166534;\">PASSED<\/span> oznacza brak wykrytych problem\u00f3w krytycznych. Status <span class=\"badge\" style=\"background:#fee2e2; color:#991b1b;\">FAILED<\/span> to znak, \u017ce no\u015bnik mo\u017ce pa\u015b\u0107 w ka\u017cdej chwili \u2013 natychmiast zr\u00f3b kopi\u0119 zapasow\u0105!\n  <\/p>\n\n  <h3>Kluczowe parametry zu\u017cycia<\/h3>\n  <p>Aby wy\u015bwietli\u0107 pe\u0142n\u0105 tabel\u0119 atrybut\u00f3w, u\u017cyj prze\u0142\u0105cznika <code>-A<\/code>:<\/p>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-prompt\">$<\/span> sudo smartctl -A \/dev\/sda       <span class=\"cmd-comment\"># Dla dysk\u00f3w SATA (HDD\/SSD)<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo smartctl -A \/dev\/nvme0n1   <span class=\"cmd-comment\"># Dla dysk\u00f3w NVMe<\/span><\/code><\/pre>\n  <\/div>\n\n  <table class=\"tech-table\">\n    <thead>\n      <tr>\n        <th>Typ no\u015bnika<\/th>\n        <th>Atrybut<\/th>\n        <th>Na co zwr\u00f3ci\u0107 uwag\u0119?<\/th>\n      <\/tr>\n    <\/thead>\n    <tbody>\n      <tr>\n        <td><strong>SATA (HDD\/SSD)<\/strong><\/td>\n        <td><code>5 Reallocated_Sector_Ct<\/code><\/td>\n        <td>Bad sektory zast\u0105pione zapasowymi. Warto\u015b\u0107 RAW > 0 oznacza degradacj\u0119.<\/td>\n      <\/tr>\n      <tr>\n        <td><strong>SATA (HDD)<\/strong><\/td>\n        <td><code>197 Current_Pending_Sector<\/code><\/td>\n        <td>Sektory niestabilne, oczekuj\u0105ce na procedur\u0119 remapowania.<\/td>\n      <\/tr>\n      <tr>\n        <td><strong>SATA SSD<\/strong><\/td>\n        <td><code>Media_Wearout_Indicator<\/code><\/td>\n        <td>Procentowy wska\u017anik pozosta\u0142ej \u017cywotno\u015bci kom\u00f3rek NAND.<\/td>\n      <\/tr>\n      <tr>\n        <td><strong>NVMe<\/strong><\/td>\n        <td><code>Percentage Used<\/code><\/td>\n        <td>Zu\u017cycie szacunkowe dysku (0% = fabrycznie nowy).<\/td>\n      <\/tr>\n      <tr>\n        <td><strong>NVMe<\/strong><\/td>\n        <td><code>Available Spare<\/code><\/td>\n        <td>Pula kom\u00f3rek zapasowych; spadek poni\u017cej progu to sygna\u0142 ostrzegawczy.<\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n\n  <h3>Wymuszenie autotestu wewn\u0119trznego<\/h3>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-comment\"># Kr\u00f3tki test (1\u20132 minuty)<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo smartctl -t short \/dev\/sda\n\n<span class=\"cmd-comment\"># D\u0142ugi, szczeg\u00f3\u0142owy test powierzchni<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo smartctl -t long \/dev\/sda\n\n<span class=\"cmd-comment\"># Sprawdzenie historii i wynik\u00f3w test\u00f3w<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo smartctl -l selftest \/dev\/sda<\/code><\/pre>\n  <\/div>\n\n  <!-- SEKCJA 3: SMARTD -->\n  <h2><span>\ud83d\udd14<\/span> 3. Automatyzacja: Alerty e-mail z demonem smartd<\/h2>\n  <p>\n    R\u0119czne sprawdzanie stanu dysk\u00f3w bywa uci\u0105\u017cliwe. Us\u0142uga <strong>smartd<\/strong> monitoruje parametry w tle 24\/7 i wysy\u0142a powiadomienie na Tw\u00f3j adres e-mail, gdy tylko wykryje niepokoj\u0105ce objawy.\n  <\/p>\n\n  <h3>Konfiguracja monitorowania<\/h3>\n  <p>Otw\u00f3rz g\u0142\u00f3wny plik konfiguracyjny us\u0142ugi:<\/p>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-prompt\">$<\/span> sudo nano \/etc\/smartd.conf<\/code><\/pre>\n  <\/div>\n\n  <p>Zamie\u0144 domy\u015bln\u0105 dyrektyw\u0119 <code>DEVICESCAN<\/code> poni\u017csz\u0105 regu\u0142\u0105 produkcyjn\u0105:<\/p>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>smartd.conf<\/span>\n    <\/div>\n    <pre><code>DEVICESCAN -a -o on -S on -n standby,q -s (S\/..\/..\/.\/02|L\/..\/..\/6\/03) -m twoj_email@domena.pl -M test<\/code><\/pre>\n  <\/div>\n\n  <p><strong>Wyja\u015bnienie parametr\u00f3w:<\/strong><\/p>\n  <ul>\n    <li><code>-a<\/code> \u2014 w\u0142\u0105cza pe\u0142en zestaw metryk diagnostycznych.<\/li>\n    <li><code>-n standby,q<\/code> \u2014 nie wybudza dysk\u00f3w z trybu u\u015bpienia (oszcz\u0119dza energi\u0119 HDD).<\/li>\n    <li><code>-s (S\/..\/..\/.\/02|L\/..\/..\/6\/03)<\/code> \u2014 automatyczny harmonogram: kr\u00f3tki test codziennie o 2:00 w nocy oraz d\u0142ugi test w ka\u017cd\u0105 sobot\u0119 o 3:00.<\/li>\n    <li><code>-m twoj_email@domena.pl<\/code> \u2014 adres docelowy powiadomie\u0144.<\/li>\n    <li><code>-M test<\/code> \u2014 <em>(tylko przy pierwszym starcie)<\/em> wymusza natychmiastowe wys\u0142anie maila pr\u00f3bnego w celu weryfikacji konfiguracji.<\/li>\n  <\/ul>\n\n  <h3>Start i weryfikacja demona<\/h3>\n  <div class=\"tech-code-box\">\n    <div class=\"tech-code-header\">\n      <div class=\"dots\"><span class=\"dot dot-red\"><\/span><span class=\"dot dot-yellow\"><\/span><span class=\"dot dot-green\"><\/span><\/div>\n      <span>BASH<\/span>\n    <\/div>\n    <pre><code><span class=\"cmd-comment\"># Uruchomienie i dodanie do autostartu<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo systemctl restart smartd\n<span class=\"cmd-prompt\">$<\/span> sudo systemctl enable smartd\n\n<span class=\"cmd-comment\"># Kontrola statusu<\/span>\n<span class=\"cmd-prompt\">$<\/span> sudo systemctl status smartd<\/code><\/pre>\n  <\/div>\n\n  <div class=\"tech-callout callout-info\">\n    <div class=\"callout-icon\">\u2709\ufe0f<\/div>\n    <div>\n      Gdy otrzymasz powiadomienie testowe na swoj\u0105 skrzynk\u0119, wyedytuj plik <code>\/etc\/smartd.conf<\/code>, usu\u0144 flag\u0119 <code>-M test<\/code> i zrestartuj us\u0142ug\u0119 poleceniem <code>sudo systemctl restart smartd<\/code>. Od teraz e-maile b\u0119d\u0105 przychodzi\u0107 wy\u0142\u0105cznie w razie rzeczywistych anomalii.\n    <\/div>\n  <\/div>\n\n  <hr style=\"border: 0; height: 1px; background: #e2e8f0; margin: 3rem 0 1.5rem 0;\" \/>\n  <p style=\"font-size: 0.95rem; color: #64748b; text-align: center;\">\n    <em>Dbaj o regularne kopie zapasowe \u2013 nawet najlepsze narz\u0119dzia diagnostyczne nie zast\u0105pi\u0105 bezpiecznego backupu 3-2-1!<\/em>\n  <\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Awaria dysku to jeden z najgorszych scenariuszy dla administratora lub u\u017cytkownika systemu Linux. Na szcz\u0119\u015bcie system oferuje pot\u0119\u017cne, wbudowane narz\u0119dzia,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,44],"tags":[50,46,49,51],"class_list":["post-142","post","type-post","status-publish","format-standard","hentry","category-linux","category-proxmox","tag-badblock","tag-debian","tag-linux","tag-smartmontools"],"_links":{"self":[{"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/posts\/142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/comments?post=142"}],"version-history":[{"count":1,"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/posts\/142\/revisions"}],"predecessor-version":[{"id":143,"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/posts\/142\/revisions\/143"}],"wp:attachment":[{"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/media?parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/categories?post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sla.ovh\/index.php\/wp-json\/wp\/v2\/tags?post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}