۱-
در پارتیشن ریشه سیستم من در sda3 ،
۲۱ پوشه و ۴ فایل ، در اولین نگاه در پنجره اول فایل منیجر مربوط به این پارتیشن وجود دارد.
نام پوشه ها: var ، usr ، tmp ، sys ، srv ، sbin ، run ، root ، proc ، opt ، mnt ، media ، libx32 ، lib64 ، lib32 ، lib ، home ، etc ، dev ، boot ، bin
نام فایل ها : vmlinuz.old ، vmlinuz ، initrd.img.old ، initrd.img
چرا این پوشه ها خالی هستند؟ : srv ، opt ، libx32 ، lib32 ،
فایلهای vmlinuz و vmlinuz.old، به ترتیب لینک به فایل جدیدترین کرنل نصب شده و کرنل قبلی، توی /boot/ هستند. اگه فقط یه کرنل داشته باشید، هر دو فایل به همون کرنل نصب شده، لینک میشن.
initrd.img و initrd.img.old هم شبیه بالا هستند. یعنی initrd.img به فایل initramfs مربوط به جدیدترین کرنل، و initrd.img.old به فایل initramfs مربوط به کرنل قبلی لینک شده. اگه فقط یه کرنل داشته باشید، اصولا باید یه initramfs موجود باشه. در نتیجه initrd.img و initrd.img old هر دو به initramfs مربوط به کرنل نصب شده، لینک میشن.
دایرکتوری srv معمولا توسط برنامههایی استفاده میشن که قراره به کامپیوترهای دیگه، خدمت بدند. مثلا ممکنه وبسرور (برای مثال nginx) نصب کرده باشید. در این حالت میتونید فایلهای مربوط به وبسایتها رو توی srv ذخیره کنید. ممکنه یه سرویسِ پایگاه داده مثل mariadb روی کامپیوتر شما باشه، در این حالت میتونید دادهها رو توی srv ذخیره کنید.
دایرکتوری opt برای این هست تا نرمافزارهای خارج از مخازن، اونجا نصب بشن. برای مثال matlab توی مخازن نیست و وقتی نصبش میکنید، فایلهای خودش رو داخل /opt/ میذاره.
دایرکتوریهای lib32 و libx32 به این دلیل خالی هستند چون کتابخانه یا نرمافزار 32 بیتی ندارید. اگه کتابخانههای 32 بیتی رو نصب کنید، احتمالا فایلهای اونها توی /lib32/ قرار میگیره.
اگه معماری پردازنده شما نسخه 64 بیتی x86 باشه، میتونه برنامههایی که برای نسخه 32 بیتی و 16 بیتی معماری x86 کامپایل شدند رو هم اجرا کنه. نسخه 32 بیتی معماری x86، توی اکثر سیستمعاملهای آزاد، با اسم i386 یا i686 شناخته میشه. نسخه 64 بیتی همین معماری تکی سیستمعاملهای آزاد، معمولا amd64 نام داره.
با اضافه کردن معماری i386 به لیستِ معماریهای dpkg، میتونید با apt، نسخه 32 بیتی کتابخانهها و برنامهها رو از مخارن دریافت کنید.
میتونید با این دستور، معماری i386 رو به اون لیست اضافه کنید.
sudo dpkg --add-architecture i386
بعد لیست مخازن رو بروز کنید و میتونید نسخه 32 بیتی بستهها رو از مخازن نصب کنید.
sudo apt update
میتونید معماریها رو از لیست dpkg حذف کنید. مثلا برای i386، اینجوری:
sudo dpkg --remove-architecture i386
اگه سعی کنید یه معماری که وجود نداره رو به لیست dpkg اضافه کنید، خطایی نمیگیرید و بدون مشکل اضافه میشه. اما در ادامه، apt اخطار میده که نمیتونه چیزی مرتبط با اون معماری، توی مخازن پیدا کنه.
اگه سعی کنید یه معماری که تو لیست dpkg نیست رو پاک کنید، dpkg خطا میده که نمیتونه اون رو پاک کنه.
به روش بالا میتونید معماریهای دیگهای که توسط دبیان پشتیبانی میشه (مثل arm64 یا s390x) ولی برنامههایی که مربوط به اون معماری هستند، روی سیستم شما اجرا نمیشن چون پردازنده شما نمیتونه اونها رو اجرا کنه. ممکنه حتی نصب اون بستهها با موفقیت انجام نشه.
اگه یه بسته برای چنتا معماری وجود داشته باشه، (توی دبیان اکثر بستهها اینجوری هستند.) معمولا نسخهای نصب میشه که با معماری پردازنده هماهنگ هست. میتونید با نوشتن یه دو نقطه و بعد معماری مورد نظر بعد از اسم بسته، از apt بخواهید که نسخه مربوط به یه معماری خاص رو نصب کنه. مثلا دستور زیر، نسخهای از tor رو نصب میکنه که مربوط به معماری i386 هست.
sudo apt install tor:i386
دقت کنید که معمولا، نمیتونید چندین نسخه برای معماریهای مختلف از یه بسته رو همزمان نصب کنید. مثلا نسخهای از بسته tor که مربوط به معماری i386 هست، با نسخهای از tor که مربوط به معماری amd64 هست، تداخل داره و با نصب یکی، اون یکی پاک میشه.
البته بعضی کتابخانهها، چندین نسخه برای چندین معماری دارند و تداخلی با هم ایجاد نمیکنند.
الان، معمولا لازم نیست پشتیبانی از معماری i386 رو توی dpkg، روی سیستمهایی که پردازنده با معماری amd64 دارند، فعال کنید.
م.ه اینکه بخواهید steam یا بازیهای انحصاری رو نصب کنید. اکثر بازیهای انحصاری، به کتابخانههای 32 بیتی نیاز دارند. steam هم کلا 32 بیتی هست. حداقل توی گنو/لینوکس.
۲-
وقتیکه با نرم افزار timeshift ، از سیستم snapshot می گیرم ، علاوه بر پوشه های بالایی، این پوشه ها هم خالی هستند، چرا timeshift از فایل های درون این پوشه ها هم نسخه پشتیبان تهیه نمی کند، عبارتند از : tmp ، sys ، run ، proc ، mnt ، media ، dev
( بنظر خودم پوشه media برای mount سی دی رام بکار رفته و پوشه mnt برای mount پارتیشن ها و tmp هم برای قرارگیری فایل های موقت ،به این علت timeshift آنها را خالی نگه داشته، اگر این یکی ها را درست گفته باشم، پوشه های بعدی را نمی دانم.)
media و mnt معمولا برای سوار کردن فایلسیستمها به طور موثتی، وقتی که میخواهید یه کاری با اونها انجام بدید، استفاده میشن. معمولا سوار کردنهایی که از طریق مدیر فایل یا محیط گرافیکی انجام میدید، روی یه دایرکتوری، داخل یه دایرکتوری دیکه به اسم کاربر شما، داخل /media/ انجام میشه.
مثلا اگه یه فایلسیستم با یه label برابر Movies وجود داشته باشه و شما با کاربر myuser وارد شده باشید و از طریق محیط گرافیکی اون فایلسیستم رو سوار کنید، محل سوار شدنش میتونه این باشه:
/media/myuser/Movies
ممکنه نام دایرکتوری آخر، برابر uuid فایلسیستم مورد نظر باشه. ممکنه چیزهای مختلفی باشه. بستگی داره کدوم از اونها همراه فایلسیستم وجود داشته باشه.
/mnt/ معمولا برای سوار کردن دستی فایلسیستمها استفاده میشه.
/tmp/ هم مشخصه چرا توی snapshot ها نیست. فایلهای موقتی اونجا ذخیره میشن و دلیل خاصی نیست تا اونها رو همراه snapshot ها داشته باشیم.
روی /run/ /dev/ /sys/ و /proc/، فایلسیستمهای مجازی سوار میشه تا بشه از فضای کاربر (user space) تا حدودی به کرنل دسترسی داشت. محتویات اونها، موقع بالا اومدن کرنل تعیین میشه و میتونه در اثر قطع و وصل کردن سختافزارها یا تغییرات تنظیمات یا برنامههای مختلف، تغییر کنه. اطلاعات توی اون دایرکتوریها، موقتی هست و با راهاندازی مجدد، از بین میره. اون اطلاعات همه روی رم ذخیره شدند. پس لازم نیست اونها رو همراه snapshot ها داشته باشیم.
به غیر از این، فکر کنم چون هر کدون از اون دایرکتوریها یه محل سوار شدن (mountpoint) حساب میشن، timeshift در هر صورت اطلاعات اونها رو همراه snapshot ها ذخیره نمیکرد.
-
وقتیکه در محیط لایو از پارتیشن ریشه سیستم من در sda3 می خواهم ، copy and paste ، نمایم خطای عکس پایینی را می دهد.
هر چند که اکثریت فایل ها کپی می شوند ، ولی می خواستم علت این خطا را بدانم و همچنین می خواستم بدانم چه فایل هایی کپی نمی شوند؟
آیا این فایل هایی که از این طریق کپی نمی شوند در فرایند پشتیبان گیری و زمانیکه سیستم را بخواهیم restore نمایم مهمند و بایستی باشند؟
در محیط لایو و در خط فرمان با چه دستوری سیستم را می توانم ملزم به کپی گیری از آنها را نیز نمایم؟
به نظر میاد نتونسته چندین فایل که از نوع خاص هستند (احتمالا block special) رو کپی کنه. اگه روی show more detailes میزدید، احتمالا اطلاعات بیشتری میداد. مثل اینکه چرا نتونسته کپی کنه یا چه فایلهایی بودن که این اتفاق برای اونها افتاده.