چ‌چ‌چ (۱) ‌: پوستهٔ POSIX چیست؟

POSIX که مخفف عبارت «‌رابط قابل حمل سیستم عامل‌» (Portable Operating System Interface) است نشانگر استانداردی به همین منظور است که به شماره P۱۰۰۳. ۲ در IEEE به ثبت رسیده است‌. (‌طبق اطلاعات ویکی‌پدیا این نام توسط ریچارد استالمن انتخاب شده است‌.)

با استفاده از این استاندارد می‌توان امکان هماهنگ‌سازی‌، ارتباط و پرت کردن (‌انتقال‌) آسان‌تر نرم‌افزار را در محیط‌های تابع این استاندارد به وجود آورد‌. و می‌توان گفت که این استاندارد به منظور استفادهٔ برنامه‌نویسان ابزار‌های کاربردی و مدیران سیستم تهیه شده است‌.

پوستهٔ POSIX برای بسیاری از سیستم‌عامل‌های شبه یونیکس پیاده سازی شده است‌. در این رابطه می‌توانید به نقل قول زیر از ویکی‌پدیا توجه فرمایید‌:

برخی از سیستم‌عامل‌های کاملا سازگار با پازیکس عبارت هستند از BSD/OS، HP-UX، مک اواس ده، می‌نیکس و سولاریس و OpenSolaris. لازم به ذکر است که سیستم‌عامل‌های فری بی‌اس‌دی، گنو/لینوکس، NetBSD، OpenBSD از جمله سیستم‌عامل‌هایی هستند که تا حد زیادی سازگاری با پازیکس را حفظ کرده‌اند.

بسیاری از ویژگی‌های پوستهٔ POSIX به پوستهٔ Korn شباهت دارد‌.

منبع

عشق لینوکسی (۱): چسباندن چند فایل PDF

قبلا برنامه‌هایی را برای ویندوز دیده بودم که چنین کاری می‌کردند‌، پس شروع به جستجو کردم‌، ولی با رسیدن به سایت محبوب Linux.com با یک ابزار ساده که اتفاقا روی اسلکورم نصب بود و از وجودش خبر نداشتم آشنا شدم‌. طبق گفته‌ی این مقاله تنها کافی بود از دستوری به شکل زیر استفاده کنم‌:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdffile1.pdf file2.pdf

و بله کار برایم به درستی جواب داد‌، اما در بعضی شرایط نتایج عجیبی در بر داشت‌! یکی از فایل‌هایی که می‌خواستم به بقیه بچسبانم‌، نوشته‌هایی با حاشیه رنگی داشت‌، در حین پروسه‌ی چسباندن‌، اخطار‌هایی با همین موضوع دریافت کردم و در okular برنامه‌ی نمایش PDF در KDE هم کادر رنگی نمایش داده می‌شد ولی خبری از نوشته‌ها نبود‌. من هم زیاد به خودم سختی ندادم و بی‌خیال این نوشته‌ها شدم‌، اما بعد از پرینت‌، دیدم که همه چیز سر جایش است‌!

بگذریم‌، بیایید نگاهی به آپشن‌های این دستور بیاندازیم‌:

gs

خوب کار این بخش که کاملا معلوم است‌، برنامه‌ی ghostscript را اجرا می‌کند‌.

-dBATCH

وقتی که برنامه یک بار فایل‌ها را پردازش کرد‌، باید بسته شود‌، اگر این آپشن را وارد نکرده باشید‌، برنامه همچنان به کارش ادامه می‌دهد‌.

-dNOPAUSE

ghostscript را مجبور می‌کند‌، بدون این که برای تعامل با کاربر pause شود به کارش ادامه دهد‌.

q

از نمایش پیغام‌ها در حین کار برنامه جلوگیری می‌کند‌.

-sDEVICE=pdfwrite

به ghostscript می‌فهماند از نویسنده‌ی PDF توکار ghostscript برای تولید فایل استفاده کند‌.

-sOutputFile=finished.pdf

این قابلیت را به دستورمان اضافه می‌کند که نام فایل خروجی را معین کنیم‌، در این‌جا نام فایل خروجی finished.pdf است‌.

در ادامه‌ی دستور هم که نام فایل‌های pdf مورد نظرتان را وارد می‌کنید‌. به نظرم بهتر است برای صرفه‌جویی در مصرف کیبورد فایل‌ها را در یک پوشه‌ی خالی کپی کرده و در این قسمت به جای نام فایل‌ها یک «*» قرار دهیم ;-)

پی نوشت‌: ناگفته نماند که در لینکی که در بالا گفتم‌، ابزارهای دیگری نیز معرفی شده است که دیدنشان خالی از لطف نیست‌!

نصب TeXLive بدون درد و خونریزی‌!

جوابتان از این قرار است که با وجود این که شما می‌توانید تک لایو را از روی مخازن یا در مورد اسلکور با اسلکبیلد نصب کنید‌، اما آپگرید کردن این بسته‌های نصب شده‌تان‌، وابسته به این می‌شود که این بسته‌ها روی همان مخازن آپگرید شوند‌! یعنی مراحل به روز رسانی برای بسته‌ای مثل  xepersian با این روش می‌شود‌، اول توسعه دهنده بسته‌، نسخه‌ی آخر را منتشر کند‌، سپس توزیعی مثل تک لایو‌، بسته را به آخرین نسخه‌ای که ذکرش رفت آپگرید کند‌ و در آخر توزیعتان‌، از آخرین نسخه تک لایو بسته‌ای بسازد‌‌! حالا فکر می‌کنید از مرحله اول تا سوم‌، توسعه دهنده‌ای مثل وفا خلیقی (‌توسعه دهنده‌ی xepersian ) چند نسخه‌ی به روز رسانی‌ ارائه کرده؟ جواب سنگین است‌، برای من‌، ۲۰ نسخه‌! پس احتمالا حالا‌، باید اهمیت این به روزرسانی را درک کرده باشید‌!

خوب حالا چگونه نصبش کنیم‌؟ با وضع اینترنت ما‌، به خصوص در هفته‌های اخیر‌، تنها انتخابمان همان iso است که از این لینک قابل دریافت است‌. حجمی برابر با ۲.۳ گیگابایت انتظارتان را می‌کشد‌ (‌البته مزیت این DVD این است که شما می‌توانید از آن برای نصب تکلایو روی انواع سیستم‌ها نظیر مک و ویندوز هم استفاده کنید‌). پس از دانلود بسته را از حالت iso خارج کنید‌. سلیقه خودتان است‌، یا می‌توانید روی یک فولدر دیگر Mount‌اش کنید‌، و یا مثل من خز بازی در آورده و با Ark اکسترکتش کنید‌. پس از باز کردن بسته به پوشه‌ی مربوطه بروید‌، و دستور زیر را وارد کنید‌.

sudo ./install-tl

خوب همان‌طور که پیداست با این کار اسکریپت نصب را فعال کرده‌اید‌. و با تایپ یکی دو حرف می‌توانید بسته را نصب کنید‌ (‌البته نه کاملا‌!). من ترجیح دادم که از محیط گرافیکی نصب استفاده کنم که یک پیشنیاز را باید نصب می‌کردم تا این محیط که با Perl نوشته شده اجرا شود‌. این پیشنیاز perl-tk نام دارد که اسلکوری‌ها می‌توانند از این اسلکبیلد استفاده کنند‌.

پس از نصب بسته‌ی ذکر شده‌، حالا همان دستور قبلی را با یک آپشن اضافی صدا می‌زنیم‌:

sudo ./install-tl -gui

می‌توانید تنظیمات مربوطه را ببینید‌، و در صورتی که نیاز بود جایی را تغییر دهید‌. نصب حدود یک ربع ساعت برای من طول کشید‌. پس از پایان نصب‌، در متن‌هایی که روی صفحه نمایش داده می‌شود (‌چه در حالتی که از محیط گرافیکی استفاده می‌کند باشید و چه در ترمینال‌، این متن را خواهید دید‌) به شما از بابت نصب تکلایو تبریک گفته می‌شود‌، و می‌خواهد که آدرس مربوط به فرامین تکلایو را به PATH سیستمتان اضافه کنید‌.

این آدرس برای من از این قرار بود‌:

/usr/localc/texlive/2011/bin/x86_64-linux/

این کار را می‌توانید با ویرایش فایل /etc/profile انجام دهید‌. خوب با خوشم خوشم‌های فراوان‌، از پس نصب تک لایو هم بر آمدیم که خوشبختانه تمام کار‌هایی که انتظار داشتم را درست انجام داد‌. حالا شاید بخواهید همین الان آپگرید کنید‌. برای به روز‌رسانی‌، شما از ابزاری به اسم texlive manager استفاده می‌کنید که با استفاده از یکی از دستورات زیر می‌توانید بهشان دسترسی داشته باشید‌:

tlmgr {for text mode}

tlmgr -gui {for graphical mode (recomended)}

آپگرید به آخرین نسخه‌ی تکلایو‌، حجم زیادی را برای اولین بار طلب می‌کند‌. روش جایگزین دیگری در این زمینه وجود دارد که در پست دیگری به آن می‌پردازم‌.

تغییر (تثبیت‌) اعلان خط فرمان اسلکور

[email protected] $

نشان داده می‌شد‌، اما وقتی مثلا در کنسول KDE یک Tab جدید باز می‌کردم‌، اعلان به صورت زیر تغییر می‌کرد که متاسفانه‌، هیچ قابلیت به درد بخوری در خود نداشت‌:

```bash

bash.4.?: $

این مشکل از وقتی که از برنامه Yakuake برای دسترسی راحت‌تر به ترمینال استفاده می‌کردم‌، بیشتر به چشم می‌آمد‌، و عملا تمامی اعلان فرمان‌هایش به همین شکل بود‌. پس تصمیم گرفتم یک بار برای همیشه‌، بی‌سوادی را کنار بگذارم و حلش کنم‌. مشکل به دو فایل زیر مربوط می‌شد‌:

/etc/bashrc

~/.bashrc

که متاسفانه هیچ‌کدامشان در اسلکور به صورت پیش‌فرض وجود نداشتند‌، و از قرار آن اعلان سالم اول کار هم از فایل HOSTNAME موجود در شاخه etc ‏استفاده می‌کرد‌. خوب پس کافی بود یکی از این فایل‌ها را بسازم‌، و از آن‌جایی که ساختن فایل دوم‌، به نظرم آسان‌تر آمد‌، با دستور vim ~/.bashrc اقدام به ساختنش کردم‌، و خط زیر را به آن اضافه کردم‌:

PS1="[[email protected]]$ "

ترمینال را یک بار بستم و باز کردم‌، و همه‌چیز خوب بود‌. حالا می‌ماند توضیحات این خط دوم‌:

  • ! : شماره فعلی تاریخچه فرمان را نشان میدهد.
  • # : شماره دستور آخرین دستور را نشان میدهد.
  • $ : اعلان فرمان استاندارد را نشان میدهد.
  • W : فقط دایرکتوری کاری جاری را نشان میدهد.
  • \ : فقط یک بک اسلش نشان داده میشود.
  • d : روز، ماه و شماره روز را نمایش میدهد. مثلا : Sat Jan 23
  • h : نام کامپیوتر میزبان را نشان میدهد.
  • n : یک خط جدید باز میکند.
  • s : نام پوسته فرمان را نشان میدهد. مثلا bash
  • t : زمان را بصورت ساعت، دقیقه و ثانیه نمایش میدهد. برای مثال : 10:14:40
  • u : نام کاربر را نمایش میدهد.
  • w : مسیر کامل دایرکتوری جاری را نمایش میدهد.

من این تنظیمات را از مطلب «‌آموزش کامل خط فرمان‌» که در سایت تکنوتاکس قرار داشت‌، بدست آورده بودم‌، ولی الان هر چه گشتم لینک پیدا نکردم‌، که اضافه کنم‌!

برای این که نتیجه‌ی اعلانتان را ببینید و یا این که اگر لازم شد در موقعیت خاصی وضعیت اعلانتان را عوض کنید (‌البته نه برای همیشه‌، فقط برای نشست حاظر‌) کافیست از دستور زیر در ترمینال استفاده کنید‌:

export PS1="[[email protected]]$ "

فکر کنم به عنوان یک نکته کوچک‌، دیگر همین‌قدر توضیح دادن کافی باشد. ;-)