කොහොමද ඇත /tmp
බහලුම පිරිසිදු? එය ස්වයංක්රීයද? එසේ නම්, එය කොපමණ වාරයක් පිරිසිදු කරන්නේද?
කොහොමද ඇත /tmp
බහලුම පිරිසිදු? එය ස්වයංක්රීයද? එසේ නම්, එය කොපමණ වාරයක් පිරිසිදු කරන්නේද?
Answers:
සටහන! අවම වශයෙන් උබුන්ටු 14.04 සිට මෙම පිළිතුර යල් පැන ඇත. වර්තමාන තත්වය සඳහා වෙනත් පිළිතුරු බලන්න. ඒවා නිවැරදි බව ඔප්පු වුවහොත් ඒවා කෝපයෙන් ඉහළට ඔසවන්න. වර්තමාන නිවැරදි පිළිතුරට සබැඳියක් තැබීමට මට අදහස් දක්වන්න.
14.04 සඳහා https://askubuntu.com/a/759048/1366 බලන්න
16.10 සඳහා https://askubuntu.com/a/857154/453746 බලන්න
2011 සිට පැරණි පිළිතුර:
පිරිසිදු කිරීම /tmp
සිදු කරනු ලබන්නේ උඩුමහලේ පිටපතෙනි /etc/init/mounted-tmp.conf
. ස්ක්රිප්ට් එක /tmp
සවිකරන සෑම අවස්ථාවකම ඉහළට ක්රියාත්මක වේ. ප්රායෝගිකව එයින් අදහස් වන්නේ සෑම ඇරඹුමකදීම ය.
ස්ක්රිප්ට් දළ වශයෙන් පහත සඳහන් දේ කරයි: ගොනුවක් දින /tmp
වලට වඩා පැරණි $TMPTIME
නම් එය මකා දැමෙනු ඇත.
හි පෙරනිමි අගය $TMPTIME
0 වේ, එයින් අදහස් කරන්නේ සෑම ගොනුවක්ම සහ නාමාවලිය /tmp
මකා දැමෙනු ඇති බවයි. $TMPTIME
යනු පරිසර විචල්යයකි /etc/default/rcS
.
සෑම ඇරඹුමකදීම නාමාවලිය පෙරනිමියෙන් නිෂ්කාශනය වේ, මන්ද TMPTIME
පෙරනිමියෙන් 0 වේ.
මෙන්න ඔබට පහත ගොනුවේ කාලය වෙනස් කළ හැකිය:
/etc/default/rcS
TMPTIME
දින ගණනක් තුළ ටී.එම්.පී.
tmpreaper
අවස්ථාවක් ලබා දිය යුතුය .
tmpwatch
සුදුසු මෙවලමක් විය යුතුය.
කරන අතර /tmp
ෆෝල්ඩරය දිගු කාලීන ගබඩා ගොනු කිරීමට තැනක් නොවේ, ඉඳහිට ඔබ වඩා ටිකක් වැඩි කාලයක් දේවල් තබා ගැනීමට අවශ්ය ඔබ නැවත ආරම්භ ඊළඟ වතාවේ උබුන්ටු පද්ධති මත පෙරනිමි වන. /tmp
පරීක්ෂණය අතරතුරදී මම යමක් බාගත කර , වෙනස්කම් සිදු කිරීමෙන් පසු නැවත ආරම්භ කර නැවත මුල් දත්ත නැති වූ බව මම දනිමි . ඔබගේ /tmp
ලිපිගොනු තව ටිකක් කල් තබා ගැනීමට ඔබ කැමති නම් මෙය වෙනස් කළ හැකිය .
/tmp
පිරිසිදු කිරීමේ සංඛ්යාතය වෙනස් කිරීම
/tmp
නැවත පණගැන්වීමේදී ඔබේ පද්ධතියට ඉවත් කිරීමට පවසන පෙරනිමි සැකසුම /etc/default/rcS
ගොනුවේ රඳවා ඇත . අපි බලමු වටිනාකම TMPTIME
.
TMPTIME=0
ගොනුවේ වයස නොතකා නැවත පණගැන්වීමේදී ලිපිගොනු මකන්න යැයි කියනු ලබන වත්මන් වටිනාකම . මෙම අගය වෙනත් (ධනාත්මක) අංකයකට වෙනස් කිරීමෙන් ගොනුවකට පැවතිය හැකි දින ගණන වෙනස් වේ /tmp
.
TMPTIME=7
මෙම සිටුවම මඟින් ලිපිගොනු /tmp
සතියක් වයසැති වන තෙක් රැඳී සිටීමට ඉඩ ලබා දෙන අතර ඊළඟ නැවත පණගැන්වීමේදී ඒවා මකා දමනු ඇත . Negative ණ සංඛ්යාවක් ( TMPTIME=-1
) පද්ධතියට පවසන්නේ කිසි විටෙකත් කිසිවක් මකා නොදමන ලෙසයි /tmp
. මෙය බොහෝ විට ඔබට අවශ්ය දෙයක් නොව, ලබා ගත හැකිය.
/etc/init/mounted-temp.conf
, නමුත් එය start on mounted MOUNTPOINT=/tmp
අදාළ නොවන බව මා සිතන රේඛාවක් ඇත.
/var/tmp
වෙනුවට එය දමන්න /tmp
.
මම මෙය උබුන්ටු 16.10 හි පරීක්ෂා කරමි. සංස්කරණය කිරීම / etc / default / rcS තවදුරටත් කිසිදු බලපෑමක් නොකරන බව මට සහතික කළ හැකි අතර, ඔබ එම ගොනුවේ දැමූ දේ කුමක් වුවත් tmp හි ඇති ගොනු නැවත පණගැන්වීමෙන් අතුගා දමනු ලැබේ. අනෙක් අය සඳහන් කරන පරිදි, tmpreaper තවදුරටත් භාවිතා නොවේ.
මම හිතන්නේ නිවැරදි පිළිතුර උබුන්ටු 16.10 හි නව සැකසුමක් ඇති බවයි. "Tmpfiles.d" නම් පිටුවේ ලේඛනගත කර ඇති /etc/tmpfiles.d ෆෝල්ඩරයක් ඇත. එම ෆෝල්ඩරයේ, / tmp මකා දැමිය යුතුද යන්න පාලනය කිරීම සඳහා වින්යාස ගොනුවක් තැබිය යුතුය. දින 20 ක් පැරණි නම් මිස / tmp තුළ ගොනු නැවත මකා දැමීම නැවැත්වීමට මම මෙය කරන්නේ:
#/etc/tmpfiles.d/tmp.conf
d /tmp 1777 root root 20d
ඔබට කිසි විටෙකත් ලිපිගොනු මකා දැමීමට අවශ්ය නැතිනම් "20d" වෙනුවට "-" ආදේශ කරන්න. මෙය මගේ හොඳම උත්සාහයයි, එම මිනිසා පිටුව විස්තරාත්මකව කිව නොහැකි තරම්ය.
නව සැකසුමෙහි ඇති වාසිය නම් පද්ධතිය නැවත ආරම්භ කර නොතිබුණද ගොනු පිරිසිදු කරන්නෙකුට තවමත් ක්රියාත්මක විය හැකි වීමයි (සෑම විටම සේවාදායකයේ මෙන්). ඒක ලොකු ප්ලස් එකක්, මම හිතන්නේ.
man tmpfiles.d
d /tmp/ - - - 20d
systemctl start systemd-tmpfiles-clean
උබුන්ටු 14.04 හි මෙය සිදු කරනු ලැබේ tmpreaper
, එය දිනපතා ක්රෝන් (වෙතින් /etc/cron.daily
) ලෙස හැඳින්වේ . වැඩසටහන හරහා /etc/default/rcS
සහ වින්යාසගත කළ හැකිය /etc/tmpreaper.conf
.
ඔබ නැවත ආරම්භ කරන සෑම අවස්ථාවකම එය පිරිසිදු වේ.
tmpreaper
.
දී systemd
උබුන්ටු (15.10 සහ නව), මෙය භාවිතා systemd විසින් සිදු කරනු ලබයි systemd-tmpfiles-clean
සේවා සහ කාල ඝනක:
$ systemctl cat systemd-tmpfiles-clean.service
# /lib/systemd/system/systemd-tmpfiles-clean.service
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no
Conflicts=shutdown.target
After=local-fs.target time-sync.target
Before=shutdown.target
[Service]
Type=oneshot
ExecStart=/bin/systemd-tmpfiles --clean
IOSchedulingClass=idle
හා
$ systemctl cat systemd-tmpfiles-clean.timer
# /lib/systemd/system/systemd-tmpfiles-clean.timer
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Daily Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
එබැවින් systemd-tmpfiles-clean
වසා දැමීමේදී ක්රියාත්මක වන අතර දිනකට එක් වරක් වෙනත් ආකාරයකින්. එය පිරිසිදු කරන ලිපිගොනු වෙනත් පිළිතුරක/etc/tmpfiles.d
සඳහන් කර දිගු කළ හැකිය .
ඔබට ටයිමර් හැසිරීම වෙනස් systemctl edit systemd-tmpfiles-clean.timer
කර විවිධ පද්ධති Timer
වින්යාස විකල්ප භාවිතා කළ හැකිය (බලන්න man 5 systemd.timer
).
/tmp
තවමත් පිරිසිදු නොකිරීමයි. මට එය පිරිසිදු කිරීමට අවශ්යයි. අතින් ආරම්භ කිරීම පවා sudo systemctl start systemd-tmpfiles-clean
උපක්රමය නොකරයි. කිසියම් අදහසක් ඇයි?
උබුන්ටු ධාවනය වන අපගේ එක් සේවාදායකයක, / tmp හි ගොනු ඉවත් කිරීමට අපට ස්ක්රිප්ට් එකක් ඇති අතර එය රාත්රියේ ක්රියාත්මක වේ.
පිටපත:
#!/bin/sh
# Clean file and dirs more than 3 days old in /tmp nightly
/usr/bin/find /tmp -type f -atime +2 -mtime +2 |xargs /bin/rm -f &&
/usr/bin/find /tmp -type d -mtime +2 -exec /bin/rm -rf '{}' \; &&
/usr/bin/find /tmp -type l -ctime +2 |xargs /bin/rm -f &&
/usr/bin/find -L /tmp -mtime +2 -print -exec rm -f {} \;
ඉහත අන්තර්ගතය chmod 775 ගොනුවකට සුරකින්න සහ එය ක්රියාත්මක කිරීම සඳහා ක්රෝන් ඇතුළත් කිරීමක් සාදන්න. මෙය වෙබ් සේවාදායකයක් බැවින් පැහැදිලි හේතු නිසා එය නැවත ආරම්භ කිරීමට අපට අවශ්ය නැත.
ln -s /usr /tmp/kaboom
හෝ හැකියාවක් ඇත ln -s /* /tmp/
...
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
/ etc / fstab එකට දැම්මා .