برای انجام کاری لازم بود لیستی از سرورها ساخته شوند و سپس به صورت مرتب فایلها روی سرورها ارسال گردند.
برای اینکار از مفهوم زیر ایده گرفتم که اصل آنرا در اینجا میاورم
حالت اول، در این وضعیت هر خط در لیست به عنوان یک عضو در نظر گرفته می شود
اصطلاحا به آن with whitesapce گفته میشود.
listOfNames="RA
RB
R C
RD"
# To allow for other whitespace in the string:
# 1. add double quotes around the list variable, or
# 2. see the IFS note (under 'Side Notes')
for databaseName in "$listOfNames" # <-- Note: Added "" quotes.
do
echo "$databaseName" # (i.e. do action / processing of $databaseName here...)
done
# Outputs
# RA
# RB
# R C
# RD
without whitespace در اینحالت مشاهده میکنید که خط سوم لیست به صورت دو عضو سوا در نظر گرفته شده است.
listOfNames="RA
RB
R C
RD"
for databaseName in $listOfNames # Note: No quotes
do
echo "$databaseName" # (i.e. do action / processing of $databaseName here...)
done
# Outputs
# RA
# RB
# R
# C
# RD
یک مشکلی که گاهی میتونه پیش بیاد، مشکل فعال بودن selinux هستش
این سرویس که برای بالابردن امنیت کاربرد داره خودش میتونه مشکلات متعددی رو به وجود بیاره.
من تصمیم به غیر فعال کردن اون دارم، در حال حاظر، اما مشکل موقعی به وجود اومد که این سرویس فعال بود و در تنظیمات اولیه هیچ گونه مشکلی با سرویس vsftpd نداشتم تا اینکه همکارها زنگ زدند که فایلها رو روی سرور ftp میبینن اما نمیتونن اونها رو بردارن
در جستجو به دنبال دلیل firewall رو غیر فعال کردم اما مشکل حل نشد، سرویس vsftpd رو رستارت کردم، اما بازهم تغییری رخ نداد
سپس فایل xferlog رو دیدم، مطلب خاصی در اون نبود.
یک سطر از اون فایل شکل زیر رو داره
Wed Dec 31 11:35:32 2014 1 requestingIP userid path b _ o a 13123424 ftp 0 * i
اما مشکل خودش رو در فایل messages نشون داد، جستجو به دنبال vsftpd نشون داد که
Dec 31 11:35:07 *********setroubleshoot: SELinux is preventing /usr/sbin/vsftpd from read access on the file . For complete SELinux messages. run sealert -l *************************
به هر صورت، راه حل اولیه من که مشکل رو حل کرد غیر فعال کردن selinux بود، این رو دز پست روش disabled کردن SELinux در فدورا توضیح داده ام.
دستور زیر فایلها و فولدر ها را در لینوکس نمایش میدهد
for d in *; do
echo $d
done
به صورت زیر تنها فولدرها نمایش داده می شوند
for d in */ ; do
echo "$d"
done
نکته اساسی: می توان به جای دستور echo سایر دستورات را به کار برد
ابتدا باید tiger-vncserver را نصب نماییم
توجه کنید که نصب بودن یک محیط گرافیکی اولیه نظیر Genome الزامی است
yum install tigervnc-server |
پس از نصب سرویس vncserver را به لیست سرویس ها اضافه میکنیم.
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service |
vi /etc/systemd/system/vncserver@:1.service |
فایل /etc/systemd/system/vncserver@:1.service/ را ادیت کرده و در بخش service به جای <USER> نام کاربر را وارد نمایید
[Service] Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" PIDFile=/home/<USER>/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' |
فرض شده کاربر majid در سیستم موجود بوده است
[Service]
|
می بایست فایروال را تنظیم کنید، در اینجا firewalld پیش فرض CentOS-7 استفاده شده است.
firewall-cmd --permanent --zone=public --add-service vnc-server firewall-cmd --reload |
حال می بایست به شناسه majid رفته و در آنجا vncserver را اجرا نماییم
su - majid vncserver exit |
سپس دوباره به شناسه root برگشته و سرویس vncserver را فعال و اجرا می نماییم.
systemctl daemon-reload |
systemctl enable vncserver@:1.service |
systemctl start vncserver@:1.service |
سپس با استفاده از یک vncclient به سرور فوق متصل میشویم.
سیستم فایل عملیات لازم برای ذخیره و بازیابی فایلها از روی رسانه فیزیکی را به ما می دهد
برای اینکه CentOS 5 بتواند سیستم فایل reiserfs را پشتیبانی نماید لازم است اقدامات زیر صورت پذیرد
ابتدا در مخزن CentOS-Base.repo ، زیر بخش centosplus را فعال میکنیم
cd /etc/yum.repos.d/ vi CentOS-Base.repo --> Find [centosplus] section Change or add enabled=0 --> enabled=1 |
حال CentOS5 از مخزن centosplus نیز استفاده میکند
هدف از فعال کردن این بخش نصب کرنل CentOS با ویژگی هایی بیشتر از حالت معمولی است.
سپس دستورات زیر را وارد می نماییم
yum install reiserfs-utils kernel |
در پست قبلی توضیح دادم که چگونه می توان فایل سیستم های فعال در لینوکس را مشاهده کرد،
پس از نصب برنامه های ذکر شده سرور بایستی مجددا راه اندازی ، ریبوت، شود و می توانید پس از بالا امدن سرور دوباره سیستم فایل های فعال را مشاهده و نصب شدن reiserfs-utils را ملاحظه کنید.