راهکار ها و نکته های دبیان Debian
Contents
- 1 ۱)لیست برنامه های نصب شده
- 2 ۲)محتویات یک فایل .deb
- 3 ۳)add-apt-repository
- 4 ۴)Repos
- 5 ۵)trust a repo:
- 6 ۶)ارتقا Stretchبه Buster:
- 7 ۷)ساخت یکrootfs
- 8 ۸)chroot
- 9 ۹)dnsmasq
- 10 ۱۰)Quickies
- 11 ۱۱)RPMبه Deb
- 12 ۱۲)ساخت فایل های seed
- 13 ۱۳)را اندازی کردن یکBridge
- 14 ۱۴)فعال کردنwake-on-lan
- 15 ۱۵)tftpd-hpa
- 16 ۱۶)Adduser/Addgroup
- 17 ۱۷)Cal/Ncal
دبیان یکی دیگر از شاخه های سیستم عامل معروف لینوکس میباشد,هر کدام از نسخه های لینوکس ویژگی های مربوط به خود را دارند.در این مطلب ما یک سری از فرمان های رایج و مهم این سیستم عامل را برای شما جمع آوری کرده ایم.
۱)لیست برنامه های نصب شده
برنامه های نصب شده در سیستم عامل شما به شکل لیست زیر برایتان نمایش داده میشوند:
apt list --installed
dpkg-query -l
۲)محتویات یک فایل .deb
برای دیدن محتویات یک فایل.debفرمان زیر را به ترتیب وارد کنید.
۱)apt-get update && apt-get install apt-file ۲)apt-file update ۳)apt-file list [deb file]
۳)add-apt-repository
برای نصب افزونه add-apt-repositoryفرمان زیر را به ترتیب وارد کنید:
۱)apt update
۲)apt -y install software-properties-common dirmngr apt-transport-https lsb-release ca-certificates
۳)add-apt-repository ppa:PPA Name]
۴)apt update
۵)apt install [package]
۴)Repos
قبل از نصب Reposمطمعن شوید که dpkg-devبر روی سیستم عامل شما نصب شده است.
apt-get install dpkg-dev
این قسمت از فرمان های دبیان به چند بخش مختلف تقسیم میشود:
ساخت:
برای ساخت یک local repoاز فرمان زیر استفاده کنید:
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Proper:
برای ساخت یک proper repoکد زیر را وارد کنید:
dpkg-scanpackages -m -a [arch] [dir] | gzip > [dir]/Packages.gz
به طور مثال:
#!/bin/bash
cd /opt/shared/repo/apt
echo
for arch in i386 amd64 mips armel armhf
do
printf "%-10s" "${arch}:"
dpkg-scanpackages -m -a ${arch} pool | gzip > dists/buster/main/binary-${arch}/Packages.gz
done
echo
۵)trust a repo:
برای انجام trust یک repoفرمان زیر را وارد کنید:
/etc/apt/sources.list
:
deb [ trusted=yes ] http://ftp.us.debian.org/debian/ jessie main contrib non-free
۶)ارتقا Stretchبه Buster:
برای ارتقا Stretchبه Busterفرمان زیر را وارد کنید:
۱)apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 04EE7237B7D453EC 648ACFD622F3D138
۲)grep -rl stretch /etc/apt/ | sudo xargs sed -i ‘s/stretch/buster/g’
۳)apt update -y && apt dist-upgrade -y
۴)reboot
۷)ساخت یکrootfs
برای ساخت یک rootfs
از دبیان,فرمان زیر را اجرا کنید:
apt-get install -y qemu-user-static debootstrap binfmt-support qemu-system-arm
targetdir=rootfs
distro=buster
mkdir $targetdir
debootstrap --arch=armhf --foreign $distro $targetdir
cp /usr/bin/qemu-arm-static $targetdir/usr/bin/
cp /etc/resolv.conf $targetdir/etc
chroot $targetdir
distro=buster
export LANG=C
/debootstrap/debootstrap --second-stage
cat <<EOT > /etc/apt/sources.list
deb http://ftp.debian.org/debian $distro main contrib non-free
deb-src http://ftp.debian.org/debian $distro main contrib non-free
deb http://ftp.debian.org/debian $distro-updates main contrib non-free
deb-src http://ftp.debian.org/debian $distro-updates main contrib non-free
deb http://security.debian.org/debian-security $distro/updates main contrib non-free
deb-src http://security.debian.org/debian-security $distro/updates main contrib non-free
EOT
apt-get update -y
apt-get install -y dialog locales lsb-release nis ntp ntpdate openssh-server rsync sshfs vim
dpkg-reconfigure locales
passwd
۸)chroot
apt-get remove -y inetutils-ping
apt-get install -y inetutils-ping
۹)dnsmasq
از فایل های موقتی dnsmasq
استفاده نکنید:/etc/default/dnsmasq
: DNSMASQ_OPTS="--leasefile-ro"
فایل های اجازه ای در :/var/lib/misc/dnsmasq.leases
ذخیره میشوند.
۱۰)Quickies
- پیکر بندی کنید:locale:
dpkg-reconfigure locales
- time zone:
dpkg-reconfigure tzdata
- Install LXDE:
apt-get install task-lxde-desktop
۱۱)RPMبه Deb
برای تبدیل یک فایل rpm به فایل debفرمان روبرو را اجرا کنید:alien --scripts [rpm file]
به طور مثال فرمان روبرو:alien --scripts bluejeans-1.37.22.x86_64.rpm
۱۲)ساخت فایل های seed
زمانی که یک دستگاه VMراه اندازی شده است,شما میتوانید یک seed تولید کنید که شامل فایل های نصبی باشد(به یاد داشته باشید که debconf-utilsرا نصب کرده باشید)
- Settings from installation:
debconf-get-selections --installer
- Current settings:
debconf-get-selections
۱۳)را اندازی کردن یکBridge
apt-get install aptitude network-manager -y
aptitude install bridge-utils
systemctl enable NetworkManager
- فایل
/etc/network/interfaces.d/[bridge name]
باید شبیه مورد زیر باشد:
auto [bridge name]
# Bridge setup
iface [bridge name] inet dhcp
bridge_ports [ethernet]
به طور مثال یک bridgeبه bridge0نام گذاری شده است و ethernet به enp1s0:
auto bridge0
iface bridge0 inet dhcp
bridge_ports enp1s0
علاوه بر وارد کردن فرمان های که در بالا به ان ها اشاره کردیم همینطور شما باید فایلetc/network/interfacesرا تعغییر بدهید تا به شکل فایل زیر شود:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
۱۴)فعال کردنwake-on-lan
مطمعن شوید که ethtool
: apt install ethtool
را نصب کرده اید:
auto [bridge name]
# Bridge setup
iface [bridge name] inet dhcp
bridge_ports [ethernet]
/sbin/ethtool -s [ethernet] wol g
بطور مثال در کد زیر یک bridgeبه bridge0نام گذاری شده است و ethernet به enp1s0:
auto bridge0
iface bridge0 inet dhcp
bridge_ports enp1s0
/sbin/ethtool -s enp1s0 wol g
۱۵)tftpd-hpa
اگر سیستم عامل بر روی IPv6در حال اجرا نیست,فایل /etc/default/tftpd-hpaباید مانند فایل زیر باشد:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -4"
عدد -۴در فایل بالا نشان میدهد که شما به سیستم عامل فرمان داده اید تا از IPv4استفاده کند.
در میان فرمان هایی که در بالا نوشته شد,درصد زیادی از ان ها فقط اختصاصی برای دبیان بکار میرفت,در ادامه مطلب ما برای شما تعدادی فرمان برای لینوکس هم جمع اوری کرده ایم.
۱۶)Adduser/Addgroup
فرمان adduserبه شما اجازه میدهد تا به سیستم خود یک کاربر یا یک گروه اضافه کنید,از همین جهت میتوانید به مثال زیر دقت کنید.
$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1003) ...
Adding new user `testuser' (1003) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
۱۷)Cal/Ncal
فرمان Cal/Ncalهر دو برای نمایش دادن تقویم به کار میرود,تفاوت میان این دو فرمان در نحوه نشان دادن ان هاست,هر دوی انها به صورت متفاوت برای شما فایل هارا نمایش خواهند داد.
$ cal
March 2017
Su Mo Tu We Th Fr Sa
۱ ۲ ۳ ۴
۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱
۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸
۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵
۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱
$ ncal
March 2017
Su 5 12 19 26
Mo 6 13 20 27
Tu 7 14 21 28
We 1 8 15 22 29
Th 2 9 16 23 30
Fr 3 10 17 24 31
Sa 4 11 18 25