Skip to content

Commit a520969

Browse files
Add documentation
0 parents  commit a520969

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+6806
-0
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto eol=lf

.github/workflows/lint.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
types: [opened, synchronize, ready_for_review, edited]
9+
10+
jobs:
11+
markdownlint:
12+
runs-on: ubuntu-latest
13+
container:
14+
image: ghcr.io/vanilla-os/pico:main
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: actions/setup-node@v4
18+
with:
19+
node-version: '20'
20+
- name: Run markdownlint
21+
run: |
22+
npm install -g markdownlint-cli
23+
markdownlint $(find . -name '*.md' | grep -vF './.git')
24+
25+
codespell:
26+
runs-on: ubuntu-latest
27+
container:
28+
image: ghcr.io/vanilla-os/pico:main
29+
steps:
30+
- uses: actions/checkout@v4
31+
- uses: codespell-project/actions-codespell@v2
32+
with:
33+
path: |
34+
articles/en
35+
only_warn: 1

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/_site
2+
3+
# Local Dev
4+
.bundle/
5+
vendor/

.markdownlint.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
MD010: false
3+
MD013:
4+
line_length: 600
5+
code_blocks: false
6+
tables: false
7+
headings: false
8+
headers: false
9+
MD024: false
10+
MD033: false
11+
MD036: false
12+
MD041: false

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
documentation.vanillaos.org

LICENSE.txt

Lines changed: 661 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<div align="center">
2+
<picture>
3+
<source media="(prefers-color-scheme: dark)" srcset="assets/images/documentation.png">
4+
<source media="(prefers-color-scheme: light)" srcset="assets/images/documentation-mono.png">
5+
<img alt="The logo spells Documentation in cursive character." height="40" src="assets/images/documentation.png">
6+
</picture>
7+
8+
---
9+
10+
<small>Available at <https://documentation.frostos.org>.</small>
11+
12+
</div>

articles/bn/abroot.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
Title: অপরিবর্তনীয়তা (এবিরুট) - ভ্যানিলা ওএস
3+
Description: কীভাবে এবিরুট ব্যবহার করতে হয় তা শিখুন।
4+
Listed: true
5+
Authors:
6+
- Frost-OS
7+
---
8+
9+
## অপরিবর্তনীয়তা (`abroot`)
10+
11+
`abroot` এমন একটি ইউটিলিটি যা ২ টি (A⟺B) রুট বিভাজনের মাঝে অদলবদল ঘটানোর মাধ্যমে অপরিবর্তনীয়তা ও পারমাণবিকতা প্রদান করে। এছাড়াও এটি একটি অদলবদলকরণ শেলের মাধ্যমে চাহিদা-মাফিক অদলবদলের সুযোগ প্রদান করে।
12+
13+
## যেভাবে এটি কাজ করে
14+
15+
লিনাক্স ফাইল ব্যবস্থাপনা মূলত একটি ক্রমোচ্চ শ্রেণিবিভাগমূলক ফাইল ব্যবস্থাপনা যা রুট ও অন্যান্য ডিরেক্টরিগুলি ধারণ করে।
16+
রুট হচ্ছে প্রধান ক্রমোচ্চ শ্রেণিবিভাগমূলক ডিরেক্টরি যা অন্যান্য সকল ডিরেক্টরিকে ধারণ করে।
17+
অপরিবর্তনীয় ফাইল ব্যবস্থাপনাগুলিতে রুট বিভাজনটি রিড-ওনলি থাকে, যা গুরুত্বপূর্ণ প্যাকেজসমূহ, যেমন ড্রাইভার ইত্যাদিকে হোস্টে ইনস্টল করতে বাঁধা দেয়।
18+
19+
`abroot` আপনাকে ফাইল ব্যবস্থাপনার অপরিবর্তনীয়তা বজায় রেখেই কার্নেল মড্যুলসমূহ, ড্রাইভারসমূহ ও অন্যান্য গুরুত্বপূর্ণ প্যাকেজগুলি ইন্সটল করার সুযোগ প্রদান করে।
20+
21+
যখন `abroot`-এ কোনো কমান্ড রান করা হয়, তখন দ্বিতীয় রুট বিভাজনে একটি অদলবদলকরণ শেলের মাধ্যমে একটি অদলবদল প্রক্রিয়া শুরু হয়। যদি অদলবদল প্রক্রিয়াটি সফল হয়, তাহলে একটি প্রলেপ ব্যবহারের মাধ্যমে পরিবর্তনগুলি প্রয়োগ করা হয় এবং একটি রিবুটের মাধ্যমে বর্তমানে সচল বুট বিভাজনে পরিবর্তনগুলি সমন্বয়সাধন করা হয়। আর যদি অদলবদল প্রক্রিয়াটি ব্যর্থ হয়, তাহলে কোনো পরিবর্তনই প্রয়োগ করা হয় না (পারমাণবিকতা নামক একটি বৈশিষ্ট্য উপলদ্ধ থাকার দরুন)। এছাড়াও `abroot` আপনাকে `abroot shell` কমান্ড ব্যবহারের মাধ্যমে চাহিদা-মাফিক অদলবদলের সুযোগ দেয়।
22+
23+
`abroot` এর জন্য আবশ্যক হওয়ায় ভ্যানিলা ওএস ইনস্টলেশনের সময় উভয় অবস্থার জন্য স্বতন্ত্র রুট ও বুট বিভাজন তৈরি করে (প্রতি রুট বিভাজনে 20GB করে)।
24+
25+
## অবস্থাবলি
26+
27+
`abroot` এর দুইটি অবস্থা রয়েছে - বর্তমান ও ভবিষ্যৎ। যখন আপনি প্রথমবারের মতো আপনার ভ্যানিলা ওএস ইনস্টলেশনে অবস্থান করেন, তখন বর্তমান অবস্থাটি থাকে A। আর যখন আপনি সিস্টেম রিবুট করেন, তখন অবস্থাটি স্বয়ংক্রিয়ভাবে B-তে পরিবর্তিত হয়ে যায়। যখন আপনি `abroot` ব্যবহার করে কোনো প্যাকেজ ইন্সটল করেন, তখন এটি ভবিষ্যৎ রুট বিভাজনে ইনস্টল হয় এবং একটি রিবুটের পর বর্তমান রুট বিভাজনের সাথে সমন্বয় সাধিত হয়।
28+
29+
## আপডেটসমূহ
30+
31+
`abroot` প্রোগ্রামটি `vso` নামক একটি ইউটিলিটিকে ক্ষমতায়ন করে যা স্মার্ট স্বয়ংক্রিয় আপডেট এবং আড়ালে থেকে ভবিষ্যৎ রুট বিভাজনে আপডেটগুলি ইনস্টল করার সুযোগ দেয়। এটি সময় বাঁচায় কারণ এতে রিবুটের সময় অফলাইন আপডেটের প্রয়োজন হয় না।
32+
33+
## কার্নেল প্যারামিটারসমূহ
34+
35+
`abroot` আপনাকে কাস্টম কার্নেল প্যারামিটারসমূহ সেট করার সুযোগ দেয়, যা কখনো কোনো ড্রাইভার বা কাস্টম সেটআপের ক্ষেত্রে প্রয়োজন হতে পারে। ডিফল্ট অবস্থায়, `abroot` `/etc/default/abroot_kargs` এ থাকা কন্টেন্টগুলো রিড করে, যা কখনোই সম্পাদনা করা **উচিত নয়**। এর পরিবর্তে, আপনার প্যারামিটারগুলো ম্যানেজ করতে নীচের কমান্ডটি ব্যবহার করুন :
36+
37+
```bash
38+
sudo abroot kargs edit
39+
```
40+
41+
উপরের কমান্ডটি প্যারামিটার ফাইলটি ডিফল্ট কমান্ড-লাইন টেক্সট এডিটরে ওপেন করবে। (ডিফল্টটি হচ্ছে `nano`।)
42+
43+
[কার্নেল প্যারামিটারসমূহ](https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html) অবশ্যই স্পেস ব্যবহারের মাধ্যমে আলাদা রাখতে হবে এবং তাদের মাঝে কোনোভাবেই কোনো লাইন ব্রেক (নতুন লাইন) থাকতে **পারবে না**। আরও লক্ষনীয়, আপনার কোনোভাবেই ডিফল্ট প্যারামিটারগুলি অপসারণ করা উচিত হবে না যদি না জানেন আপনি কী করছেন। কারণ এগুলো পরিবর্তনের কারণে আপনার সিস্টেম আনবুটেবল হয়ে যেতে পারে।
44+
45+
**দ্রষ্টব্য**: কার্নেল প্যারামিটারগুলি শুধুমাত্র আপনার ভবিষ্যৎ রুটে প্রয়োগ করা হবে। তাই কোনো সমস্যা হলে আপনি যে কোনো সময় পূর্বের রুটে প্রবেশ করতে পারবেন।
46+
47+
## নামকরণ
48+
49+
এবিরুট নামটি দুইটি এ ও বি (A⟺B) রুট বিভাজনের মাঝে অদলবদল প্রক্রিয়ার দিকে ইঙ্গিত করে।
50+
51+
## ব্যবহার
52+
53+
- [ম্যানপেজ সহায়িকা](abroot-manpage)
54+
- [আপনার ডিস্ট্রিবিউশনে পোর্ট করুন](abroot-porting)

articles/bn/apx.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
Title: প্যাকেজ ম্যানেজার (apx) - ভ্যানিলা ওএস
3+
Description: কীভাবে ভ্যনিলা ওএস প্যাকেজ ম্যানেজার apx ব্যবহার করতে হয় তা জানুন।
4+
Listed: true
5+
Authors:
6+
- Frost-OS
7+
---
8+
9+
`apx` হচ্ছে ভ্যানিলা ওএস প্যাকেজ ম্যানেজার যা ব্যবহার করা খুবই সহজ এবং এটি রুট ফাইল ব্যবস্থাপনায় কোনো পরিবর্তন ব্যতিতই কন্টেইনারের ভিতরে বিভিন্ন উৎস থেকে প্যাকেজ ইন্সটল করা সমর্থন করে।
10+
11+
## যেভাবে এটি কাজ করে
12+
13+
`apx` প্যাকেজ ম্যানেজমেন্টের জগতে অভিনব এক পন্থা উপস্থাপন করেছে। বুদ্ধিটা হচ্ছে, আপনার সিস্টেমকে শুধুমাত্র
14+
আপনার ফাইলপত্র জমা রাখার একটি বাক্স হিসেবে ব্যবহার করবেন। যা একে বিভিন্ন প্যাকেজ থেকে মুক্ত রাখবে
15+
আর এটি অসম্পূর্ণ, পারিপাট্যহীন ভাবে তৈরি অথবা সংঘাতময় প্যাকেজের কারণে নষ্ট হয়ে যাওয়ার ঝুঁকি কমিয়ে দিবে।
16+
17+
এটি করা সম্ভব 'apx' কর্তৃক নিয়ন্ত্রিত এক বা একাধিক কন্টেইনারের মধ্যে সফটওয়্যার ইনস্টল করার মাধ্যমে। আপনার সিস্টেম রিসোর্সের প্রতি এর এক্সেস সীমাবদ্ধ থাকে। তবুও এটি সিস্টেমে থাকা একই ড্রাইভার, ডিস্প্লে সার্ভার ইত্যাদি ব্যবহার করতে পারে।
18+
19+
আপনার হোম ডিরেক্টরি কনটেইনারের ভিতরেও ম্যাপ করা থাকে। তাই আপনি হোমে থাকা সকল কনফিগ ফাইল,
20+
সেটিংস, অন্যান্য প্রয়োজনীয় ড্যাটা কন্টেইনারে ভিতর ইনস্টল করা প্যাকেজেও এক্সেস করতে পারবেন। একইভাবে সকল
21+
ফাইল কন্টেইনারে থাকা সফটওয়্যারে এক্সেস করতে পারবেন। (যেমন হোমে থাকা কোনো ডকুমেন্ট ফাইল কন্টেইনারে থাকা লিব্রাঅফিসে ওপেন করতে পারবেন।)
22+
23+
### হোস্ট সিস্টেম
24+
25+
যদিও হোস্ট সিস্টেমে সফটওয়্যার ইনস্টল করাটা এই প্রকল্পের আদর্শের সাথে সাংঘর্ষিক, তবু কখনো কখনো এটি জরুরিও হতে পারে। উদাহরণস্বরূপ, যখন আপনার কোনো কার্নেল মড্যুল বা ড্রাইভার
26+
ইন্সটল করার দরকার হয়।
27+
28+
এসব ক্ষেত্রে আপনি কন্টেইনারকে পাশ কাটিয়ে সরাসরি হোস্টে ইনস্টল করতে চাইলে `abroot exec apt install <package_name>` অথবা `abroot shell apt install <package_name>` ব্যবহার করতে পারেন।
29+
কিন্তু সতর্ক থাকবেন, এই পন্থাটি প্রণিধানযোগ্য নয়।
30+
31+
### বিভিন্ন উৎস
32+
33+
ডিফল্ট ভাবে `apx` আপনার ডিস্ট্রিবিউশনের উপর ভিত্তি করে একটি কনটেইনার প্রদান করে (ভ্যানিলা ওএস ২২.১০ এ উবুন্টু ২২.১০ প্রদান করা হয়)
34+
আর এটি ঐ ডিস্ট্রিবিউশনের প্যাকেজ ম্যানেজারের সকল কমান্ড অন্তর্ভুক্ত করে (যেমন উবুন্টুতে `apt`)।
35+
36+
যাইহোক, আপনি চাইলে অন্য ডিস্ট্রিবিউশন থেকেও প্যাকেজ ইনস্টল করতে পারবেন। উদাহরণস্বরূপ, `--aur` ফ্লাগ ব্যবহার করলে
37+
আর্চ লিনাক্স ভিত্তিক নতুন একটি কনটেইনার তৈরি হবে। এখানে `apx` আপনার হোস্ট সিস্টেমের সাথে শক্ত ভাবে সমন্বয় করে
38+
AUR (Pacman ও yay) প্যাকেজগুলি নিয়ন্ত্রণ করবে।
39+
40+
`apx`-এর সাথে `--dnf` ফ্লাগ ব্যবহার করলে এটি একটি নতুন ফেডোরা ভিত্তিক কনটেইনার তৈরি করবে।
41+
এখানে `apx` আপনার হোস্ট সিস্টেমের সাথে শক্ত ভাবে সমন্বয় করে ফেডোরার ডিএনএফ উৎসে থাকা প্যাকেজগুলি নিয়ন্ত্রণ করবে।
42+
43+
`apx` কনটেইনারের ভিতর তৈরি হওয়া গ্রাফিক্যাল ইউজার ইন্টারফেস যুক্ত প্যাকেজগুলির জন্য স্বয়ংক্রিয়ভাবে .desktop ফাইল তৈরি করা হয় এবং অ্যাপ্লিকেশন মেন্যুতে যোগ করা হয়। এই অ্যাপ্লিকেশনগুলি ফাইল ম্যানেজারের "Open with" (অন্য অ্যাপে খুলুন) মেন্যুতে থাকা অ্যাপগুলির সাথে প্রদর্শিত হয়। কনটেইনারের ভিতরে থাকা গ্রাফিক্যাল ইন্টারফেস যুক্ত প্যাকেজগুলি [ভ্যানিলা নিয়ন্ত্রণ কেন্দ্রের](/docs/vanilla-control-center) সাবসিস্টেম সেকশনে প্রদর্শিত হয়।
44+
45+
গুণগত মান নিয়ন্ত্রণে রাখতে আমরা এই বৈশিষ্ট্যটি নির্দিষ্ট কিছু বাস্তবায়নে সীমাবদ্ধ রাখছি। আপাতত শুধু `--aur``--dnf` ফ্লাগ দুটি সমর্থিত।
46+
কিন্তু আমরা ভবিষ্যতে নিক্স প্যাকেজ ম্যানেজমেন্ট সমর্থনও বাস্তবায়ন করব।
47+
48+
### নামকরণ
49+
50+
`apx` নামটি মূলত ডেবিয়ান ও তা থেকে উৎপত্ত ডিস্ট্রোগুলিতে ব্যবহৃত **apt (Advanced Packaging Tool)** থেকে এসেছে। **X** এ দুটি রেখা রয়েছে (হোস্ট ও কন্টেইনার) যা পরস্পরকে ছেদ করে। এখানে কন্টেইনারটি উপরে, অর্থাৎ
51+
হোস্ট সিস্টেমের উপরে অবস্থান করে।
52+
53+
## ব্যবহার
54+
55+
- [ম্যানপেজ সহায়িকা](apx-manpage)

0 commit comments

Comments
 (0)