Yanıtlar:
Sistem dizinlerine yerel kurulum yapmaktan kaçının. Sistem dizinleri, örneğin /usr
, paket yönetim sisteminin kullanması için ayrılmıştır. Tanım olarak, bunu yapıyorsanız make install
, yerel bir kurulum yaptığınız anlamına gelir ve bunu yapmanız gerekiyorsa sudo make install
, yazdığınız her yerde izniniz olmadığı anlamına gelir.
Bu nedenle, ile ilgili hata hataları alıyorsanız make install
, sistem dizinlerine kurmaya çalışıp çalışmadığınızı kontrol edin ve /usr/local
bunun yerine veya benzeri bir yere yükleyin . /usr/local
yerel kurulumlar için ayrılmıştır. Yazmak için kendinize izin vermeniz gerekebilir /usr/local
, ancak bu genellikle kolayca yapılır. Debian'da bu, kendinizi staff
gruba ekleyerek yapılabilir . Daha da iyisi, bir ikili paket bulun veya oluşturun ve bunun yerine yükleyin. Bu şekilde kurulu paketleri kolayca takip edebilir ve paket yönetiminin diğer avantajlarını elde edebilirsiniz.
Paket yönetim sisteminin /usr/local
FHS uyarınca tersine kurulmadığını unutmayın. Genel bir bakış için Debian Politika Kılavuzu- Dosya sistemi hiyerarşisinde Bölüm 9.1'e bakınız .
İşte komutların temel bir özeti soru:
Sudo komutu root olarak ilettiğiniz komutu çalıştırdığından, make komutunun süper kullanıcı ayrıcalıklarına sahip olduğu anlamına gelir. Başka bir deyişle, makefile kötü amaçlıysa veya çağırabileceği komut dosyalarından herhangi biri kötü amaçlıysa, sisteminizin güvenliğini aşabilir.
Kısacası, yazılıma güvenmiyorsanız, yüklemeyin. Yazılıma güveniyorsanız, root olarak çalışmak hiçbir şeye zarar vermemelidir.
Not:
sudo make install
aynıdır su; make install
çoğu durumda.
Yukarıda yanıtlandığı gibi, sudo make install
dosyaları kullanıcı olarak size salt okunur olan dizinlere yüklemenizi sağlar.
Tahmin edebileceğim sorun, daha sonraki bir tarihte programı kaldırmak veya yükseltmek isteyebileceğinizdir. Hala kaynak kodu dizin ağacınız make uninstall
varsa, o zaman sizin için programı kaldıracaktır, ancak diğer birçok tipik kullanıcı gibi, kaynak kodu dizin ağacını sildiyseniz, şansınız kalmaz. Programı bir paket yönetim sistemi kullanarak yüklemediğiniz için, programı bu şekilde kaldıramayabilirsiniz.
Bu tür programları kurmanın en iyi yolu, onları ana dizininize kurmak olabilir. Seçeneği geçirin --prefix=/home/<user>/<some>/<directory>
için ./configure
. Bu kullanmanızı sağlayacak make install
yerine sudo make install
beri /home/<user>/<some>/<directory>
sizin tarafından yazılabilir olduğunu. Ayrıca kaldırma çok kolaydır.rm -rf /home/<user>/<some>/<directory>