เช เชชเซเชธเซเชเชฎเชพเช, เช เชฎเซ เชเช เชธเชฐเชณ inotify + createrepo เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ rpm เชเชฐเซเชเชฟเชซเซเชเซเช เชฐเซเชชเซเชเซเชเชฐเซ เชเซเชเชถเซเช. apache httpd เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเซเชฌเชกเซเชต เชฆเซเชตเชพเชฐเชพ เชเชฒเชพเชเซเชคเชฟเช เช เชชเชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชถเชพ เชฎเชพเชเซ apache httpd เชชเซเชธเซเชเชจเชพ เช เชเชคเชฎเชพเช เชฒเชเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชคเซเชฅเซ, เชธเซเชฒเซเชฏเซเชถเชจ เชฎเชพเชคเซเชฐ RPM เชธเซเชเซเชฐเซเช เชเซเช เชตเชตเชพ เชฎเชพเชเซ เชจเซเชเซเชจเซ เชเชตเชถเซเชฏเชเชคเชพเชเชจเซ เชชเซเชฐเซเชฃ เชเชฐเซ เชเซ:
-
เชฎเชซเชค
-
เชเชฐเซเชเชฟเชซเซเชเซเช เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เช เชชเชฒเซเชก เชเชฐเซเชฏเชพ เชชเชเซ เชฅเซเชกเซเช เชธเซเชเชจเซเชกเซเชฎเชพเช เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเช เชชเซเชเซเชเชจเซ เชเชชเชฒเชฌเซเชงเชคเชพ.
-
เชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เช เชจเซ เชเชพเชณเชตเชตเชพ เชฎเชพเชเซ เชธเชฐเชณ
-
เชเชเซเช เชเชชเชฒเชฌเซเชงเชคเชพ เชฌเชจเชพเชตเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ
เชเซเชฎ เชจเชนเชฟ
SonaType Nexus เช เชฅเชตเชพเชชเชฒเซเชช : -
เชฎเชพเช เชธเชเชเซเชฐเชน
SonaType Nexus เช เชฅเชตเชพเชชเชฒเซเชช เชเชฃเชพ เชชเซเชฐเชเชพเชฐเชจเซ เชเชฒเชพเชเซเชคเชฟเช เช เชนเชเซเชเชค เชคเชฐเชซ เชฆเซเชฐเซ เชเชพเชฏ เชเซSonaType Nexus เช เชฅเชตเชพเชชเชฒเซเชช เชจเชฟเชทเซเชซเชณเชคเชพเชจเซ เชเช เชฌเชฟเชเชฆเซ เชฌเชจเซ. -
เชฎเชพเช เชเชเซเช เชเชชเชฒเชฌเซเชงเชคเชพ
SonaType Nexus เชเซเชเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. -
เชชเชฒเซเชช เชฎเชพเชฐเชพ เชฎเชพเชเซ เชเชตเชฐ-เชเชจเซเชเชฟเชจเชฟเชฏเชฐเซเชก เชธเซเชฒเซเชฏเซเชถเชจ เชเซเชตเซเช เชฒเชพเชเซ เชเซ. -
เชฎเชพเช เชเชฒเชพเชเซเชคเชฟเช
SonaType Nexus เชฌเซเชฒเซเชฌเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค. เช เชเชพเชจเช เชชเชพเชตเชฐ เชเชเชเซเชเชจเซ เชเชเชจเชพเชฎเชพเช, เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชฌเซเชเช เชช เชจ เชนเซเชฏ เชคเซ เชคเชฎเซ เชฌเซเชฒเซเชฌเชจเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชถเชเชถเซ เชจเชนเซเช. เช เชฎเชพเชฐเซ เชชเชพเชธเซ เช เชญเซเชฒ เชนเชคเซ:ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM [com.orientechnologies.orient.core.storage](http://com.orientechnologies.orient.core.storage/).fs.OFileClassic - $ANSI{green {db=security}} Error during data read for file 'privilege_5.pcl' 1-th attempt [java.io](http://java.io/).IOException: Bad address
. เชฌเซเชฒเซเชฌ เชเซเชฏเชพเชฐเซเชฏ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ เชจ เชนเชคเซ.
เชธเซเชฐเซเชค
โ เชธเซเชคเซเชฐเซเชค เชเซเชก เชธเซเชฅเชฟเชค เชฅเชฏเซเชฒ เชเซ
เชฎเซเชเซเชฏ เชธเซเชเซเชฐเชฟเชชเซเช เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
#!/bin/bash
source /etc/inotify-createrepo.conf
LOGFILE=/var/log/inotify-createrepo.log
function monitoring() {
inotifywait -e close_write,delete -msrq --exclude ".repodata|.olddata|repodata" "${REPO}" | while read events
do
echo $events >> $LOGFILE
touch /tmp/need_create
done
}
function run_createrepo() {
while true; do
if [ -f /tmp/need_create ];
then
rm -f /tmp/need_create
echo "start createrepo $(date --rfc-3339=seconds)"
/usr/bin/createrepo --update "${REPO}"
echo "finish createrepo $(date --rfc-3339=seconds)"
fi
sleep 1
done
}
echo "Start filesystem monitoring: Directory is $REPO, monitor logfile is $LOGFILE"
monitoring >> $LOGFILE &
run_createrepo >> $LOGFILE &
เชธเซเชฅเชพเชชเชจ
inotify-createrepo เชฎเชพเชคเซเชฐ CentOS 7 เช เชฅเชตเชพ เชเชเซเช เชชเชฐ เชเชพเชฎ เชเชฐเซ เชเซ. CentOS 6 เชชเชฐ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชจเซ เชฎเชณเซ เชถเชเซเชฏเซเช เชจเชฅเซ.
yum -y install yum-plugin-copr
yum copr enable antonpatsev/inotify-createrepo
yum -y install inotify-createrepo
systemctl start inotify-createrepo
เชฐเซเชชเชฐเซเชเชพเชเชเชจ
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ inotify-createrepo เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเซ เชเซ /var/www/repos/rpm-repo/
.
เชคเชฎเซ เชซเชพเชเชฒเชฎเชพเช เช เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเชฆเชฒเซ เชถเชเซ เชเซ /etc/inotify-createrepo.conf.
เชเชชเชฏเซเช เชเชฐเซ
เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชเซเชเชชเชฃ เชซเชพเชเชฒ เชเชฎเซเชฐเชคเซ เชตเชเชคเซ /var/www/repos/rpm-repo/
inotifywait เชซเชพเชเชฒ เชฌเชจเชพเชตเชถเซ /tmp/need_create
. run_createrepo เชซเชเชเซเชถเชจ เช
เชจเชเชค เชฒเซเชชเชฎเชพเช เชเชพเชฒเซ เชเซ เช
เชจเซ เชซเชพเชเชฒเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเซ เชเซ /tmp/need_create
. เชเซ เชซเชพเชเชฒ เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ, เชคเซ เชเชฒเชพเชตเซ createrepo --update
.
เชซเชพเชเชฒเชฎเชพเช เชเช เชเชจเซเชเซเชฐเซ เชฆเซเชเชพเชถเซ:
/var/www/repos/rpm-repo/ CREATE nginx-1.16.1-1.el7.ngx.x86_64.rpm
start createrepo 2020-03-02 09:46:21+03:00
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
finish createrepo 2020-03-02 09:46:22+03:00
เชเชเซเช เชเชชเชฒเชฌเซเชงเชคเชพ เชฌเชจเชพเชตเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ
เชนเชพเชฒเชจเชพ เชธเซเชฒเซเชฏเซเชถเชจเชฎเชพเชเชฅเซ เชเชเซเช เชเชชเชฒเชฌเซเชงเชคเชพ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เชคเชฎเซ 2 เชธเชฐเซเชตเชฐเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ, HA เชฎเชพเชเซ Keepalived เช
เชจเซ เชเชฐเซเชเชฟเชซเซเชเซเช เชธเชฟเชเชเซเชฐเซเชจเชพเชเชเซเชถเชจ เชฎเชพเชเซ Lsyncd.
เชตเซเชฌเชกเซเชต
เชซเชพเชเชฒเซ เช เชชเชฒเซเชก เชเชฐเชตเชพเชจเซ เชเชฃเซ เชฐเซเชคเซ เชเซ: SSH, NFS, WebDav. WebDav เชเชงเซเชจเชฟเช เช เชจเซ เชธเชฐเชณ เชตเชฟเชเชฒเซเชช เชฒเชพเชเซ เชเซ.
WebDav เชฎเชพเชเซ, เช เชฎเซ Apache httpd เชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เชถเชพ เชฎเชพเชเซ 2020 เชฎเชพเช เช เชชเชพเชเซ httpd เช เชจเซ nginx เชจเชนเซเช?
เชนเซเช Nginx + เชฎเซเชกเซเชฏเซเชฒเซเชธ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, Webdav) เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเซเชตเชเชพเชฒเชฟเชค เชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซเช.
Nginx + เชฎเซเชกเซเชฏเซเชฒเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเช เชชเซเชฐเซเชเซเชเซเช เชเซ -
เชฎเซเช เชเซเชเชเชตเชพเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเซ
เชฐเซเชชเชฐเซเชเชพ webdav.conf
DavLockDB /var/www/html/DavLock
<VirtualHost localhost:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
Alias /rpm /var/www/repos/rpm-repo
<Directory /var/www/repos/rpm-repo>
DAV On
Options Indexes FollowSymlinks SymLinksifOwnerMatch IncludesNOEXEC
IndexOptions NameWidth=* DescriptionWidth=*
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เชคเชฎเซ เชฌเชพเชเซเชจเซ Apache httpd เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชพเชคเซ เชเชฐเชถเซ.
เช เชชเชพเชเซ httpd เชจเซ เชธเชพเชฎเซ Nginx
เช เชชเชพเชเซเชฅเซ เชตเชฟเชชเชฐเซเชค, Nginx เชเชตเซเชจเซเช-เชเชงเชพเชฐเชฟเชค เชตเชฟเชจเชเชคเซ เชชเซเชฐเซเชธเซเชธเชฟเชเช เชฎเซเชกเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ, เชเซเชจเซ เช เชฐเซเชฅ เชเซ เชเซ เชเซเชเชชเชฃ เชธเชเชเซเชฏเชพเชฎเชพเช เชเซเชฒเชพเชฏเชเช เชฎเชพเชเซ เชฎเชพเชคเซเชฐ เชเช HTTP เชธเชฐเซเชตเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเซเชฐเซ เชเซ. เชคเชฎเซ nginx เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ เช เชจเซ เชธเชฐเซเชตเชฐ เชฒเซเชก เชเชเชพเชกเซ เชถเชเซ เชเซ.
nginx-front.conf เชฐเซเชชเชฐเซเชเชพ. เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เชคเชฎเซ เชฌเชพเชเซเชจเซเช nginx เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชพเชคเซ เชเชฐเชถเซ.
upstream nginx_front {
server localhost:80;
}
server {
listen 443 ssl;
server_name ะฒะฐั-ะฒะธัััะฐะปัะฝัั
-ั
ะพัั;
access_log /var/log/nginx/nginx-front-access.log main;
error_log /var/log/nginx/nginx-front.conf-error.log warn;
location / {
proxy_pass http://nginx_front;
}
}
เชตเซเชฌเชกเซเชต เชฆเซเชตเชพเชฐเชพ เชซเชพเชเชฒเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ เชฐเชนเซเชฏเชพเช เชเซเช
เชเชฐเชชเซเชเชฎ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเซเช เชเซเชฌ เช เชธเชฐเชณ เชเซ.
curl -T ./nginx-1.16.1-1.el7.ngx.x86_64.rpm https://ะฒะฐั-ะฒะธัััะฐะปัะฝัะน-ั
ะพัั/rpm/
เชธเซเชฐเซเชธ: www.habr.com