Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pdf #21

Open
wants to merge 38 commits into
base: master
Choose a base branch
from
Open

Pdf #21

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
dcc58f3
Change .gitignore to ignore latex run files.
KambizMoradi Apr 13, 2019
d334f6e
Create sect2.tex >>> chapter1.section1
KambizMoradi Apr 13, 2019
5db6101
Create sect3.tex >>> chapter1.section2
KambizMoradi Apr 13, 2019
b3d7011
Create sect4.tex >>> chapter1.section3
KambizMoradi Apr 13, 2019
43b8623
Create sect5.tex >>> chapter1.section4
KambizMoradi Apr 13, 2019
20791cb
Create sect6.tex >>> chapter1.section5
KambizMoradi Apr 13, 2019
fe106f9
Add image not.png
KambizMoradi Apr 13, 2019
c06025b
Create sect7.tex >>> chapter2.section1
KambizMoradi Apr 13, 2019
8b8240c
Create sect8.tex >>> chapter2.section2
KambizMoradi Apr 13, 2019
410d746
Create sect9.tex >>> chapter2.section3
KambizMoradi Apr 13, 2019
cf3023b
Create sect10.tex >>> chapter2.section4
KambizMoradi Apr 13, 2019
73b72f1
Fix latex command in many files.
KambizMoradi Apr 13, 2019
8b933dc
Create sect12.tex >>> chapter2.section5
KambizMoradi Apr 14, 2019
ed10443
Fix misstakes! :)
KambizMoradi Apr 14, 2019
b11468e
Create sect13.tex >>> chapter2.section6
KambizMoradi Apr 14, 2019
01f2bd6
Create sect14.tex >>> chapter2.section7
KambizMoradi Apr 14, 2019
7740a1b
Create sect16.tex >>> chapter3.section1
KambizMoradi Apr 14, 2019
17db812
Create sect18.tex >>> chapter3.section2
KambizMoradi Apr 14, 2019
97f1461
Create sect19.tex >>> chapter3.section3
KambizMoradi Apr 14, 2019
1242f3c
Create sect21.tex >>> chapter3.section4
KambizMoradi Apr 14, 2019
230208b
Create sect22.tex >>> chapter4.section1
KambizMoradi Apr 14, 2019
925348c
Create sect23.tex >>> chapter5.section1
KambizMoradi Apr 14, 2019
b441edc
Create sect24.tex >>> chapter5.section2
KambizMoradi Apr 14, 2019
bf80f2f
Create sect25.tex >>> chapter5.section3
KambizMoradi Apr 14, 2019
511e630
Create sect26.tex >>> chapter5.section4
KambizMoradi Apr 14, 2019
b14a20c
Create sect27.tex >>> chapter5.section5
KambizMoradi Apr 14, 2019
f3dbabe
Create sect28.tex >>> chapter5.section6
KambizMoradi Apr 15, 2019
2321d85
Create sect29.tex >>> chapter5.section7
KambizMoradi Apr 15, 2019
4911743
Create sect30.tex >>> chapter5.section8
KambizMoradi Apr 15, 2019
b33fad7
Create sect31.tex >>> chapter5.section9
KambizMoradi Apr 15, 2019
b1fdc63
Create sect32.tex >>> chapter5.section10
KambizMoradi Apr 15, 2019
a4c49db
Create sect33.tex >>> chapter5.section11
KambizMoradi Apr 15, 2019
ca797e5
Create sect34.tex >>> chapter5.section12
KambizMoradi Apr 16, 2019
6d50c91
Create sect35.tex >>> chapter5.section13
KambizMoradi Apr 16, 2019
a3e89e3
Add not complete sections.
KambizMoradi Apr 16, 2019
c9b6195
Create main.tex and main.pdf file
KambizMoradi Apr 16, 2019
5b8aa73
Define environment and fix sections.
KambizMoradi Apr 18, 2019
9c90d29
Define environment and fix sections.
KambizMoradi Apr 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,13 @@ node_modules/
out/
*kate-swp
.DS_Store


# Ignore LATEX files
commands.log
main.aux
main.log
main.out
main.synctex.gz
main.toc
sec*.aux
Binary file added src/pdf/main.pdf
Binary file not shown.
94 changes: 94 additions & 0 deletions src/pdf/main.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
\documentclass[12pt]{book}

%% PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{listings}% for programing code environments
\usepackage{tcolorbox}
\usepackage{amsmath} %\ for math signs
\usepackage{bidihl} %\ for hilight
\usepackage{subfig}
\usepackage{wrapfig}
\usepackage{mdframed}% for multi page box
\usepackage{hyperref} %\ for links
\usepackage{array}% for table size
\usepackage{float} %\ for floating figures
\usepackage{setspace}%\ for line spacing
\usepackage{zref-perpage} % for footnote
\usepackage{enumitem} % for change itemize default setting
\setlist[itemize]{itemsep=0.1\baselineskip}
\setlist[enumerate]{itemsep=0.1\baselineskip}

\usepackage{xepersian} %\ for persian text

%% FONTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\settextfont{XB Roya}
\setlatintextfont{Liberation Mono}
\doublespacing

%% ENVIRONMENT SETTINGS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newtcolorbox{mybox}{boxrule=0pt,width=\textwidth,arc=0mm,colback=gray!20}

\newenvironment{eng}{\vspace*{-0.5cm}\begin{latin}\singlespacing\flushleft}{\end{latin}}

\newenvironment{frameng}{\begin{mdframed}\begin{eng}}{\end{eng}\end{mdframed}}

\lstset{language=bash,basicstyle=\ttfamily,linewidth=1\textwidth,breaklines=true}

%% FOOTNOTE SETTING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\footnoterule}{\hrule width \textwidth height 1pt}%\ for width of footnote line
\zmakeperpage{footnote}% for reset footnote per page

%% METADATA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{جادی میرمیرانی}
\title{لینوکس و زندگی}
%\date{}

%% MAIN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle
\tableofcontents
\chapter*{درباره کتاب}
\addcontentsline{toc}{chapter}{درباره کتاب}
این کتاب قرار بود کتابی باشه در مورد لینوکس با اشاره‌هایی به زندگی گیک های جوان.
ولی در واقع به این نتیجه رسیده ام که در این کتاب حرف زدن از لینوکس اونقدر که حرف زدن از زندگی مهمه، مهم نیست. ما کتاب های زیادی در مورد لینوکس داریم ولی جاهای کمی هستن که از زندگی حرف بزنن. اینه که این کتاب به زودی به کتاب زندگی گیک‌های جوان تبدیل خواهد شد.

\chapter{اصول و مقدمات}
\include{./sections/sect2}
\include{./sections/sect3}
\include{./sections/sect4}
\include{./sections/sect5}
\include{./sections/sect6}
\chapter{لینوکس روزمره}
\include{./sections/sect7}
\include{./sections/sect8}
\include{./sections/sect9}
\include{./sections/sect10}
% \include{./sections/sect11} %not complete
\include{./sections/sect12}
\include{./sections/sect13}
\include{./sections/sect14}
% \include{./sections/sect15} %not complete
\chapter{مباحث پیشرفته}
\include{./sections/sect16}
% % \include{./sections/sect17} %not complete
\include{./sections/sect18}
\include{./sections/sect19}
% % \include{./sections/sect20} %not complete
\include{./sections/sect21}
\chapter{جامعه لینوکس}
\include{./sections/sect22}
\chapter{زندگی حرفه‌ای}
\include{./sections/sect23}
\include{./sections/sect24}
\include{./sections/sect25}
\include{./sections/sect26}
\include{./sections/sect27}
\include{./sections/sect28}
\include{./sections/sect29}
\include{./sections/sect30}
\include{./sections/sect31}
\include{./sections/sect32}
\include{./sections/sect33}
\include{./sections/sect34}
\include{./sections/sect35}

\end{document}
Binary file added src/pdf/not.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/pdf/sections/sect1.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
این کتاب سعی می کنه به خواننده ایده‌هایی درمورد زندگی و لینوکس بده. چرا زندگی؟ چون لینوکس یک فلسفه است و براومده از یک جامعه و کسی که می خواد توش موفق باشه باید درک فلسفی سالمی از زندگی داشته باشه و از اونطرف کسی که در جامعه ما است و لینوکس رو درک کرده خوبه در مورد زندگی هم دیدی شاد و موفق داشته باشه.. اینه که زندگی کنار لینوکس قرار گرفته و خب مشخصه که وزن لینوکس در این کتاب بسیار بیشتر از زندگی است.
25 changes: 25 additions & 0 deletions src/pdf/sections/sect10.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
\section{استفاده از لینوکس با دیسک زنده}
در زمان قدیم (و هنوز هم در مورد سیستم‌عامل‌هایی مثل ویندوز و مک) اگر کسی بخواهد از سیستم عامل استفاده کند، می‌بایست آن را نصب کند. اما چرا؟ مگر «بوت شدن» چیزی بیشتر از لود شدن کرنل و بعد اجرا شدن چند برنامه (مثلا محیط گرافیکی) است؟ این دقیقا سوالی بود که ایگدراسیل لینوکس هم در سال ۱۹۹۲ از خودش پرسید. ایگدراسیل در افسانه‌های نورث، درختی عظیم ست که نه جهان در سر شاخه‌های آن قرار گرفته‌اند. لینوکس ایگدراسیل هم سعی می‌کرد سیستم عاملی باشد که بشود آن را فقط از روی سی دی بوت کرد و سپس از سرشاخه‌های آن که برنامه‌های آزاد دیگر بودند، استفاده کرد.

اما پروژه ایگدراسیل شکست خورد و عرضه آن در سال ۹۵، متوقف شد. یکی از اصلی‌ترین دلایل شکست، سرعت کم درایوهای سی دی آن زمان بود. مقهوم دیسک زنده لینوکس از زمان خود بسیار جلوتر بود و به همین دلیل مجبور شد تا سال ۱۹۹۸ و افزایش سرعت سی‌دی‌ درایوها و حافظه کامپیوترها منتظر بماند.

در ۱۹۹۸ بود که دمو لینوکس به عنوان اولین نسخه عملی یک لینوکس پا به عرصه وجود گذاشت. این نسخه می‌توانست تنها با گذاشتن یک سی دی در درایو و بدون هیچگونه تنظیمی، یک پی سی را در محیط گرافیکی بوت کند و با استفاده از سیستم فایل فشرده‌اش، امکان اجرا کردن صدها برنامه (از جمله استارآفیس) را بدون هیچ تغییری در هارد دیسک فراهم کند. این توزیع تا سال ۲۰۰۲ فعال بود و در آخرین نسخه‌ها امکان نصب بر روی هارددیسک هم به آن اضافه شده بود و این دقیقا چیزی است که راه را به اکثر توزیع‌های حال حاضر جهان نشان داده.

اما قبل از تمام کردن بحث تاریخی، باید ذکری هم از ناپیکس بکنیم. مشهورترین نسخه لینوکس زنده و توزیعی که تقریبا همه آن را به عنوان اولین دیسک زنده‌ای که در تمام جهان استفاده شد، می‌شناسند. ناپیکس توزیعی مبتنی بر دبیان بود که در ۲۰۰۳ رسما عرضه شد. این توزیع می‌توانست به طور گرافیکی یک سیستم را بوت کند و سپس به عنوان یک سیستم عامل برای نجات سیستم‌های مشکل پیدا کرده یا به عنوان یک سیستم عامل مستقل استفاده شود. بوت زنده ناپیکس،‌ آینده تمام توزیع‌های لینوکس بود.

در حال حاضر تقریبا تمام توزیع‌های مشهور لینوکس، نسخه دیسک زنده (\lr{Live disk}) هم دارند و کار تا جایی پیش رفته که می‌شود گفت اکثر توزیع‌های دسکتاپ، اصولا نسخه غیرزنده ندارند. مثلا در مورد اوبونتو، شما همیشه یک فایل \lr{iso} دانلود می‌کنید که بعد از نوشتن آن روی دیسک (به شیوه گفته شده در تهیه یک نسخه از لینوکس) به یک دیسک زنده تبدیل می‌شود. کافی است این سی دی را در درایو یک پی سی که برای بوت از روی سی دی تنظیم شده (در بایوس) بگذارید و کامپیوتر را روشن کنید. مطمئنا به خاطر سرعت کم سی‌دی نسبت به هارد دیسک، بوت شدن کندتر از حالت طبیعی خواهد بود ولی بعد از یکی دو دقیقه، بدون هیچ تغییری در هارد دیسک کامپیوتر سیستم با لینوکس مورد نظر بوت خواهد شد. مثلا اگر از مندریوا استفاده کرده باشید، صفحه چیزی شبیه به این خواهد بود:
\begin{figure}[h]
\includegraphics[scale=1,width=\textwidth]{../files/images/ubuntu_live_cd.png}
\end{figure}


در این وضعیت شما می‌توانید برنامه‌های موجود را نصب و استفاده کنید، به سخت افزارها دسترسی داشته باشید، در اینترنت گشت بزنید، چت کنید و خیلی کارهای دیگر بدون اینکه به سیستم عامل اصلی نصب شده روی هارد دیسک صدمه‌ای بخورد. دیسک زنده کاربردهای متنوعی دارد. از جمله:
\begin{itemize}
\item انجام کارهایی که در سیستم عامل خاصی می‌شود انجام داد: مثلا بازیابی اطلاعات هارددیسک یا پاک کردن ویروس‌های یک درایو ویندوزی با استفاده از دیسک زنده لینوکس.
\item آماده شدن برای نصب: بسیاری از توزیع‌های جدید برای نصب شدن از نسخه زنده استفاده می‌کنند.
\item بررسی سازگاری سخت افزاری: شما می‌توانید قبل از نصب هر نسخه‌ای از لینوکس، اول آن را به شکل زنده بوت کنید تا مطمئن شوید که با سخت افزار شما مشکل سازگاری ندارد.
\item آزمایش نرم‌افزارها: مثلا برای تست نسخه جدید مسنجر امپاتی، نیازی نیست حتما آن را نصب کنید بلکه می‌توانید توسط یک دیسک زنده که از این نسخه جدید استفاده می‌کند، آن را در حال کار ببینید و تست کنید.
\end{itemize}
ذکر این نکته هم مهم است که این روزها یو.اس.بی.های زنده هم وارد بازار شده‌اند. در این حالت به جای سی.دی. از یک درایو یو.اس.بی. (مثلا کول دیسک) استفاده می‌شود که درست مثل یک دیسک زنده قابلیت بوت کردن سیستم را دارد اما با یک مزیت مهم: قابل نوشتن است. وقتی از درایو یو.اس.بی. به جای سی دی استفاده می‌شود، تغییرات شما روی سیستم عامل قابل ذخیره شدن روی یو.اس.بی. خواهند بود و این می‌تواند برای کسانی که به شکل حرفه‌ای برای کار از دیسک‌های زنده استفاده می‌کنند، کمک بزرگی باشد.

بعد از اینکه استفاده، آزمایش یا هر چیز دیگری که باعث شده از دیسک زنده استفاده کنید به پایان رسید، کافی است از منو، ری استارت یا شات‌داون را انتخاب کنید و پس از پایان شات‌داون و بیرون آوردن سی دی از درایو، کامپیوتر را دوباره روشن کنید و همه چیز را در وضعیت قدیمی تحویل بگیرید.
2 changes: 2 additions & 0 deletions src/pdf/sections/sect11.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
\section{نصب لینوکس}
نصب چیزی که انتخاب کردیم به همراه شرینک کردن ویندوز
51 changes: 51 additions & 0 deletions src/pdf/sections/sect12.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
\section{قدم های مرسوم بعد از نصب لینوکس دسکتاپ}
گاهی ممکن است یک سایت یا سند یا حتی برنامه به اجبار سعی در استفاده از یک فونت خاص داشته باشد. مثلا به این اسکرین شات نگاه کنید:

\includegraphics[scale=1,width=\textwidth]{../files/images/sina_blog.png}

تیتر صفحه با صفحه کلید عربی (احتمالا در ویندوز) تایپ شده که به جای «
{\settextfont{DejaVu Sans}ک}
» از «
{\settextfont{DejaVu Sans}ك}
» و به جای «
{\settextfont{DejaVu Sans}ی}
» از «
{\settextfont{DejaVu Sans}ي}
» استفاده می‌کند.
همچنین طراح به اجبار به صفحه گفته از فونت
\lr{Tahoma}
استفاده کند که یک فونت ویندوزی است. برای درست دیدن این صفحه در مرحله اول باید از طراح و نویسنده خواست که از استانداردهای فارسی استفاده کنند و در مرحله دوم،‌ برای حل موقتی مشکل (در اصل برای اضافه کردن امکان نمایش فارسی حروف عربی) باید فونت‌های استاندارد ویندوز را به سیستم اضافه کرد.

در اوبونتو بسته‌ای به نام
\lr{ubuntu-restricted-extras}
که مجموعه ای است از ابزارهایی که به علت مجوزهای محدود کننده‌ای که شرکت‌های سازنده روی آن ها گذشته‌اند نمی‌توانند روی سی دی اصلی اوبونتو عرضه شوند. بگذارید نگاهی به محتویات آن بیندازیم:
\begin{frameng}
\begin{lstlisting}
jadi@jubung:~$ aptitude show ubuntu-restricted-extras Package: ubuntu-restricted-extras
New: yes State: installed Automatically installed: no Version: 57 Priority: optional Section: multiverse/metapackages Maintainer: Michael Vogt [email protected] Architecture: amd64 Uncompressed Size: 30.7 k Depends: ubuntu-restricted-addons Recommends: ttf-mscorefonts-installer, unrar, gstreamer0.10-plugins-bad-multiverse, libavcodec-extra-53 Conflicts: ubuntu-restricted-extras Description: Commonly used restricted packages for Ubuntu This package depends on some commonly used packages in the Ubuntu multiverse repository.

Installing this package will pull in support for MP3 playback and decoding, support for various other audio formats (GStreamer plugins), Microsoft fonts, Flash plugin, LAME (to create compressed audio files), and DVD playback.

Please note that this does not install libdvdcss2, and will not let you play encrypted DVDs. For more information, see https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs

Please also note that packages from multiverse are restricted by copyright or legal issues in some countries. See http://www.ubuntu.com/ubuntu/licensing for more information
\end{lstlisting}
\end{frameng}
آنطور که این دستور می‌گوید، این بسته حاوی پشتیبانی از فرمت
\lr{mp3}
و فرمت‌های صوتی تصویری دیگر، پشتیبانی از فونت‌های مایکروسافت، فلش و پخش دی وی دی است. پس احتمالا با نصب آن، مشکل ما حل خواهد شد.

\leftline{\lr{sudo apt-get install ubuntu-restricted-extras}}

به عنوان یک نکته اضافی ، خوب است بدانیم که هر کاربر گنو/لینوکس می‌تواند با ساخت پوشه‌ای به اسم
\lr{.fonts}
در خانه خودش (\lr{home folder}) و کپی کردن هر فونتی که لازم دارد درون آن و خروج و ورود مجدد به سیستم، به آن فونت‌ها دسترسی داشته باشد. مثلا کپی کردن فایل
\lr{tahoma.ttf}
و
\lr{tahomab.ttf}
می تواند مشکل وب سایت بالا و بقیه سایت‌هایی که از فونت تاهوما استفاده می‌کنند را حل کند.

\textbf{توجه: }
هر فایل که در گنو/لینوکس و سیستم‌های یونیکسی که با نقطه شروع شود،‌ در حالت عادی مخفی است و به کاربر نمایش داده نمی شود. در براوزر فایل گنوم (ناتیلوس) می‌توانید با فشردن
\lr{Ctrl+H}
فایل‌های مخفی را ببینید.
Loading