จะลบ cuda-9.0 และติดตั้ง cuda-8.0 แทนได้อย่างไร?


17

ฉันกำลังติดตั้ง CUDA สำหรับการใช้งาน TensorFlow

ฉันรู้ว่า cuda-9.0 เพิ่งเปิดตัวในวันนี้และฉันบังเอิญดาวน์โหลดและ dpkged และติดตั้งลงในเครื่องของฉัน

ฉันรู้ว่า cuda-9.0 ยังไม่รองรับ TensorFlow ดังนั้นฉันต้องถอนการติดตั้งด้วย:

sudo apt autoremove cuda

ซึ่งลบทุกอย่าง แต่ตอนนี้เมื่อใดก็ตามที่ฉันพยายามติดตั้ง cuda-8.0 หลังจากดาวน์โหลดและdpkgติดตั้งฉันจะติดตั้ง cuda-9.0 แทน

ตอนนี้ฉันรู้ว่าฉันสามารถแก้ไขได้ด้วย:

sudo apt-get install cuda-8-0

แต่ฉันต้องติดตั้ง patch ซึ่งไม่สามารถทำได้ด้วยวิธีนี้

ฉันได้ลองหลายวิธีในการแก้ไขปัญหานี้:

  1. sudo apt-get remove cuda-9-0-blablal
  2. การลบ apt-key ของ cuda-9 ด้วย:
    • apt-key del [KEY]

แต่สิ่งเหล่านี้ไม่ได้ผลจริงๆ

มีคนช่วยฉันได้ไหม

UPDATE

หลังจากโพสต์สิ่งนี้ฉันก็พบคำตอบซึ่งกลายเป็นเรื่องง่าย

ฉันปล่อยให้คนอื่น:

ฉันสามารถแก้ไขได้อย่างง่ายดายโดยการลบสิ่ง cuda-9 ออก /etc/apt/sources.list.d/cuda-9-0-local.list

ปรับปรุง 2 และตอนนี้ฉันมีปัญหาอื่นซึ่งหลังจาก

sudo dpkg -i cuda-8-0-blabla

ไม่ปรากฏในsources.list.dอีกต่อไป


1
ที่จริงแล้วฉันสามารถแก้ไขได้อย่างง่ายดายโดยการลบสิ่ง cuda-9 ออกจาก/etc/apt/sources.list.d/cuda-9-0-local.list
Jay Shin

คำตอบ:


18

ฉันได้รับปัญหาเดียวกันและจัดการเพื่อแก้ไข การสังเกตครั้งแรกคือรายการที่เกี่ยวข้องกับ cuda-8 ใน source.list.d / ถูกคอมเม้นต์ แต่การลบสิ่งเหล่านี้และทำ dpkg - ติดตั้ง repo cuda-8 ไม่ได้ repopulate แหล่งที่มารายการ / รายการ สิ่งที่ได้ผลคือการล้างการติดตั้ง 'dpkg' (/ var / cuda *) ด้วยตนเองและทำ 'dpkg - install' อีกครั้ง

เป็นขั้นเป็นตอน:

  • dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 sudo dpkg --purge
  • dpkg --install cuda-repo-ubuntu*-8.0-local*.deb
  • sudo apt-get update
  • sudo apt-get install cuda

1
ฉันต้องทำก่อน sudo apt-get --purge ลบ cuda และ sudo apt autoremove เพื่อลบ Cuda 9. จากนั้นฉันติดตั้ง Cuda 8
Abhijay Ghildyal

ฉันเดา cuda-repo สำหรับทุกรุ่นเหมือนกันเพราะเมื่อฉันทำ "sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb" จากนั้น "sudo apt-get instll cuda" ยัง
dashesy

1
ต้องใช้ "apt-get install cuda-8.0" ไม่เช่นนั้น cuda-9 จะถูกเลือกเสมอ
dashesy

ช่วยชีวิตฉันไว้!!
คำต่อไป

4

ในความเป็นจริงมีสคริปต์/usr/local/cuda-9.x/bin/ที่ดำเนินการถอนการติดตั้งสำหรับคุณ


1
ชื่อของสคริปต์คืออะไร?
Magick

@Magick ฉันเชื่อว่ามันควรจะเป็นแบบ/usr/local/cuda-9.2/bin/uninstall_cuda_9.2.plนี้ นั่นคือสิ่งที่ลิงค์นี้บอก แต่ฉันไม่มีไฟล์นี้เอง
โอลิเวียนกกระสา

3

https://devtalk.nvidia.com/default/topic/1024342/cuda-setup-and-installation/unable-to-uninstall-cuda-9-0-completely-and-install-8-0-instead/

มันใช้งานได้สำหรับฉัน มันอาจเป็นประโยชน์สำหรับคุณเช่นกัน


ในที่สุดฉันติดตั้ง Ubuntu ใหม่
Jay Shin

สิ่งนี้ควรจัดให้มีคำสั่งจริงในคำตอบที่ไม่ได้อยู่ในลิงค์ ไม่ว่าโซลูชันจะดีแค่ไหนก็สามารถเข้าถึงได้อย่างเต็มที่จากภายใน SO
Eypros

2

ฉันต้องเพิ่ม "--force-all" ลงในคำสั่งล้างข้อมูล:

dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 sudo dpkg --purge --force-all

2

คำสั่งดังกล่าว

sudo apt-get install cuda-8-0

อาจจะทำงานได้ แต่ไม่ได้อีกต่อไป! คุณต้องเปลี่ยนเป็นบรรทัดต่อไปนี้ - มันเป็นความแตกต่างที่ตรวจไม่พบเกือบ:

sudo apt-get install cuda-8.0

ตอนจบไม่ใช่ "-0" แต่ ".0"!


1

ตอบโดย @Beef ก่อนหน้านี้:

  1. dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 sudo dpkg --purge
  2. dpkg --install cuda-repo-ubuntu*-8.0-local*.deb
  3. sudo apt-get update
  4. sudo apt-get install cuda

มันไม่ทำงานตอนนี้ ฉันรู้ว่าขั้นตอนที่ 1 ไม่ได้ลบ cuda อย่างสมบูรณ์ ฉันยังต้องทำ:

  • sudo apt-get remove cuda-* เพื่อลบcuda-9-1เวอร์ชันของฉันและอื่น ๆ

นอกจากนี้เมื่อคุณใช้รุ่นdeb (เครือข่าย)หรือ deb (local) ในการทำ:

sudo apt-get install cuda

มันแสดงรายการ cuda-9-1 ของไดรเวอร์ล่าสุด อ้างถึงที่นี่

ขั้นตอนที่ 4 ในคำแนะนำที่แสดงโดย @beef ควรแทน:

sudo apt-get install cuda-8-0

1

วิธีที่เป็นทางการคือการเรียกใช้สคริปต์ถอนการติดตั้ง:

นำมาจากเอกสารของ nVidia:

4.6 ถอนการติดตั้ง

ในการถอนการติดตั้ง CUDA Toolkit ให้เรียกใช้สคริปต์การถอนการติดตั้งที่ระบุในไดเรกทอรีช่องเก็บของชุดเครื่องมือ โดยค่าเริ่มต้นไปที่/usr/local/cuda-9.1/binและเรียกใช้

$ sudo ./uninstall_cuda_9.1.pl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.