.. _acl: acl +++ ACL (Access Control List), dosya ve sistemlerde kimlerin hangi işlemleri yapabileceğini belirleyen bir yapıdır. Erişim kontrolü daha düzenli ve güvenli hale gelir. ACL, özellikle coreutils gibi temel sistem araçlarının doğru çalışması için gerekli olan bileşenlerden biridir. Derleme -------- Debian ortamında bu paketin derlenmesi için; **sudo apt install libattr1-dev** komutuyla paketin kurulması gerekmektedir. .. code-block:: bash #-------------------------------------------------------------------------------------------------------------------- #!/usr/bin/env bash name="acl" version="2.3.1" description="The acl package contains utilities to administer Access Control Lists" source="https://download.savannah.nongnu.org/releases/acl/acl-$version.tar.xz" depends="attr" display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -1)" # Display adı user=$(who | grep "(${display})" | awk '{print $1}') # Display kullanıcısı ROOT="/home/$user/distro" ROOTBUILDDIR="$ROOT/build" # Derleme dizini BUILDDIR="$ROOT/build/build-${name}-${version}" # Alt dizin DESTDIR="$ROOT/rootfs" # Yükleme dizini PACKAGEDIR=$(pwd) # Paket dizini SOURCEDIR="$ROOT/build/${name}-${version}" # Kaynak dizini initsetup(){ mkdir -p $ROOTBUILDDIR #derleme dizini yoksa oluşturuluyor rm -rf $ROOTBUILDDIR/* #içeriği temizleniyor cd $ROOTBUILDDIR #dizinine geçiyoruz wget ${source} #isimde boşluk varsa silme işlemi yapılıyor for f in *\ *; do mv "$f" "${f// /}"; done dowloadfile=$(ls|head -1) filetype=$(file -b --extension $dowloadfile|cut -d'/' -f1) if [ "${filetype}" == "???" ]; then unzip ${dowloadfile}; \ else tar -xvf ${dowloadfile};fi director=$(find ./* -maxdepth 0 -type d) directorname=$(basename ${director}) if [ "${directorname}" != "${name}-${version}" ]; \ then mv $directorname ${name}-${version};fi mkdir -p $BUILDDIR&&mkdir -p $DESTDIR&&cd $SOURCEDIR } setup(){ ./configure --prefix=/usr --libdir=/usr/lib64 } build(){ make } package(){ make install DESTDIR=$DESTDIR ${DESTDIR}/sbin/ldconfig -r ${DESTDIR} # sistem guncelleniyor } initsetup # initsetup fonksiyonunu çalıştırır ve kaynak dosyayı indirir setup # setup fonksiyonu çalışır ve derleme öncesi kaynak dosyaların ayalanması sağlanır. build # build fonksiyonu çalışır ve kaynak dosyaları derlenir. package # package fonksiyonu çalışır, yükleme öncesi ayarlamalar yapılır ve yüklenir. **Paket Derleme Yöntemi** konusunda anlatıldığı gibi derleme işlemini yapınız. .. raw:: pdf PageBreak