ฉันจะเพิ่มเคอร์เนล PPA ได้อย่างไร


คำตอบ:


7

หมายเหตุ:ทดสอบ / ดีบักเคอร์เนลเวอร์ชันที่สูงกว่าเคอร์เนลเริ่มต้นของคุณเช่น 3.3, 3.4, 3.5 และอื่น ๆ จะมีให้ผ่านไฟล์ deb เท่านั้นไม่ใช่ผ่าน PPA นี้

คุณอาจต้องการเพิ่ม PPA นี้ซึ่งเป็นหนึ่งเดียวที่แอ็คทีฟที่เคอร์เนลดูแล - ประกอบด้วยเคอร์เนลที่เสนอล่วงหน้าล่าสุดสำหรับแต่ละรีลีส:

ppa:kernel-ppa/pre-proposed

ขอบคุณฉันคิดจริง ๆ พวกเขาจัดหาโดย ppa ข้างต้น ใช่ฉันกำลังมองหาเคอร์เนล 3.5 ตัวล่าสุด
เปาโล Matos

1
@ PauloJ.Matos: คุณสามารถค้นหาไฟล์ deb ที่จำเป็นสำหรับการ 3.5 ใหม่ล่าสุดที่นี่
ish

1
@Bucic: debs มาจากทีมเคอร์เนลของ Ubuntu และ PPA ของคุณมาจากบุคคลที่สาม (xorg-edgers) ฉันเชื่อถืออดีตคนหลัง :)
ish

1
@izx มันไม่เหมือนว่ามันเป็นกลุ่มหมัดที่ไม่มีใครรู้จักคุณรู้ แต่) ฉันเห็นด้วย อัพเกรดเป็นเมล็ดฉีดไม่แนะนำเว้นแต่คุณจะประสบปัญหากับคุณเคอร์เนลปัจจุบัน แต่ถ้าคุณกำลังจะอัพเกรด mainlin ดีขึ้นจะมาจากทีมอูบุนตู :)
Bucic

11
PPA นี้ดูเหมือนจะถูกทิ้งร้าง msgstr "จำนวนแพคเกจ: 0 ซอร์สแพ็กเกจ (0 ไบต์) 0 แพ็คเกจไบนารี (0 ไบต์)" เหลือแค่หน้าkernel.ubuntu.com/~kernel-ppa/mainlineแต่ฉันไม่ต้องการติดตั้งแพ็คเกจที่ไม่ได้รับการตรวจสอบสิทธิ์ ไม่ใช่ HTTPS และไม่มีลายเซ็น GPG สำหรับงานสร้าง ไม่ไปหาฉัน
gertvdijk

5

สำหรับความรู้ของฉันไม่มีทางที่จะเพิ่มลงใน/etc/apt/sources.listไฟล์มีสคริปต์ที่สามารถทำให้งานสำเร็จได้ https://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater

คำสั่งเทอร์มินัล: (แก้ไขข้อมูลที่เป็นปัจจุบันมากขึ้นใน readme ที่ลิงค์ด้านบน)

cd /tmp
git clone git://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
bash Ubuntu-Mainline-Kernel-Updater/install

มันจะตรวจสอบการอัปเดตเมื่อเข้าสู่ระบบ + 60 วินาทีคุณสามารถตรวจสอบการอัปเดตได้ตลอดเวลาโดยการใช้KernelUpdateChecker งาน-hหรือ--helpด้วยความช่วยเหลือ


3

คุณสามารถใช้Ukuu (ซึ่งย่อมาจาก 'Ubuntu Kernel Update Utility') แอพเดสก์ท็อปที่ตรงไปตรงมานี้ช่วยให้คุณติดตั้งเคอร์เนลใหม่ใน Ubuntu, Linux Mint และการกระจายตาม Ubuntu อื่น ๆ โดยใช้เมล็ด“ mainline” ที่เผยแพร่โดย Canonical

การติดตั้ง:

sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get update && sudo apt-get install ukuu

จากนั้นเรียกใช้ "ukuu" จากตัวเริ่มต้นแอปพลิเคชันของคุณและมันจะแสดงให้คุณเห็นเมล็ดที่มีเสถียรภาพทั้งหมดให้เลือก หากคุณต้องการให้ rc-kernels ไม่เสถียรคุณสามารถปิดใช้งานการตั้งค่าสถานะ "hide unstable and RC release" ได้


-3
/*tested code already , 
whipped this right up hope it works for you, it downloads the latest kernel from the daily mainline , 
and checks if its on your sys if not installs it 
tested and working :) simply compile as anything .c with your gcc
download at : [here](http://ubuntuone.com/0mLWYLhGPJlHGFXONz6EcO)
*/
//code below ----------------------
// it doesn’t show the imports so put them as comments to the side for who ever just does 
// copy paste 
#include <stdio.h> //stdio.h
#include <stdlib.h> //stdlib.h
#include <string.h> //string.h

void getpage(void)
{
system("mkdir ./kup;cd ./kup;wget http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/;cat ./index.html|grep -i deb|grep -i linux>>./list;cd ./..");
printf("\n\nwhich archetype would u like to grab \n1: 32 bit\n2: 64bit\n(1/2 1 is default) : ");
char c;
system("uname -i>>./kup/p");
FILE* arch=fopen("./kup/p","r");
c=fgetc(arch);
if(c!='a'){
c=1;}
if(c=='a'){c=2;}
if(c=='2'){
system("cd ./kup;cat ./list|grep -i amd64 >> ./list2;cd ./..");
}
else{
system("cd ./kup;cat ./list|grep -i i386 >> ./list2;cd ./..");
}

system("cd ./kup;cat ./list|grep -i _all >> ./list2;rm -rf ./list;rm -rf ./index.html;cd ./..");

}

int install(void){
printf("\nnow getting ready to check the current kernel install the newest kernel if newer\npress anybtton to continue or q to quit\n");
char c;
c='\n';
if(c=='q'){return 0;}else{
system("dir ./kup>>./kup/test");
char *t=malloc(sizeof(char)*256);
t[0]='d';
t[1]='p';
t[2]='k';
t[3]='g';
t[4]=' ';
t[5]='-';
t[6]='l';
t[7]='|';
t[8]='g';
t[9]='r';
t[10]='e';
t[11]='p';
t[12]=' ';
t[13]='-';
t[14]='i';
t[15]=' ';
int tn=16;
FILE* f2 = fopen("./kup/test","r");
char c;
c=fgetc(f2);
while(c!='_'){
t[tn]=c;
tn++;
c=fgetc(f2);
}

t[tn]='>';
tn++;
t[tn]='>';
tn++;
t[tn]='.';
tn++;
t[tn]='/';
tn++;
t[tn]='k';
tn++;
t[tn]='u';
tn++;
t[tn]='p';
tn++;
t[tn]='/';
tn++;
t[tn]='a';
system(t);
FILE *f3 =fopen("./kup/a","r");

char check;
check = fgetc(f3);
printf("\"%c\"",check);
if(check !='i'){
printf("\nthere is a newer version , press enter key to update\n");
system("sudo dpkg -i ./kup/*deb;rm -rf ./kup;sudo update-grub;");
return 0;
}else{printf("\nyour system is up to date\n\n exiting \n");}
system("rm -rf ./kup");
return 0;
}
}

void download(char* url)
{
char *com=malloc(sizeof(char)*256);
com[0]='c';
com[1]='d';
com[2]=' ';
com[3]='k';
com[4]='u';
com[5]='p';
com[6]=';';
com[7]='w';
com[8]='g';
com[9]='e';
com[10]='t';
com[11]=' ';
int i=12;
int l =1;
while(l==1)
{
com[i]=url[i-12];
if(com[i]=='b'&&com[i-1]=='e'&&com[i-2]=='d'&&com[i-3]=='.'){
l=0;
}
i++;
}
system("rm -rf ./kup/list2;");
system(com);

}

void getkernel(void){
char links[3][256];
//start writing//
links[0][0]='k';
links[0][1]='e';
links[0][2]='r';
links[0][3]='n';
links[0][4]='e';
links[0][5]='l';
links[0][6]='.';
links[0][7]='u';
links[0][8]='b';
links[0][9]='u';
links[0][10]='n';
links[0][11]='t';
links[0][12]='u';
links[0][13]='.';
links[0][14]='c';
links[0][15]='o';
links[0][16]='m';
links[0][17]='/';
links[0][18]='~';
links[0][19]='k';
links[0][20]='e';
links[0][21]='r';
links[0][22]='n';
links[0][23]='e';
links[0][24]='l';
links[0][25]='-';
links[0][26]='p';
links[0][27]='p';
links[0][28]='a';
links[0][29]='/';
links[0][30]='m';
links[0][31]='a';
links[0][32]='i';
links[0][33]='n';
links[0][34]='l';
links[0][35]='i';
links[0][36]='n';
links[0][37]='e';
links[0][38]='/';
links[0][39]='d';
links[0][40]='a';
links[0][41]='i';
links[0][42]='l';
links[0][43]='y';
links[0][44]='/';
links[0][45]='c';
links[0][46]='u';
links[0][47]='r';
links[0][48]='r';
links[0][49]='e';
links[0][50]='n';
links[0][51]='t';
links[0][52]='/';
//done writing//
char c[5];
int l=1;
FILE* file = fopen("./kup/list2","r");
c[0]=fgetc(file);
while(c[0]!=EOF && l ==1)
{
int u=0;
if(c[0]=='h'){
c[1]=fgetc(file);
if(c[1]=='r'){
c[2]=fgetc(file);
if(c[2]=='e'){
c[3]=fgetc(file);
if(c[3]=='f'){
c[4]=fgetc(file);
c[4]=fgetc(file);
int i=53;
c[4]=fgetc(file);
while(c[4]!='\"'){
links[u][i]=c[4];
i++;
c[4]=fgetc(file);
}

download(links[0]);
u++;
if(u==3){
c[0]=EOF;
l=0;
}
}
}
}
}
c[0]=fgetc(file);
}

}

int main(void)
{
getpage();
getkernel();
install();
}

มันจะตรวจสอบบิวด์ปัจจุบันทุกวันปิดเคอร์เนล ubuntu และอัปเดตของคุณหากไม่ได้อัพเดตเวอร์ชั่นที่ถูกลบแล้วไม่จำเป็นต้องป้อนข้อมูลของผู้ใช้ตรวจพบส่วนโค้งของเคอร์เนลปัจจุบัน (32 บิต 64 บิต) ที่นี่ubuntuone.com/0mLWYLhGPJlHGFXONz6EcO
user183601

ตกลงโพสต์ลิงค์ไปที่หนึ่งในอูบุนตูของฉันและเปลี่ยนรหัสที่นี่และเพิ่ม <br> s
user183601

ขอบคุณที่คุณสามารถบอกฉันใหม่เกี่ยวกับเว็บไซต์นี้ได้ให้คำตอบและรหัสและเพิ่มว่าตอนนี้
user183601

อัปเดต: ในลิงก์เปลี่ยนให้ใช้ uname -v แทนที่จะเป็น uname -r เพื่อตรวจสอบกับอันอื่นในการอัปเดตล่าสุดนี้ไม่ได้อัปเกรดคนอื่นทำอย่างนั้นตอนนี้มันจะ :)) แก้ไขมันในส่วนนั้น :) และถ้าคุณ ใช้ ubuntu 13.04 32 บิตคิดว่ามันอาจเข้ากันได้ b รับ binary จากubuntuone.com/3cwJte3KtfNNnGcrMcnl6B
user183601

9
เหตุใดในโลกนี้โปรแกรม C ที่เรียกใช้system(3)แทนที่จะเป็นเชลล์สคริปต์ O_o
liyang
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.