Senkronizasyon sorunlarını giderme ve düzeltme

Bu sayfada, repo sync komutunu kullanın.

Ağ sorunlarını düzelt

Bu bölümde, aşağıda belirtilen ağ sorunlarını çözmeye yönelik öneriler sunulur: senkronizasyonların başarısız olmasına yol açar.

Kota engellerini önlemek için kimlik doğrulaması kullanma

Sunucuları aşırı kullanıma karşı korumak için, kullanılan her IP adresi erişim kaynağı bir kotayla ilişkilendirilmiş.

Bir IP adresini diğer kullanıcılarla paylaşırken (ör. kaynağa erişirken) NAT güvenlik duvarının ötesinde depoladığınız veri depoları için kotalar normal belirler. Örneğin, birkaç kullanıcı yeni istemciler senkronize ettiğinde kota tetiklenebilir. Kısa bir süre içinde aynı IP adresinden

Kotaların tetiklenmesini önlemek için kimliği doğrulanmış erişim kullanabilirsiniz. her kullanıcı için ayrı kota eklemeniz gerekir.

Kimlik doğrulaması yapılmış erişimi etkinleştirmek için:

  1. Şifre oluşturma aracını kullanarak bir şifre oluşturun.

  2. İstemcinizi otomatik reklam kullanılacak şekilde dönüştürmek için aşağıdaki komutu çalıştırın: kimlik doğrulama (dal değiştirmeden):

    $ repo init -u https://android.googlesource.com/a/platform/manifest
    

    /a/ dizin önekinin otomatik kimlik doğrulamayı tetiklediğini unutmayın.

Proxy kullanımını yapılandır

Bazı tarayıcılarda yaygın olduğu gibi, kaynağı bir proxy'nin arkasından indiriyorsanız kullanıyorsanız, Repo'nun kullanması için özel bir proxy şu komutları çalıştırarak yapabilirsiniz:

$ export HTTP_PROXY=http://proxy_user_id:proxy_password@proxy_server:proxy_port
$ export HTTPS_PROXY=http://proxy_user_id:proxy_password@proxy_server:proxy_port

Bağlantı sorunlarını önlemek için TCP/IP ayarlarını düzenleme

Nadiren de olsa, Linux istemcileri aşağıdaki gibi bağlantı sorunlarıyla karşılaşabilir: nesne alırken indirmelerin ortasında takılıp kalmamak. İyileştirmek için TCP/IP yığınının ayarlarını değiştirin veya paralel olmayan bağlantılar. TCP ayarını değiştirmek için kök erişiminizin olması gerekir. ayarını yaptıktan sonra aşağıdaki komutları verin:

$ sudo sysctl -w net.ipv4.tcp_window_scaling=0
$ repo sync -j1

Ağ gecikmesini önlemek için yerel yansıtma kullanın

Birden fazla istemci kullanırken sunucunun tamamının yerel bir yansıtmasını oluşturabilirsiniz. bu aynadaki içeriği senkronize edebilir ve istemcileri ağ. Şu konumda yerel ayna oluşturmak için bu talimatları uygulayın: ~/aosp-mirror/ ve istemcileri bu yansıtmayla senkronize edin:

  1. Aynayı oluşturun ve senkronize edin:

    $ mkdir -p /usr/local/aosp/mirror
    $ cd /usr/local/aosp/mirror
    $ repo init -u https://android.googlesource.com/mirror/manifest --mirror
    

    Bu komutlar /user/local/aosp/mirror içinde bir yerel yansıtma oluşturur ve repo init ile --mirror işaretini kullanarak yansıtmayı başlatın komutuna dokunun.

  2. İstemcileri yansıtmadan senkronize etmek için:

    $ mkdir -p /usr/local/aosp/main
    $ cd /usr/local/aosp/main
    $ repo init -u /usr/local/aosp/mirror/platform/manifest.git
    $ repo sync
    
  3. Son olarak, yansıtmayı sunucuyla senkronize etmek ve istemciyi yansıtmayla senkronize etmek için şu komutları izleyin:

    $ cd /usr/local/aosp/mirror</code>
    $ repo sync
    $ cd /usr/local/aosp/main
    $ repo sync
    

Yansıtmayı bir LAN sunucusunda depolamak ve NFS, SSH veya Git olarak bilinir. Ayrıca çıkarılabilir bir sürücüde saklayarak otomatik olarak devreye girer.

Kısmi klon kullan

Git 2.19 veya sonraki bir sürümü kullanıyorsanız şunu belirtin: --partial-clone düşük gecikmeli ağ sorunlarının üstesinden gelmek için repo init performansı:

  $ repo init -u https://android.googlesource.com/platform/manifest -b main --partial-clone --clone-filter=blob:limit=10M

Bu komut, her şeyi indirmek için Repo'yu başlatmak yerine Git'i indirir uygun şekilde düzenlemelisiniz.

Belirli senkronizasyon sorunlarını düzeltme

Bu sayfada Android kaynak kodu.

Komutlar 403 veya 500 hatasıyla başarısız oluyor (proxy sorunları)

repo init veya repo sync komutları 403 veya 500 koduyla başarısız olabilir hatası. Bu hatalar genellikle büyük veri aktarımlarını nasıl yöneteceğini öğreteceğim.

Bu hataların belirli bir düzeltmesi olmasa da sürümünü kullanmak ve açıkça repo sync -j1 kullanmak bazen işe yarayabilir.